Skip to content

Commit 757af72

Browse files
docs(cli): add plugin command help examples (#770)
## Summary - add `Examples:` help blocks to `shep plugin add`, `list`, `configure`, and `status` - copy the example invocations from each command's existing JSDoc usage block - keep the change limited to CLI help output only Closes #745 ## Verification - `SHEP_HOME=$(mktemp -d) pnpm dev:cli plugin <sub> --help` for `add`, `list`, `configure`, and `status` prints the new `Examples:` sections - `pnpm exec prettier --check src/presentation/cli/commands/plugin/add.command.ts src/presentation/cli/commands/plugin/list.command.ts src/presentation/cli/commands/plugin/configure.command.ts src/presentation/cli/commands/plugin/status.command.ts` - `pnpm run typecheck` - `PATH="/Users/vsc_agent/.nvm/versions/node/v22.21.0/bin:$PATH" pnpm run validate` Co-authored-by: Shep Bot <shep-agent@users.noreply.github.com>
1 parent 5da1879 commit 757af72

4 files changed

Lines changed: 26 additions & 0 deletions

File tree

src/presentation/cli/commands/plugin/add.command.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ export function createAddCommand(): Command {
3737
const t = getCliI18n().t;
3838
return new Command('add')
3939
.description(t('cli:commands.plugin.add.description'))
40+
.addHelpText(
41+
'after',
42+
`
43+
Examples:
44+
$ shep plugin add mempalace Install from the curated catalog
45+
$ shep plugin add --name my-tool --type mcp --command "npx my-mcp" --transport stdio Install a custom plugin`
46+
)
4047
.argument('[catalogName]', t('cli:commands.plugin.add.nameArg'))
4148
.option('--name <name>', t('cli:commands.plugin.add.nameOption'))
4249
.option('--type <type>', t('cli:commands.plugin.add.typeOption'))

src/presentation/cli/commands/plugin/configure.command.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ export function createConfigureCommand(): Command {
1717
const t = getCliI18n().t;
1818
return new Command('configure')
1919
.description(t('cli:commands.plugin.configure.description'))
20+
.addHelpText(
21+
'after',
22+
`
23+
Examples:
24+
$ shep plugin configure ruflo --tool-groups implement,test Limit ruflo to the implement + test tool groups`
25+
)
2026
.argument('<name>', t('cli:commands.plugin.configure.nameArg'))
2127
.option('--tool-groups <groups>', t('cli:commands.plugin.configure.toolGroupsOption'))
2228
.action(async (name: string, options: { toolGroups?: string }) => {

src/presentation/cli/commands/plugin/list.command.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ export function createListCommand(): Command {
3535
const t = getCliI18n().t;
3636
return new Command('list')
3737
.description(t('cli:commands.plugin.list.description'))
38+
.addHelpText(
39+
'after',
40+
`
41+
Examples:
42+
$ shep plugin list Show all installed plugins with health + enable status`
43+
)
3844
.action(async () => {
3945
try {
4046
const useCase = container.resolve(ListPluginsUseCase);

src/presentation/cli/commands/plugin/status.command.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ export function createStatusCommand(): Command {
8888
const t = getCliI18n().t;
8989
return new Command('status')
9090
.description(t('cli:commands.plugin.status.description'))
91+
.addHelpText(
92+
'after',
93+
`
94+
Examples:
95+
$ shep plugin status Health-check every installed plugin and print a table
96+
$ shep plugin status mempalace Show detailed health + config for one plugin`
97+
)
9198
.argument('[name]', t('cli:commands.plugin.status.nameArg'))
9299
.action(async (name?: string) => {
93100
try {

0 commit comments

Comments
 (0)