Project status
Run stash status for a fast, read-only view of your CipherStash setup lifecycle, reading disk state only with no network, database, or auth.
Project status
stash status shows where your project stands in the CipherStash setup lifecycle. It reads disk state only: no network, no database connection, no authentication. It runs in milliseconds.
npx stash statusWhat it checks
stash status inspects three files:
| File | What it signals |
|---|---|
.cipherstash/context.json | stash init has run successfully |
.cipherstash/plan.md | stash plan has produced an encryption plan |
.cipherstash/setup-prompt.md | stash impl has engaged an agent at least once |
Output
stash status renders a lifecycle panel followed by a deeper-inspection block:
CipherStash project status
Lifecycle
✓ Initialized supabase · npm · 3 tables
◯ Plan written run `stash plan` to draft
◯ Implementation waiting on plan
Deeper inspection
Database state: `stash db status`
Per-column state: `stash encrypt status`
Next: run `stash plan` to draft your encryption plan.Stage markers
| Marker | Meaning |
|---|---|
✓ | Stage is complete |
◯ | Stage is pending |
Stages
Initialized: stash init has run and .cipherstash/context.json exists. The detail line shows the detected integration, package manager, and number of tables in the schema.
Plan written: .cipherstash/plan.md exists. The detail line shows the plan file path. If the project is initialized but no plan exists, it shows the next command to run.
Implementation: An agent has been engaged at least once (.cipherstash/setup-prompt.md exists). This stage is always shown as pending because disk state cannot tell you whether the agent finished. Check stash encrypt status for per-column state. If no agent has been engaged, the detail line shows the next command to run.
Deeper inspection
stash status points to two commands for state that requires a database connection:
| Command | What it shows |
|---|---|
stash db status | EQL installation state, database permissions, active encrypt config |
stash encrypt status | Per-column migration state: phase, progress, and drift |
When to use stash status
Run stash status any time you want a quick answer to "where am I?" without triggering auth or a database round-trip. It is safe to run repeatedly, in any environment, including CI.
Common use cases:
- After onboarding to a new device, to check what has already been set up
- Before running
stash planorstash impl, to confirm prerequisites are met - In a CI pre-flight check, to verify context.json is committed
Next steps
Execute an encryption plan
Run stash impl to execute your CipherStash encryption plan by handing off to a coding agent such as Claude Code, Codex, or AGENTS.md.
Install and upgrade EQL
Install or upgrade EQL extensions in Postgres with the stash CLI, covering Supabase and Drizzle migrations, auto-detection, and permission fallbacks.