Your codebase improves itself. You just review the PR.
Docs · Changelog · Download · Contributing
Every AI coding tool waits for you to tell it what to do. sustn doesn't.
It scans your repositories, builds a prioritized backlog of improvements, and works through them automatically using your leftover Claude Code or Codex subscription budget. Every change lands as a branch — nothing touches main without your approval.
1. Point it at your repos Add your repositories and sustn runs a deep scan using Claude Code or Codex. It finds dead code, missing tests, doc drift, security gaps, and tech debt — then ranks everything by impact.
2. Review, reorder, refine Your backlog appears as a task list you control. Drag to reprioritize. Click into any task to see what the agent found and why it matters. Add notes or constraints before work begins.
3. Work happens automatically sustn monitors your remaining subscription budget and picks up tasks when tokens are available. No prompts, no babysitting, no wasted tokens.
4. Approve and merge Every completed task lands as a branch. Review the diff, then create a PR with one click — or configure sustn to open PRs automatically.
The fastest way to use sustn is to download the Mac app:
Once installed, add a repository and sustn handles the rest. See the Getting Started guide for a full walkthrough.
If you'd prefer to build locally:
Prerequisites: Node.js >= 22, Rust (stable), pnpm
git clone https://github.com/ghvstcode/sustn.git
cd sustn
pnpm install
pnpm tauri:devSee CONTRIBUTING.md for the full development setup and commands.
Nightly builds are published automatically from the latest main branch. They may include unreleased features or experimental changes.
Note: Nightly builds are unsigned and may be less stable than tagged releases. macOS will prompt you to allow the app in System Settings → Privacy & Security on first launch.
sustn scans for a wide range of codebase improvements:
- Dead code — unused exports, unreachable branches, orphaned files
- Missing tests — untested functions, edge cases, critical paths
- Documentation drift — stale comments, outdated READMEs, missing JSDoc
- Security gaps — hardcoded secrets, missing input validation, dependency vulnerabilities
- Tech debt — duplicated logic, overly complex functions, inconsistent patterns
- Performance — N+1 queries, unnecessary re-renders, unoptimized imports
sustn is a native desktop app built with:
| Layer | Tech |
|---|---|
| Desktop shell | Tauri v2 (Rust) |
| Frontend | React 19, TypeScript, Tailwind CSS, shadcn/ui |
| State | Zustand (client), TanStack Query (async) |
| Database | SQLite via tauri-plugin-sql |
| AI agents | Claude Code, Codex (via CLI) |
The agent engine runs in Rust and manages scanning, task prioritization, budget tracking, git branch lifecycle, and the implement → review → retry loop. See the Architecture docs for details.
We welcome contributions! See CONTRIBUTING.md for setup instructions and coding conventions.
pnpm tauri:dev # Start dev environment
pnpm validate # Lint + format check + typecheck
pnpm test # Run testsFull documentation is available at sustn.app/docs covering:
- Getting Started — installation, prerequisites, onboarding
- Core Concepts — projects, tasks, the agent engine, budget
- Scanning & Discovery — how scanning works, what gets detected
- Task Management — lifecycle, properties, prioritization
- Automated Execution — work phases, retry & error handling
- Code Review & PRs — diff viewer, creating pull requests
- Configuration — settings, scheduling, budget controls
