بنقرة واحدة
cli-wiring
Checklist and patterns for wiring new CLI commands into cli-entry.ts
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Checklist and patterns for wiring new CLI commands into cli-entry.ts
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
{what this skill teaches agents}
{what this skill teaches agents}
{what this skill teaches agents}
{what this skill teaches agents}
Team initialization flow (Phase 1 proposal + Phase 2 creation)
Squad's command catalog and interactive menu. Invoke via /squad (slash command) or natural language ("squad commands", "what can squad do", "show me squad options"). Presents categorized operations (Install & Upgrade, Team Management, Issues & PRs, Plugins & Skills, Model & Cost, Sessions & State) as an interactive picker. Routes to the right squad CLI command or the Squad coordinator agent.
| name | cli-wiring |
| description | Checklist and patterns for wiring new CLI commands into cli-entry.ts |
| domain | cli |
| confidence | high |
| source | extracted |
Bug class: Commands implemented in packages/squad-cli/src/cli/commands/ but never routed in cli-entry.ts.
Create command file in packages/squad-cli/src/cli/commands/<name>.ts
run<Name>(cwd, options) async function (or class with static methods for utility modules)Add routing block in packages/squad-cli/src/cli-entry.ts inside main():
if (cmd === '<name>') {
const { run<Name> } = await import('./cli/commands/<name>.js');
// parse args, call function
await run<Name>(process.cwd(), options);
return;
}
Add help text in the help section of cli-entry.ts (search for Commands:):
console.log(` ${BOLD}<name>${RESET} <description>`);
console.log(` Usage: <name> [flags]`);
Verify both exist — the recurring bug is doing step 1 but missing steps 2-3.
| Type | Example | How to wire |
|---|---|---|
| Standard command | export.ts, build.ts | run*() function, parse flags from args |
| Placeholder command | loop, cast (alias: hire) | Inline in cli-entry.ts, prints pending message |
| Utility/check module | rc-tunnel.ts, copilot-bridge.ts | Wire as diagnostic check (e.g., isDevtunnelAvailable()) |
| Subcommand of another | init-remote.ts | Already used inside parent + standalone alias |
import { BOLD, RESET, DIM, RED, GREEN, YELLOW } from './cli/core/output.js';
Use dynamic await import() for command modules to keep startup fast (lazy loading).