ShipFast — Solo Dev AI Project Manager
- Python 51.9%
- Vue 22.7%
- TypeScript 22.6%
- Shell 1.7%
- CSS 0.9%
- Other 0.2%
- Fix B023 loop variable binding in drain_refine_stream by capturing refine_usage as a default argument (_usage=refine_usage) - Add missing STATUS_NEEDS_REVIEW and STATUS_REVIEW_PASSED imports to main.py for bulk_approve_tasks endpoint - Add node_modules/ to .gitignore and remove from git tracking Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| backend | ||
| frontend-vue | ||
| .env.example | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CLAUDE.md | ||
| deploy.sh | ||
| pyproject.toml | ||
| README.md | ||
| start.sh | ||
⚡ SHIPFAST — Solo Dev AI Project Manager
Write requirements → Claude generates tasks → Claude Code agents implement while you sleep.
Architecture
Browser (frontend/index.html)
│
├── HTTP/WS → FastAPI (backend/main.py) :7432
│ │
│ ├── SQLite (shipfast.db) — projects, tasks, settings
│ ├── Forgejo API — create repos, branches, PRs
│ └── AgentRunner (agent_runner.py)
│ └── spawns: claude --print <task-prompt>
│ in project's local folder
│ commits → pushes → opens PR
└── WebSocket — live task/log updates
Setup
1. Prerequisites
- Python 3.11+
git- Claude Code CLI installed and authenticated (
claude --version) - A running Forgejo instance
2. Run
chmod +x start.sh
./start.sh
# Open http://localhost:7432
3. Configure Settings (first run)
Open http://localhost:7432 → Settings:
| Field | Example |
|---|---|
| Forgejo URL | http://localhost:3000 |
| Forgejo Token | Create at Forgejo → Settings → Applications → Access Tokens |
| Forgejo Username | yourusername |
| Anthropic API Key | sk-ant-... (for Chat→Tasks AI) |
| Claude Code CLI Path | claude (or full path) |
| Projects Root | /home/you/projects |
Workflow
1. Create a Project
- Click + New Project
- SHIPFAST creates: local folder →
git init→ push to Forgejo
2. Chat → Generate Tasks
- Go to the Chat → Tasks tab
- Describe what you want to build in plain language
- Claude generates structured tasks with success criteria and adds them to the Board
3. Review & Curate
- Tasks land in Backlog
- Open each task, review the success criteria, edit if needed
- Move to Ready when you want an agent to pick it up
4. Agent Execution (automatic)
When a task is moved to Ready:
- SHIPFAST spawns
claude --printin the project folder - The agent reads the codebase, implements the task
- Creates a git branch
task/<id>-<slug> - Commits all changes
- Pushes to Forgejo
- Opens a Pull Request
- Task moves to Review
5. Review & Merge
- Check the PR on Forgejo
- Review the diff, run tests
- Merge if happy → move task to Done
Task Statuses
| Status | Meaning |
|---|---|
| Backlog | Generated but not yet approved |
| Ready | Approved, queued for agent |
| Running | Claude Code agent is working |
| Review | Agent finished, PR open |
| Done | Merged and complete |
| Failed | Agent errored — check log, retry |
Tips
- Success Criteria is what the agent uses to verify its work — be specific
- Multiple tasks can run in parallel (one agent per task)
- Use the Log button on any running/failed task to see agent output live
- Failed tasks can be retried after fixing the success criteria
- The Repo tab shows Forgejo branches and recent commits in real time