Skip to content

Add IDE support: Tabnine CLI #1379

Description

@Haz3-jolt

Background

Tabnine CLI is a coding agent runtime by Tabnine. Adding Tabnine CLI to Observal would let users pull agents, scan installed components, and trace sessions.

Before you pick this up

Only take this issue if you are willing to use Tabnine CLI as a daily driver for a while to properly test the integration, help maintain support for the runtime semi-long term, and write proper documentation for it.

Implementation guide

Follow docs/adding-an-ide.md for the full file checklist and step-by-step process. Start with Step 1 (Research the IDE) using the official Tabnine CLI documentation at https://docs.tabnine.com/main/getting-started/tabnine-cli to determine config paths, MCP format, hook support, and session log locations.

Scope

Add Tabnine CLI with full IDE support. All coding agent runtimes store session data (JSONL, SQLite, or similar). Part of this issue is figuring out where and how Tabnine CLI persists sessions, then building the parser so observal reconcile and the trace viewer work correctly. Document your findings in the PR.

Note: PRs without screenshots showing traces in the IDE, and screenshots of skills, hooks, and MCPs installed via Observal working will be automatically closed.

File checklist

See docs/adding-an-ide.md § File Checklist for the full list. At minimum:

# File Action
1 observal-server/schemas/ide_registry.py Add "tabnine-cli" entry
2 observal_cli/ide/tabnine_cli.py New CLI adapter
3 observal_cli/ide/load_all.py Add import
4 observal_cli/ide/__init__.py Bump _EXPECTED_ADAPTER_COUNT
5 observal-server/services/ide/tabnine_cli.py New server adapter
6 observal-server/services/ide/load_all.py Add import
7 web/src/lib/ide-features.ts Add to VALID_IDES, feature matrix, display names
8 tests/test_ide_tabnine_cli.py Unit tests for adapter

Acceptance criteria

  • observal pull <agent> --ide tabnine-cli writes correct config and the agent is usable in Tabnine CLI.
  • observal scan --ide tabnine-cli discovers installed components.
  • Sessions are traced properly with a working session parser.
  • MCP servers are installable and functional within Tabnine CLI.
  • Skills are installable and functional within Tabnine CLI.
  • Hooks fire correctly on session lifecycle events (start, stop, tool use).
  • observal doctor reports Tabnine CLI status.
  • tests/test_constants_sync.py passes (registries in sync).
  • tests/test_ide_tabnine_cli.py passes with at least 4 test cases.

Reference

Implementation checklist for IDE support

Please include these updates in the same PR:

  • observal_cli/cmd_doctor.py: add diagnose, patch, and cleanup coverage for the IDE
  • observal_cli/layer.py: update IDE_LAYER_CONFIGS and managed-file attribution paths
  • README.md: add the IDE to the supported IDE list
  • docs/adding-an-ide.md: keep checklist requirements aligned when needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestide-supportAdding or improving IDE integrations

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions