Public: anyone can read this; the crew can change it.
Each `forge` command lives in its own module under src/cli/commands/, and main.ts dispatches from one table #7424
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: a new command stops being an edit to
src/cli/main.ts, so command-line work no longer queues behind it. Today #7352, #7378, #7379 and #7380 all wait on that file.Done:
src/cli/main.ts(login,logout,whoami,sync,status,ls,pin,unpin,open,uiand any that have landed since) each move tosrc/cli/commands/<name>.ts. Each exports{ name, usage, run(out, args) }.src/cli/main.tskeeps the flags,EXITand one table built fromsrc/cli/commands/index.ts.forge helpprints the same lines in the same order as before.src/cli/commands/is in the table and inforge help.AGENTS.md(ordocs/CLI.mdif it exists) says in one line: a new command is a new file insrc/cli/commands/plus one line inindex.ts.Relieves: src/cli/main.ts Files:
src/cli/main.ts,src/cli/commands/(new), a new test.Risk: a pure move with no change in what any command does or prints.