Open
Conversation
- Add AIPlatform enum with Claude, Gemini, Cursor, Windsurf variants - Add PlatformConfig to main Config struct - Implement SessionProvider for GeminiProvider, CursorProvider, WindsurfProvider - Update discover module to use configured AI platform - Providers return helpful error messages guiding users to configure Claude Co-authored-by: TartanLeGrand <56931733+TartanLeGrand@users.noreply.github.com>
- Update README.md with AI Platform Configuration section - Update CLAUDE.md to mention multi-platform support - Add config.toml.example with platform configuration examples - Add comprehensive tests for platform config (serialization, deserialization) - Format code with cargo fmt - All 364 tests passing Co-authored-by: TartanLeGrand <56931733+TartanLeGrand@users.noreply.github.com>
- Document new platform configuration in Unreleased section - List all platform-related features and changes - Maintain changelog format consistency Co-authored-by: TartanLeGrand <56931733+TartanLeGrand@users.noreply.github.com>
- Add encode_project_path() method to SessionProvider trait - Implement encode_project_path() for all providers (Claude, Gemini, Cursor, Windsurf) - Update discover module to use provider's encode method instead of hardcoded ClaudeProvider - Fix comment spacing consistency in config.toml.example - All 364 tests still passing Co-authored-by: TartanLeGrand <56931733+TartanLeGrand@users.noreply.github.com>
- Add detailed comments explaining path encoding behavior for non-Claude providers - Replace unwrap_or_default() with unwrap_or_else() that logs config errors in verbose mode - Users now get warning when config file has errors instead of silent fallback - Clarify that raw path is intentional for placeholder implementations - All 364 tests passing Co-authored-by: TartanLeGrand <56931733+TartanLeGrand@users.noreply.github.com>
Add multi-platform AI assistant support (Gemini, Cursor, Windsurf)
Collaborator
|
Thanks for the contribution Ugo. The multi-platform direction is interesting, but this PR adds infrastructure without any actual implementation — all three new providers (Gemini, Cursor, We prefer not to merge dead code. When we add a new platform, the enum + provider + config should come together with the actual session discovery implementation, not as empty shells. If you're interested in actually implementing one of these providers (e.g., Gemini — knowing where it stores sessions, how to parse them), that would be a great PR. But the scaffolding The config.toml.example is useful though — feel free to open a smaller PR for just that file. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces infrastructure for supporting multiple AI coding assistant platforms in RTK, allowing users to select between Claude (default), Gemini, Cursor, and Windsurf via configuration. While only Claude is fully integrated at this stage, the groundwork is laid for future support of the other platforms. The changes span configuration, provider abstraction, documentation, and testing.
Multi-platform AI assistant support:
AIPlatformenum andPlatformConfigstruct tosrc/config.rsto represent and configure the selected AI platform; updated the mainConfigstruct and implemented defaulting to Claude. [1] [2]SessionProvidertrait for Gemini, Cursor, and Windsurf insrc/discover/provider.rs, including helpful error messages for unimplemented platforms. [1] [2]discovermodule to dynamically select the provider based on configuration, so thediscovercommand respects the chosen AI platform. [1] [2] [3]Configuration and documentation:
[platform]section toconfig.toml.exampleand documented the new configuration inREADME.md, including platform selection and current implementation status. [1] [2]CLAUDE.mdto note multi-platform support and reference the new configuration.Testing and validation:
src/config.rsto verify default platform selection, serialization/deserialization, and support for all platform enum values.Release notes:
CHANGELOG.mdunder the "Unreleased" section.