feat(cli): CLI command-surface redesign — remove redundant/vestigial commands (#183)#185
Merged
aroff merged 6 commits intoJun 8, 2026
Conversation
Finishes the CLI command-surface redesign (issue #183): - Wire the `fastskill <id>` bare-positional shorthand to `read` in main.rs. An argv rewrite inserts `read` before the first positional when it is not a recognized command or group. Retired commands (resolve/sync/disable/show) are excluded so they still surface "unrecognized subcommand". - search: validate `--content` value eagerly (none|preview|full) regardless of `--paths`; fix stale `--content` help text (was "inline, ref"). - install/update: add the missing `--reindex`/`--no-reindex` mutual-exclusion validation (add/remove already had it). - Add compiled regression tests for the new search `--paths`/`--content` validation paths. - read: refresh stale doc comment referencing the removed `show` command. All 334 compiled tests pass; clippy clean (no new warnings). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
This was referenced Jun 8, 2026
Core cleanup: remove vestigial enabled flag and enable_skill/disable_skill from the skill model
#184
Closed
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.
Summary
Implements issue #183 — reduces the
fastskillCLI surface by removing four redundant/vestigial commands, collapsing their capabilities into well-named selectors, and adding diagnostics + auto-reindex.Command removals (hard, no aliases)
resolve→search <q> --local --paths [--content full] --jsonshow→read <id> --meta/read <id> --tree/listsync→ removed (agents read the skills directory directly)disable→remove <id>Additions / changes
readgains--meta,--tree,--format,--json,--locked(metadata/tree modes, content port fromshow).search --localgains--pathsand--content <none|preview|full>(reusescontext_resolver), reaching parity with allresolveuse cases;--pathsforces JSON.reindexis now a no-op (exit 0 + informational message) when no embedding provider is configured.add/install/update/removewhen a provider is configured, overridable via--reindex/--no-reindexand the newauto_reindexconfig flag.search --localwarns and falls back to text search;analyzesubcommands print an informational note and continue with structural-only analysis.doctorcommand (--jsonsupported) reporting environment readiness with[PASS]/[WARN]/[FAIL]and a non-zero exit on hard failures.fastskill <id>shorthand routes a bare positional toread.What this PR completed on top of the in-progress branch
The branch had crashed mid-implementation. The remaining gaps fixed here:
fastskill <id>shorthand inmain.rs(was documented + tested but never implemented). The argv rewrite skips global flags, recognizes commands and groups, and excludes the four retired command names so they still error as "unrecognized subcommand".--contentvalue validation now runs eagerly (any invalid value errors, not just under--paths); fixed stale help text.--reindex/--no-reindexmutual-exclusion added toinstallandupdate(was only onadd/remove).searchvalidations and refreshed a stalereaddoc comment.Testing
cargo nextest run— 334 passed, 0 failed.cargo clippy --workspace --all-targets --all-features— no new warnings (2 pre-existing test-code lints inadd/install.rsunrelated to this change).read --meta/--tree/--json;search --local --paths/--content;reindex/analyze/searchdegradation;doctorexit codes & JSON; bare-positional shorthand).Notes
tests/cli/are not compiled in this virtual workspace (pre-existing infra debt — only crate-leveltests/and inline unit tests run). Behaviors are covered by inline unit tests + manual binary verification; rewiring that harness is out of scope for CLI command-surface redesign: remove redundant/vestigial commands and put discovery on consistent axes #183.update --helppanics in debug builds due to a pre-existing--versionarg colliding with clap's propagated--version(present onmain, debug-only assert). Release builds work; left untouched as out of scope.🤖 Generated with Claude Code