Skip to content

Remove the unused OpenAI and ImGui.NET packages and the no-op "Generate Tests" / "Generate Documentation Comments" menu items #447

Description

@matt-edmondson

What's wrong

The OpenAI feature started in #31 was commented out, but several pieces of it are still in the app:

Leftover Where Effect
<PackageReference Include="OpenAI" /> ProjectDirector/ProjectDirector.csproj:29, Directory.Packages.props:27 Nothing uses it. using OpenAI.Chat; and every ChatClient line are commented out (ProjectDirector.cs:21, 59, 82, 2166-2187). Dependabot has still opened about 17 PRs to bump it (e.g. #413, #376, #341).
<PackageReference Include="ImGui.NET" /> ProjectDirector.csproj:15, Directory.Packages.props:8 The app uses Hexa.NET.ImGui, and nothing in the source references ImGuiNET.
"Generate Tests" and "Generate Documentation Comments" ProjectDirector.cs:2155-2163, in the right-click menu on any .cs file in the repo browser Both are if (ImGui.Selectable(...)) { } with empty bodies. Clicking either one closes the menu and does nothing: no log line, no message.
OpenAIToken ProjectDirectorOptions.cs:14, 67 A secret persisted in the plain-text options JSON, which is the file CLAUDE.md says tokens were deliberately moved out of. Nothing reads or writes it now, and no UI sets it.

Verification

A copy of the repository at HEAD 011730d, with the OpenAI and ImGui.NET entries removed from both ProjectDirector.csproj and Directory.Packages.props:

  • dotnet build -c Release succeeds.
  • dotnet test passes: 102 passed, 3 skipped, 0 failed.
  • Compared with an unmodified build, the output no longer contains OpenAI.dll, System.ClientModel.dll, ImGui.NET.dll, System.Memory.Data.dll, eight Microsoft.Extensions.* assemblies, or the duplicate libcimgui.so/libcimgui.dylib native libraries that ImGui.NET ships alongside Hexa's cimgui. The output shrinks from about 285 MB to 272 MB.

The ktsu SDK's KTSU0005 check requires the PackageVersion entries to be removed together with the references.

Why it matters

  • Users see menu items that look like features and silently do nothing.
  • The app ships a second, unused ImGui binding with its own native cimgui. That is confusing, and it risks a native library name clash on platforms where both get resolved.
  • An unused OpenAI SDK and its dependencies are shipped and kept patched for no benefit.
  • An unused secret field in the plain-text settings file goes against the token-handling rule documented in CLAUDE.md.

Suggested fix / acceptance criteria

  • Remove OpenAI and ImGui.NET from ProjectDirector.csproj and Directory.Packages.props.
  • Delete the commented-out ChatClient code and the two empty menu items. If the AI features are still wanted, track them in their own issue and add the menu items back once they do something.
  • Remove OpenAIToken, both the property and its semantic type. Loading an old options file ignores a property that no longer exists, so no migration is needed. If stored values should also be cleared from existing files, a one-off blanking in the style of LegacyGitHubToken would do it.
  • The build and the existing tests still pass, and the right-click menu on a .cs file only offers actions that do something.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions