Make AI-assisted development verifiable, observable, and safe β turning Vibe Coding into Software Engineering.
An AI-powered CLI tool for scaffolding projects with built-in documentation, learning systems, and SESRC product-loop workflows designed for use with Claude Code and Cursor AI.
Learned from real practice - Built on insights from millions of tokens of development experience. Extracts best practices from chat history, documentation patterns, and proven autonomous workflows.
Traditional "Vibe Coding" with AI produces unverified changes, leading to silent bugs and runaway loops. Up-CLI wraps your AI assistant in an engineering safety net:
| Principle | Implementation |
|---|---|
| Stable | Graceful degradation, fallback modes, unified state manager |
| Efficient | Token budget tracking, incremental testing, AST-based analysis |
| Safe | Input validation, path whitelisting, dry-run previews |
| Reliable | Circuit breakers, idempotency, verifiable git rollback |
| Cost-effective | Early termination, multi-agent parallel execution |
# Minimal installation
pip install up-cli
# Full installation (includes ChromaDB for Semantic Search Memory)
pip install up-cli[all]up initThis sets up the .up/ directory, safety hooks, and AI configuration files in your repo.
Open Claude Code (or Cursor) in your project and simply describe what you want to build. Use the AI to help you enrich and detail your vision β don't worry about getting it perfect on the first pass. The AI will help you think through edge cases, architecture, and scope.
Once your vision is clear, use the learning skill to analyze your codebase and generate a structured PRD:
/learn auto
This parses your project with AST analysis, detects frameworks and patterns, and produces a prd.json with prioritized, dependency-ordered tasks.
With your PRD ready, kick off the autonomous development loop:
/product-loop
The AI will work through each task in order β checkpointing, implementing, verifying, and committing β with circuit breakers and auto-rollback keeping things safe.
You always have manual control:
up save # checkpoint before risky work
up diff # review AI changes
up reset # rollback to last checkpoint| Command | Description |
|---|---|
up init |
Initialize up-cli in an existing repository |
up new <name> |
Scaffold a new project from template |
| Command | Description |
|---|---|
up save |
Create a Git checkpoint before risky AI work |
up diff |
Review AI changes before accepting |
up reset |
Instantly restore workspace to the last checkpoint |
| Command | Description |
|---|---|
up start |
Start the autonomous product loop |
up done |
Mark a task as completed |
| Command | Description |
|---|---|
up review |
Run an AI adversarial code review |
up status |
Show system health (circuit breakers, context budget, active agents) |
| Command | Description |
|---|---|
up memory search <q> |
Semantic search across historical decisions and bugs |
up memory record |
Manually record learnings/decisions to Long-Term Memory |
up memory status |
Show memory system statistics |
| Command | Description |
|---|---|
up agent spawn |
Spawn an agent in an isolated worktree |
up agent merge |
Merge an agent's work back to main |
| Command | Description |
|---|---|
up learn |
Analyze project and generate PRD for improvements |
| Command | Description |
|---|---|
up provenance show |
View detailed audit trail for an AI operation |
The up start command implements a bulletproof autonomous execution cycle:
OBSERVE β CHECKPOINT β EXECUTE β VERIFY β COMMIT
- Circuit Breaker: Prevents Doom Loops. If the AI fails to write passing code 3 times in a row, the circuit opens, halts execution, and prevents token burn.
- Auto-Rollback: If tests or linting fails, changes are instantly reverted.
- Smart Merge: In
--parallelmode, if multiple agents cause a Git conflict, the system feeds the conflict markers back to the AI to resolve intelligently.
The /learn commands use Python's Abstract Syntax Tree (ast) to physically parse your code, accurately detecting framework usage (e.g., React Hooks, FastAPI Routers, Repository patterns) rather than relying on brittle Regex or AI hallucinations.
Up-CLI comes with a local ChromaDB instance (.up/memory). It auto-indexes your git commits. When the AI gets stuck, it can semantic-search past errors and decisions to avoid repeating mistakes across sessions.
Create projects with pre-configured tech stacks and AI rules (CLAUDE.md, .cursorrules):
# FastAPI backend with SQLAlchemy
up new my-api --template fastapi
# Next.js frontend with TypeScript
up new my-app --template nextjs
# Python library with packaging
up new my-lib --template python-lib
# Full setup with MCP support
up new my-project --template full# Install for development
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/
# Type check
mypy src/up-cli/
βββ src/up/
β βββ cli.py # Main CLI entry point
β βββ ai_cli.py # AI CLI utilities (Claude/Cursor)
β βββ context.py # Context budget management
β βββ events.py # Event-driven integration
β βββ summarizer.py # Conversation analysis
β βββ parallel/ # Parallel execution system
β β βββ executor.py # Parallel task execution
β β βββ scheduler.py # Dependency-aware scheduling
β βββ core/ # Core modules
β β βββ state.py # Unified state management
β β βββ checkpoint.py # Git checkpoint operations
β β βββ provenance.py # AI operation tracking
β βββ git/ # Git utilities
β β βββ utils.py # Git command helpers
β β βββ worktree.py # Worktree management
β βββ learn/ # Learning system
β β βββ analyzer.py # Project analysis
β β βββ research.py # Topic/file learning
β β βββ plan.py # PRD generation
β β βββ utils.py # Shared utilities
β βββ memory/ # Long-term memory (ChromaDB)
β β βββ _manager.py # Memory manager
β β βββ entry.py # Memory entries
β β βββ stores.py # Storage backends
β βββ commands/ # CLI commands
β β βββ init.py # Initialize project
β β βββ new.py # Create new project
β β βββ status.py # System health
β β βββ dashboard.py # Live monitoring
β β βββ start/ # Product loop (subpackage)
β β βββ vibe.py # save/reset/diff
β β βββ agent.py # Multi-agent worktrees
β β βββ bisect.py # Bug hunting
β β βββ provenance.py # Lineage tracking
β β βββ review.py # AI code review
β β βββ branch.py # Branch hierarchy
β β βββ memory.py # Memory commands
β β βββ sync.py # Sync & hooks
β β βββ summarize.py # Conversation summary
β βββ ui/ # Terminal UI components
β β βββ loop_display.py # Product loop live display
β β βββ theme.py # Rich theme
β βββ templates/ # Scaffolding templates
β βββ config/ # CLAUDE.md, .cursor/rules
β βββ docs/ # Documentation system
β βββ learn/ # Learning system
β βββ loop/ # Product loop
β βββ mcp/ # MCP server
β βββ projects/ # Project templates
βββ tests/ # Test suite
βββ scripts/ # Utility scripts
βββ docs/ # Documentation
βββ architecture/ # System architecture
βββ guides/ # Usage guides
βββ handoff/ # Session continuity
MIT