Skip to content

Pit aliases for the new commands, and a real help verb - #20

Merged
ralyodio merged 1 commit into
masterfrom
worktree-help-and-aliases
Aug 21, 2026
Merged

Pit aliases for the new commands, and a real help verb#20
ralyodio merged 1 commit into
masterfrom
worktree-help-and-aliases

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Two small gaps found while checking whether auto-update was discoverable from the pit.

cli-tools help was an error

It fell through to the command passthrough: unknown command: help, exit 1 — printed before the usage that answers the question. It's a verb now, exit 0.

Three aliases for the commands that had none

Alias Expands to
/web ask-web
/speak tts
/aff affiliate

The names are chosen around a collision rather than for elegance. /ask and /say are the words you'd reach for, and both already resolve to something else on a normal box; /tts would shadow our own command. An alias beats PATH, so binding any of those would shadow the real program from inside the pit only — the same word keeps working in every other shell, which is about the most confusing failure available.

The repo's existing alias invariants already covered that risk and still pass (an alias may not share a name with a command here, and must expand to one that exists). Added a test pinning the three chosen names so a later tidy-up doesn't "simplify" /web back to /ask.

Alias tables in the README and /tools:install updated to match.

Verification

  • 275 tests pass, pnpm typecheck clean.
  • cli-tools help exits 0; cli-tools aliases lists all eight.

🤖 Generated with Claude Code

`cli-tools help` is what people type, and it fell through to the
passthrough: "unknown command: help", exit 1, printed before the usage
that answers the question. It is a verb now.

Three aliases join the set: /web -> ask-web, /speak -> tts, and
/aff -> affiliate. The names are chosen around a collision rather than
for elegance. /ask and /say are the words you would reach for and both
already resolve to something else on a normal box; /tts would shadow our
own command. An alias beats PATH, so binding any of those would shadow
the real program from inside the pit only — which is about the most
confusing failure available, since the same word keeps working in every
other shell.

The existing invariants already covered the risk and still pass: an
alias may not share a name with a command here, and must expand to one
that exists. Added a test pinning the three names, so a later tidy-up
does not "simplify" /web back to /ask.

Suite is 275 tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

6 finding(s)

MEDIUM: 1 | LOW: 5

Severity Rule Location
MEDIUM redos-nested-quantifier src/domain-free.ts:56
LOW insecure-temp-file test/blog.test.ts:73
LOW insecure-temp-file test/blog.test.ts:74
LOW insecure-temp-file test/credentials.test.ts:43
LOW insecure-temp-file test/credentials.test.ts:44
LOW secret-generic-api-key test/credentials.test.ts:208

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit e050ba2 into master Aug 21, 2026
5 checks passed
@ralyodio
ralyodio deleted the worktree-help-and-aliases branch August 21, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant