Skip to content

feat: Add Tabnine CLI agent support#2

Open
Pavel-tabnine wants to merge 2 commits intomainfrom
feat/add-tabnine-cli-support
Open

feat: Add Tabnine CLI agent support#2
Pavel-tabnine wants to merge 2 commits intomainfrom
feat/add-tabnine-cli-support

Conversation

@Pavel-tabnine
Copy link
Collaborator

Add comprehensive support for Tabnine CLI as a new AI agent option:

  • Add Tabnine CLI to AGENT_CONFIG with TOML format support
  • Update CLI help text to include 'tabnine' as an option
  • Add Tabnine CLI to README.md supported agents table with example
  • Update AGENTS.md documentation:
    • Add to Current Supported Agents table
    • Add to CLI-Based Agents list
    • Update TOML format section
  • Update release package scripts:
    • Add 'tabnine' to ALL_AGENTS array
    • Add case statement for .tabnine/commands/ directory structure
    • Add package entries to create-github-release.sh
  • Update agent context update scripts (bash and PowerShell):
    • Add TABNINE_FILE variable
    • Add 'tabnine' case to update functions
    • Update usage documentation

Tabnine CLI uses the same TOML command format as Gemini and Qwen, with {{args}} placeholder and .tabnine/commands/ directory structure.

Add comprehensive support for Tabnine CLI as a new AI agent option:

- Add Tabnine CLI to AGENT_CONFIG with TOML format support
- Update CLI help text to include 'tabnine' as an option
- Add Tabnine CLI to README.md supported agents table with example
- Update AGENTS.md documentation:
  - Add to Current Supported Agents table
  - Add to CLI-Based Agents list
  - Update TOML format section
- Update release package scripts:
  - Add 'tabnine' to ALL_AGENTS array
  - Add case statement for .tabnine/commands/ directory structure
  - Add package entries to create-github-release.sh
- Update agent context update scripts (bash and PowerShell):
  - Add TABNINE_FILE variable
  - Add 'tabnine' case to update functions
  - Update usage documentation

Tabnine CLI uses the same TOML command format as Gemini and Qwen,
with {{args}} placeholder and .tabnine/commands/ directory structure.
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary

Overall Assessment: The implementation correctly adds Tabnine CLI support following established patterns across all relevant files.

What Works Well:

  • Comprehensive coverage: All necessary files updated (CLI, scripts, documentation, release)
  • Pattern consistency: Follows the exact same patterns as Gemini/Qwen for TOML format
  • Cross-platform support: Both bash and PowerShell scripts updated consistently
  • Proper validation: Added to ValidateSet and command help text

Critical Issue Identified:

Documentation Inconsistency (Pre-existing): The AGENTS.md file contains an outdated ALL_AGENTS array example on line 115 that shows only 8 agents instead of the current 16. This doesn't include tabnine or many other recent agents. While not caused by this PR, this should be fixed to prevent contributor confusion.

Recommendation:

The Tabnine CLI integration is correctly implemented and ready to merge. Consider updating the documentation inconsistency in a follow-up PR to keep the examples accurate.


# Determine agent list
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai q bob qoder)
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai q bob qoder tabnine)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical Cross-Platform Issue: The PowerShell release script is missing the tabnine agent in multiple places:

  1. Line 358: $AllAgents array does not include tabnine
  2. Missing switch case in the Build-Variant function for tabnine
  3. Line 17: Help text documentation is missing tabnine

Additionally, the shai agent (which appears to have been added previously) is also missing from all these locations in the PowerShell script, indicating a pattern of the PowerShell script not being updated when new agents are added.

This will cause PowerShell-based release builds to fail when trying to package Tabnine templates, breaking cross-platform compatibility.

Required Fix: Update .github/workflows/scripts/create-release-packages.ps1 to include both shai and tabnine agents matching the bash script implementation.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary

What this PR accomplishes:
✅ Adds comprehensive Tabnine CLI agent support across the entire codebase
✅ Updates Python CLI configuration, help text, and agent mappings
✅ Adds proper documentation in README.md and AGENTS.md
✅ Updates bash scripts for context updates and release packaging
✅ Follows established patterns using TOML format and {{args}} placeholders

Critical Issue Found:
Cross-platform compatibility broken: The PowerShell release script (.github/workflows/scripts/create-release-packages.ps1) was not updated to include the tabnine agent, and also appears to be missing the previously-added shai agent. This will cause PowerShell-based release builds to fail.

Resolution Required:
The PowerShell script must be updated to match the bash script implementation for both shai and tabnine agents in:

  • $AllAgents array
  • Build-Variant switch statement
  • Help documentation

Once this cross-platform issue is resolved, the PR will provide complete and consistent Tabnine CLI support across the entire toolkit.

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.

1 participant