Files
owen b4ff4f9f14
CI / Build (push) Waiting to run
CI / Test (push) Waiting to run
Prepare Cassady v0.3.5
2026-06-26 11:53:01 -05:00

202 lines
5.5 KiB
Markdown

# Workflows
This page shows common Cassady workflows. Exact tool calls depend on the model and the prompt; use these examples as patterns rather than scripts.
## Start in a workspace
```sh
cd /path/to/project
cass
```
Or choose a workspace explicitly:
```sh
cass --cwd /path/to/project
```
Ask for read-only exploration first:
```text
Explain the structure of this repository. Do not edit files yet.
```
## Inspect and explain code
Start in read-only mode or press `Shift-Tab` until the status shows `read-only`.
```text
Find where configuration is loaded and summarize the precedence rules.
```
Cassady can use `ls`, `read`, and `grep` to inspect the workspace and bundled docs. For large files or unknown locations, prefer a search-first flow: `grep` for a symbol or phrase, then `read` a small line range around the relevant match.
## Recover from compacted or truncated output
When a tool result is too large for the model context, Cassady sends the model a head/tail excerpt with a recovery note. The note includes the tool name, retained excerpt shape, and file range or shell-command provenance when available.
If Cassady reports compacted or truncated output, do not rely on omitted lines for edits. Ask Cass to narrow the inspection instead:
```text
Re-read src/app.rs lines 220-280 before editing that function.
```
```text
Search only src/ for "load_config" and then read around the matching lines.
```
```text
Rerun the test command with a focused package/filter, or pipe the noisy output through grep/head/tail.
```
## Apply a focused edit
Use workspace-edit mode:
```sh
cass --workspace-edit
```
Then ask for a precise change:
```text
Update the README install section to mention both cass and cassady. Keep the rest unchanged.
```
Cassady may use `edit` or `write`. Edit results include a diff-like summary. If an exact-text edit fails, ask Cassady to re-read the file and retry with a smaller unique replacement.
## Run tests or builds
Shell is denied in read-only mode and requires approval in workspace-edit mode.
```text
Run the smallest relevant Rust test for this change, then summarize the result.
```
When the approval prompt appears, press `y` to approve or `n`/`Esc` to deny. Shell commands run with `sh -c` from the launch cwd and default to a 30-second timeout unless the model requests another timeout.
## Manage provider login
Add or update provider configuration from the shell:
```sh
cass login
```
Inside an idle chat:
```text
/login
```
Remove saved provider configuration:
```sh
cass logout
```
Inside an idle chat:
```text
/logout
```
Logout removes selected providers from Cassady's config and removes their associated model entries. It does not delete environment variables, local Codex auth, or external provider accounts.
For `ChatGPT Codex`, run `codex login` or sign in with the Codex app before `cass login`. Cassady validates `~/.codex/auth.json` and uses that local token source instead of asking for an API-key environment variable.
## Switch model
Inside a chat:
```text
/model MODEL_ID
```
Autocomplete lists models from `~/.cass/models.json`. Switching models is allowed only when idle. Cassady persists the last used provider, model, and reasoning effort into `config.json`.
You can also launch with a model override:
```sh
cass --model MODEL_ID
```
## Prefer fast mode
Inside a chat:
```text
/fast
```
Use `/fast on`, `/fast off`, or `/fast status` when you want an explicit action. Cassady saves the preference in `config.json`, but fast mode is active only when the current provider/model supports it. ChatGPT Codex models, including `gpt-5.5`, are treated as fast-capable.
Switching to an unsupported provider/model keeps the preference but makes `/status` show fast mode as unavailable. Switching back to ChatGPT Codex enables it again.
## Resume a chat
List chats for the current directory:
```sh
cass --resume
```
Resume a specific chat:
```sh
cass --resume CHAT_ID
```
Inside the UI:
```text
/resume CHAT_ID
```
`/resume` autocomplete lists saved chats for the current directory.
## Start fresh without leaving
```text
/new
```
This creates a new chat for the same cwd and model while preserving your current configuration.
## Branch or restore a conversation point
Press `Esc` twice while idle, or type:
```text
/branch
```
Use the menu to select a related branch or a checkpoint from a user message, assistant message, tool-call request, or tool result. Branching creates a new chat from that point and leaves the original chat available in the same menu. Choose conversation-only branching to leave files untouched, or choose branch-plus-files to restore Cassady-tracked `write`/`edit` snapshots with conflict checks.
## Check status
```text
/status
```
The status block includes chat id, state, model, mode, cwd, record count, and the current status message.
## Cancel and continue
While a turn is running:
- Press `Esc` or `Ctrl-C` to request turn cancellation.
- Press `Ctrl-C` twice within 1.5 seconds to exit.
Cassady records cancelled tool calls and a cancellation message so the conversation can continue cleanly.
## Ask Cassady to edit its config
Config files live under `~/.cass`, outside a normal project workspace. To inspect them, use `full-access` or edit them manually. After manual changes, run:
```sh
cass check
```
For OpenAI-compatible providers this checks API key environment variables. For `ChatGPT Codex` this checks local Codex auth and points you back to `codex login` if the token is missing or expired. Prefer `cass setup` or `cass login` for provider/model changes when possible.