Skip to content

Conversation

@robch
Copy link
Owner

@robch robch commented Dec 22, 2025

Summary

This PR adds GitHub search capabilities as an AI tool and updates the build system to explicitly target .NET 9.0.

Changes

1. GitHub Search AI Tool (Commit d3ced51)

  • New: GitHubSearchHelperFunctions.cs - AI tool wrapper for cycodgr CLI
  • Enables AI assistants to search GitHub repositories and code directly
  • Features:
    • Repository and code search with powerful filtering
    • Multi-language search support
    • Repository fingerprinting workflow
    • Smart help expansion (auto-adds --expand flag)
    • 2-minute timeout for GitHub API calls
    • Comprehensive inline documentation with examples
  • Registered in ChatCommand.cs to make tool available to AI

2. .NET 9.0 Build Updates (Commit 284cfcc)

  • Added --framework net9.0 to CI/release workflow test commands
  • Added --framework net9.0 to build and publish scripts
  • Simplified NuGet packing logic (removed unnecessary publish-before-pack workflow)
  • Minor cycodgr version/format fixes

Testing

  • Manual testing of GitHub search tool in AI chat
  • CI builds pass with .NET 9.0 targeting

Impact

AI assistants can now discover and research code on GitHub during conversations, enabling them to find implementation examples, libraries, and patterns.

@robch robch merged commit 0a9c6de into master Dec 22, 2025
1 check passed
robch added a commit that referenced this pull request Dec 23, 2025
…ation

The DotnetToolSettings.xml Version="2" format was preventing installation on
.NET SDK 9.0.306 (requires 9.0.400+). Removing RuntimeIdentifiers from the
.csproj files forces Version="1" format which is compatible with SDK 9.0.306.

Changes:
- Remove <RuntimeIdentifiers> property from all tool projects
- RuntimeIdentifiers are still specified via -r flag in publish-self-contained.sh
- NuGet packages now generate DotnetToolSettings.xml Version="1"
- Tools can now be installed with: dotnet tool install -g <tool> --version <version>

This fixes the issue introduced when the publish loop was removed from pack.sh
in PR #87. The simplified pack approach triggered Version="2" format because
dotnet pack saw RuntimeIdentifiers in the .csproj files.

Fixes installation error:
'The settings file in the tool's NuGet package is invalid: Format version is
higher than supported. This tool may not be supported in this SDK version.'
robch added a commit that referenced this pull request Dec 23, 2025
…ation (#89)

The DotnetToolSettings.xml Version="2" format was preventing installation on
.NET SDK 9.0.306 (requires 9.0.400+). Removing RuntimeIdentifiers from the
.csproj files forces Version="1" format which is compatible with SDK 9.0.306.

Changes:
- Remove <RuntimeIdentifiers> property from all tool projects
- RuntimeIdentifiers are still specified via -r flag in publish-self-contained.sh
- NuGet packages now generate DotnetToolSettings.xml Version="1"
- Tools can now be installed with: dotnet tool install -g <tool> --version <version>

This fixes the issue introduced when the publish loop was removed from pack.sh
in PR #87. The simplified pack approach triggered Version="2" format because
dotnet pack saw RuntimeIdentifiers in the .csproj files.

Fixes installation error:
'The settings file in the tool's NuGet package is invalid: Format version is
higher than supported. This tool may not be supported in this SDK version.'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants