Skip to content

Rename hire command to cast in CLI help text and documentation (keep hire as alias) #1393

Closed

Description

@bradygaster

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.md
  • packages/squad-cli/templates/skills/coordinator-init-mode/SKILL.md
  • packages/squad-cli/templates/skills/squad/SKILL.md
  • packages/squad-cli/templates/skills/cli-wiring/SKILL.md
  • packages/squad-cli/templates/skills/e2e-template-testing/SKILL.md
  • .copilot/skills/init-mode/SKILL.md
  • .copilot/skills/cli-wiring/SKILL.md
  • templates/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 Lead works identically to squad hire --name Keaton --role Lead
  • squad hire still works (alias — no breaking change)
  • squad --help shows cast as the primary command with hire noted as an alias
  • squad cast --help shows cast-specific help
  • All user-facing docs reference cast as the primary command
  • All tests pass
  • Changeset included (minor bump for squad-cli)

Labels

enhancement, pre-1.0, documentation

Activity

  1. added a commit that references this issue on Jun 26, 2026
    62c5249
  2. added a commit that references this issue on Aug 13, 2026
    54f699f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or improvement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions