Build from a prompt
cascade prompt is the simplest entry point. No meeting, no ticket. Just type what you want and Cascade builds it.
When to use prompts
Section titled “When to use prompts”- Small features that don’t justify a ticket
- Refactors and cleanup
- Adding tests to existing code
- Documentation updates
- Quick experiments
For larger work that needs collaborative refinement, use a tracker ticket or a meeting instead.
Basic usage
Section titled “Basic usage”cascade prompt "Add a /health endpoint that returns {'status': 'ok', 'version': version}"Cascade treats the prompt as an approved story and runs the full pipeline. Output:
==> [story-prompt-20260925-103045] Add a /health endpoint... branch: cascade/story-prompt-20260925-103045/add-a-health-endpoint commit: e4f8a2b1... install: ok tests: passed (43 passed in 0.19s) PR: #48 https://github.com/myorg/myrepo/pull/48Multiline prompts
Section titled “Multiline prompts”Use a heredoc for longer prompts:
cascade prompt "$(cat <<'EOF'Add rate limiting to /api/users.
Requirements:- 60 requests per minute per IP- Return 429 with Retry-After header when exceeded- Use the existing redis client from src/clients/redis.py- Add tests covering: under limit, at limit, over limit, header presenceEOF)"More detail in the prompt produces better output. Vague prompts (“make X better”) produce vague code.
Tips for good prompts
Section titled “Tips for good prompts”| Bad prompt | Better prompt |
|---|---|
| ”Add auth" | "Add JWT auth to /api/*: middleware checks Bearer token, returns 401 on missing or invalid, attaches user_id to request context" |
| "Make it faster" | "Cache the /api/dashboard response in Redis for 60 seconds, keyed by user_id" |
| "Add a button" | "Add an ‘Export CSV’ button in the toolbar of the UserList page that calls GET /api/users/export and triggers a download" |
| "Fix the bug" | "Fix: User.save throws on duplicate email instead of returning a clean validation error. Should raise DuplicateEmailError with the conflicting email in the message.” |
The pattern: name the thing, describe the behavior, mention any constraints, hint at what success looks like.
Dry run
Section titled “Dry run”To see what Cascade would do without pushing or opening a PR:
cascade prompt "Refactor User.save" --no-prThis generates the code, runs the tests, and commits locally. Inspect the diff with git diff main, then either keep going or git reset --hard origin/main to discard.
When a prompt isn’t enough
Section titled “When a prompt isn’t enough”If you find yourself writing very long prompts, consider:
- Add the detail to team memory so it persists for future runs. If you keep specifying “use the redis client from src/clients/redis.py”, that belongs in
team-memory/conventions.md. - Start from a tracker ticket instead, so the work is captured in your team’s existing workflow.
- Capture it as a meeting if it involves multiple stories from one design conversation.