Add migration helper for Tabnine CLI to opencode - #1
Conversation
Adds migration_helper/ subtree with: - skills/migrate-from-tabnine-cli/ — interactive wizard skill that discovers Tabnine CLI (or Gemini CLI) configuration on disk, asks the user per category what to migrate, and translates fields into opencode's schema. Includes reference docs for source paths and field-by-field translation rules. - commands/migrate.md — /migrate slash command as an entry point to the wizard. - install.sh — bash installer that copies the skill and command into either ~/.config/opencode/ (default) or ./.opencode/ (--project). Shows a diff and prompts skip/overwrite/rename on collisions. Supports --overwrite to bypass prompts. - README.md — install (script or manual copy) and usage docs. - LICENSE — MIT, subtree-scoped. Root README gets one new section linking to migration_helper/README.md.
Independent review: migrate-from-tabnine-cliVerdict: A well-scoped, disciplined migration wizard whose references are grounded in the actual Tabnine CLI source with concrete file:line citations rather than guesses. A handful of real gaps around name-regex mismatch, an internal contradiction on discovery depth, and a few instructions that punt too much to model judgement keep it from shipping unchanged. Strengths
Blockers
Improvements
Nits
opencode runtime fitThe skill is well-adapted to opencode's runtime: it correctly targets RecommendationShip after fixes #1 (name-regex normalisation) and #2 (define where skill-body scanning happens); the improvements can follow in a v1.1. The bones are solid and the references are unusually well-sourced. |
Summary
Adds a
migration_helper/subtree that helps users move their Tabnine CLI (or Gemini CLI) configuration into opencode.The heart of it is an opencode skill (
migrate-from-tabnine-cli) that runs as an interactive wizard inside opencode itself. This PR bundles that skill plus a/migrateslash command and a small bash installer for placing them into the user's opencode config directory.What's inside
migration_helper/What it migrates
MCP servers, skills, subagents, slash commands, and the contents of Tabnine CLI extensions. Fields with no opencode equivalent are dropped with a note. Nothing is deleted from the Tabnine CLI installation — this is a copy-and-translate flow.
Installer behaviour
For every file it wants to place:
[s]kip / [o]verwrite / [r]ename(rename appends.bak-YYYYMMDD-HHMMSS).Manual
cp -ris documented as a fully supported alternative for users who don't want to run the script (mandatory path for Windows).Verification
bash -n install.shpasses.$HOME— writes 4 files correctly.--projectinstall into a temp directory — writes 4 files under./.opencode/.up to dateon every file (idempotent).grep -rn "pavel\|2026-07-08" migration_helper/returns clean (no personal paths or hardcoded dates leaked).Root README
One new section,
## Migrate from Tabnine CLI, links tomigration_helper/README.md. Otherwise the root README is unchanged.Licensing
migration_helper/LICENSEscopes this subtree to MIT withCopyright (c) 2026 Tabnine Ltd.. This is a documentation + shell subtree; MIT is the shortest, most permissive, best-known license for that shape. The root repo's proprietary posture (© Tabnine. All rights reserved.) is unchanged — only this subtree is MIT.