Repository navigation
Closed
Labels
enhancementNew feature or improvementNew feature or improvement
Description
Summary
Prior to 1.0, the primary command for adding team members should be cast instead of hire. The hire command must continue to work as an alias (no breaking change), but all user-facing documentation and in-product CLI help text should present cast as the canonical command.
Motivation
The "casting" metaphor is core to Squad's identity — teams are drawn from cinematic universes, members are "cast" into roles. The CLI and docs should reflect this language consistently. hire was the original working name and users have adopted it, so we keep it functional, but cast becomes the documented, primary verb.
Scope
CLI Help Text (in-product)
| File | Change |
|---|---|
packages/squad-cli/src/cli/core/command-help.ts (line ~130) |
Rename the hire help entry to cast; update usage string to squad cast [--name <name>] [--role <role>]; update header label |
packages/squad-cli/src/cli-entry.ts (line ~207-208) |
Change the command table to show cast as the primary command with (alias: hire) |
packages/squad-cli/src/cli-entry.ts (line ~787) |
Add cmd === 'cast' as the primary match; keep cmd === 'hire' as a fallback alias |
packages/squad-cli/src/cli-entry.ts (line ~792) |
Update the wizard greeting to reference "cast" |
packages/squad-cli/src/cli/shell/index.ts (line ~1018) |
Update success message from "Team hired!" to "Team cast!" |
Documentation
| File | Change |
|---|---|
README.md (line ~141) |
Change command table to show squad cast as primary, note hire as alias |
packages/squad-cli/README.md (line ~79) |
Change squad hire → squad cast in command reference |
docs/src/content/docs/features/copilot-coding-agent.md (line ~49) |
Update example phrasing |
docs/src/content/blog/001b-meet-the-squad.md (lines ~72-73) |
Update "hires" → "cast" in stats table |
SDK Templates (shipped to users on squad init)
| File | Change |
|---|---|
packages/squad-sdk/templates/skills/init-mode/SKILL.md |
Update confirmation choice text ("Yes, cast this team"), completion message ("✅ Team cast.") |
packages/squad-sdk/templates/skills/coordinator-init-mode/SKILL.md |
Same as above |
packages/squad-sdk/templates/skills/squad/SKILL.md |
Update intent keywords to include "cast" alongside "hire" |
packages/squad-sdk/templates/skills/squad-commands/SKILL.md |
Same as above |
packages/squad-sdk/templates/skills/cli-wiring/SKILL.md |
Update placeholder command reference |
packages/squad-sdk/templates/skills/e2e-template-testing/SKILL.md |
Update language |
Duplicated Templates (packages/squad-cli/templates/, templates/, .copilot/skills/)
These duplicate the SDK templates and need the same changes:
packages/squad-cli/templates/skills/init-mode/SKILL.mdpackages/squad-cli/templates/skills/coordinator-init-mode/SKILL.mdpackages/squad-cli/templates/skills/squad/SKILL.mdpackages/squad-cli/templates/skills/cli-wiring/SKILL.mdpackages/squad-cli/templates/skills/e2e-template-testing/SKILL.md.copilot/skills/init-mode/SKILL.md.copilot/skills/cli-wiring/SKILL.mdtemplates/skills/e2e-template-testing/SKILL.md
Tests
| File | Change |
|---|---|
test/cli-packaging-smoke.test.ts (line ~264) |
Add 'cast' to the expected commands list; keep 'hire' |
test/cli/command-help.test.ts (line ~113) |
Add 'cast' to expected commands; keep 'hire' |
test/cli-shell-comprehensive.test.ts (line ~1271) |
Update or duplicate test for cast command |
Acceptance Criteria
-
squad cast --name Keaton --role Leadworks identically tosquad hire --name Keaton --role Lead -
squad hirestill works (alias — no breaking change) -
squad --helpshowscastas the primary command withhirenoted as an alias -
squad cast --helpshows cast-specific help - All user-facing docs reference
castas the primary command - All tests pass
- Changeset included (minor bump for squad-cli)
Labels
enhancement, pre-1.0, documentation
Metadata
Metadata
Assignees
Labels
enhancementNew feature or improvementNew feature or improvement
Activity
feat(cli): rename hire to cast (#1394)
chore: promote dev -> main (v0.12.0) (#1698)