help: singular commands, hidden plural aliases, one spelling per concept#81
Merged
Conversation
…concept `agent --help` is read cold by coding agents deciding their next call, so the surface it presents needs one spelling per concept. Every command now shows a singular name with its plural registered as a hidden alias, routes move out of descriptions into a trailing API line, and the colliding short flags are untangled (-o is an output path, -d is --detach, --since/--until are the only time window). Conventions are written down in skills/cli-conventions so the next command added does not reintroduce the drift. Also fixes two callers that were already broken: the smoke scripts invoked `agent run list` (dead since the run to session rename) and the ellipsis skill told agents to run `agent sandbox build` (removed in #68).
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
The primary reader of
agent --helpis a coding agent deciding its next call: it reads once, cold, with no memory of the last release. The help surface had drifted into several spellings per concept, so this normalizes it and writes the rules down.agent assetis what help shows;agent assetsstill works but never renders. Same fordelete(shown) vsrm(hidden) andlistvsls. Read-only integration browsers keep a bare plural leaf (github repos,slack channels) since they have no other verb to disambiguate against.API:line in the long help.-ois only an output path (was also output format onconfig get, and--config-overrideonsession start).-dis only--detach(was also--days).-fis only an input file (was also--forceonconfig init).--since/--untilplus--days <n>, natural language accepted everywhere.--start/--endare gone.skills/cli-conventionsencodes all of the above as a checklist, plus the reserved short-flag table, so the next command added does not reintroduce the drift.New shared plumbing is
src/lib/help.ts:configureCliHelp,alsoKnownAs,apiRoutes.Drive-by fixes
Two callers were already broken before this branch and are fixed here since it touches the same files:
scripts/smoke.shandsmoke-local.shinvokedagent run list, dead since the run → session rename, which aborted both scripts underset -e.skills/ellipsis/SKILL.mdinstructed agents to runagent sandbox build, removed in Protocol v3 + session log: agent session log, remove sandbox build + session transcript, sandbox_output renames #68.Test plan
npm run typecheckclean;npm test298/298 passagent assets list,agent sandbox variable rm,agent analytics prs,agent hooks status--since "3 days ago"reaches the wire asstart=<iso>on bothsession listandanalytics pr;analytics prshits the same route asanalytics prconfig get -o json,session list --start,analytics reviewers -d 7,config init -fconfig initexercised end to end in a scratch dir: writes the file, refuses on re-run,--forceoverwritesagent/agent "prompt"shorthand still dispatches tosession start --connect;--versionandhelpunchangedscripts/smoke-local.shagainst a local backend (not run here; needs docker compose)Notes for review
analyticsstays plural. It is a mass noun with no singular form, so there is nothing to alias.docs/RUN_STREAMING_SPEC.mdstill saysagent run get --watch.