diff --git a/.changeset/help-externalize-internalize.md b/.changeset/help-externalize-internalize.md new file mode 100644 index 000000000..4d71e7b76 --- /dev/null +++ b/.changeset/help-externalize-internalize.md @@ -0,0 +1,5 @@ +--- +"@bradygaster/squad-cli": patch +--- + +Add `externalize` and `internalize` to the top-level `squad --help` command list so they are discoverable (#1050). diff --git a/packages/squad-cli/src/cli-entry.ts b/packages/squad-cli/src/cli-entry.ts index 6dc4d2a73..dcd35efeb 100644 --- a/packages/squad-cli/src/cli-entry.ts +++ b/packages/squad-cli/src/cli-entry.ts @@ -240,6 +240,8 @@ async function main(): Promise { console.log(` Aliases: workstreams, streams (deprecated)`); console.log(` ${BOLD}link${RESET} Link project to a remote team root`); console.log(` Usage: link `); + console.log(` ${BOLD}externalize${RESET} Move local squad state to an external team root`); + console.log(` ${BOLD}internalize${RESET} Pull an external team root back into the project`); console.log(` ${BOLD}build${RESET} Compile squad.config.ts into .squad/ markdown`); console.log(` Flags: --check (validate only), --dry-run (preview)`); console.log(` --watch (rebuild on change)`); diff --git a/test/human-journeys.test.ts b/test/human-journeys.test.ts index 38cc62b0e..05082af81 100644 --- a/test/human-journeys.test.ts +++ b/test/human-journeys.test.ts @@ -565,7 +565,7 @@ describe('Cross-journey: CLI --help is the safety net', () => { await harness.close(); // A confused human types --help. Do they see EVERY command? - const expectedCommands = ['init', 'status', 'doctor', 'help', 'upgrade', 'export', 'import']; + const expectedCommands = ['init', 'status', 'doctor', 'help', 'upgrade', 'export', 'import', 'externalize', 'internalize']; for (const cmd of expectedCommands) { expect(output.toLowerCase()).toContain(cmd); }