usesteady-cli
v0.1.0-alpha.35
Published
Trust-first deterministic execution with explain-before-execute and fail-closed ambiguity handling.
Downloads
147
Maintainers
Readme
UseSteady - Review AI actions before they run
UseSteady shows you exactly what AI will do - before it executes anything.
# Interactive session
npx usesteady
# Explicit input - Windows PowerShell and zsh safe
npx usesteady --prompt "replace 'Submit' with 'Send' in src/Button.tsx"
# Piped stdin
echo "rename old.ts to new.ts" | npx usesteady
# CI / automation - zero prompts
npx usesteady run spec.json --yesWhy
AI tools can generate code, run commands, and modify files - often before you fully understand what will change.
UseSteady adds a review layer:
- SYSTEM WILL - the exact change, not a summary
- Risk level - LOW / MEDIUM / HIGH, derived from what is actually changing
- WHY explanation - what this does and why it was triggered
- Approve / Reject - per step, before anything runs
How it works
Describe what you want to change. UseSteady translates it into a safe, structured change. If it can't, it helps you rewrite it before anything runs.
Every request becomes one of a few safe operations: replace, rename, create, delete, or run.
Public alpha: Exact operations execute immediately. Ambiguous or multi-step requests are guided to a specific form before anything runs.
This is an alpha build. Behavior is deterministic but evolving. Report friction at usesteady.dev/alpha.
Example
$ npx usesteady
UseSteady
AI can propose changes.
You approve before they run.
Describe what you want to change:
> replace "Submit" with "Continue" in src/components/Button.tsx
SYSTEM WILL
1. Replace "Submit" -> "Continue" in src/components/Button.tsx
RISK: LOW
WHY
Updates button label. Styling only, no logic affected.
[a] Approve [r] Reject
> a
Step approved - Button.tsx updated.
All steps reviewed.
Return to your workflow to continue.If your input is ambiguous, UseSteady asks you to make it specific first:
> update the button text
--------------------------------------------
[Cursor] NOT EXECUTE
--------------------------------------------
Which file should this apply to?
Try one of these:
-> replace "Submit" with "Continue" in src/components/Button.tsx
-> rename Button.tsx to PrimaryButton.tsx
-> replace "<current text>" with "<new text>" in <file>How requests are handled
| Input type | What happens | |---|---| | Clear - exact file, value, path | Runs immediately after approval | | Missing info - file or value not given | Asks a specific question | | Ambiguous - could mean multiple things | Suggests a concrete rewrite | | Too broad - large or multi-step scope | Asks you to break it down |
UseSteady will never guess and execute.
Mental model
Exact input -> SYSTEM WILL -> You approve -> runs
Vague input -> Guidance -> You rewrite -> SYSTEM WILLHigh risk example
SYSTEM WILL
1. Permanently delete src/utils/deprecated.ts
Removes deprecated.ts and all its exports
Any import of this file will fail immediately after deletion
No automatic recovery - requires git revert if this was a mistake
RISK: HIGH
WHY
Removes deprecated utilities no longer used.
HIGH RISK - cannot be undone without version control
[a] Approve (high risk)
[r] RejectWhat makes it different
- No silent execution
- No vague summaries
- No hidden changes
You see what changes, why it changes, and how risky it is - before anything runs.
Install
# No install needed - run directly
npx usesteady
# Or install globally
npm install -g usesteadyRequires Node.js 18+. Runs fully local. Optional: set ANTHROPIC_API_KEY to enable richer guidance for ambiguous inputs.
One path per environment
| Environment | Command |
|---|---|
| Interactive (any) | npx usesteady |
| Windows PowerShell | npx usesteady --prompt "replace 'X' with 'Y' in file" |
| macOS / zsh | npx usesteady --prompt 'replace "X" with "Y" in file' |
| Piped stdin | echo "rename old.ts to new.ts" \| npx usesteady |
| CI / scripts | npx usesteady run spec.json --yes |
--prompt avoids shell quoting issues across environments. --yes collapses all approval prompts - use it only in CI where you've reviewed the spec.
Core idea
AI proposes. You approve. Then it runs.
Like git diff - but for AI actions before they execute.
Language
| Term | Meaning |
|---|---|
| SYSTEM WILL | The exact operation that will run - not a summary |
| SYSTEM SUGGESTS | Options shown when AI is unsure - not a guess |
| Approve / Reject | Your decision, per step |
| Revert last approval | Undo a decision (not a filesystem change - nothing has run yet) |
| Risk: LOW / MEDIUM / HIGH | Derived from what is actually changing |
You see SYSTEM WILL before anything runs.
That is the guarantee. Every step. No exceptions.
usesteady.dev - Apache 2.0
