https://github.com/thryth-x-remag/r-sdlc
Autonomous SDLC loop for any codebase — dev, review, QA, done, 24/7. MIT. Three stack templates. Live dashboard.
https://github.com/thryth-x-remag/r-sdlc
agents ai-coding autonomous claude-code devtools sdlc
Last synced: 2 months ago
JSON representation
Autonomous SDLC loop for any codebase — dev, review, QA, done, 24/7. MIT. Three stack templates. Live dashboard.
- Host: GitHub
- URL: https://github.com/thryth-x-remag/r-sdlc
- Owner: thryth-x-remag
- License: mit
- Created: 2026-04-18T15:58:05.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T17:18:41.000Z (2 months ago)
- Last Synced: 2026-04-18T18:18:32.442Z (2 months ago)
- Topics: agents, ai-coding, autonomous, claude-code, devtools, sdlc
- Language: Go
- Homepage: https://thryth-x-remag.github.io/r-sdlc/
- Size: 5.16 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# r-sdlc
[](https://github.com/thryth-x-remag/r-sdlc/actions/workflows/ci.yml)
[](https://github.com/thryth-x-remag/r-sdlc/releases)
[](https://github.com/thryth-x-remag/r-sdlc/pkgs/container/r-sdlc)
[](LICENSE)
[](https://thryth-x-remag.github.io/r-sdlc/)
**Autonomous SDLC loop for any codebase.** Dev → Review → QA → Done, 24/7, driven by [Claude Code](https://claude.com/claude-code) agents and a live dashboard.
Extracted from [Remag](https://github.com/thryth-x-remag/remag) — the project that shipped ~100 tasks autonomously.
> **Proof run:** on `examples/minimal-todo`, the loop shipped 5 real tasks (2 seeded + 3 auto-innovated) with 34/34 tests passing in ~15 minutes, zero human code intervention.
---
## Contents
- [Quickstart (Docker)](#quickstart-docker)
- [Getting started by stack](#getting-started-by-stack)
- [How it works](#how-it-works)
- [Why r-sdlc](#why-r-sdlc)
- [Architecture](#architecture)
- [Commands](#commands)
- [FAQ](#faq)
- [Roadmap](#roadmap)
- [License](#license)
---
## Quickstart (Docker)
```bash
docker run --rm -p 7777:7777 -v $(pwd):/project ghcr.io/thryth-x-remag/r-sdlc:latest
# → open http://localhost:7777
```
Multi-project:
```bash
docker run -p 7777:7777 \
-v /path/to/a:/projects/a -v /path/to/b:/projects/b \
-e PROJECT_ROOTS=/projects/a,/projects/b \
ghcr.io/thryth-x-remag/r-sdlc:latest
```
Or clone the repo + try the Node demo locally:
```bash
git clone https://github.com/thryth-x-remag/r-sdlc && cd r-sdlc
export PATH="$PWD/bin:$PATH"
export R_SDLC_HOME=$PWD R_SDLC_ROOT=$PWD/examples/minimal-todo
cd examples/minimal-todo && npm install
r-sdlc dashboard & # live UI on :7777
r-sdlc start # the loop takes over
```
---
## Getting started by stack
### Any stack (`generic`)
```bash
cd ~/my-project
r-sdlc init --stack=generic
# Edit project/stack.yml: point build/test/lint/e2e at your real commands
# Edit CLAUDE.md + project/goal.txt + project/feature-map.md
r-sdlc start
```
Skills never hardcode `go build` / `npm test` / `pytest` — everything routes through `project/stack.yml`. Works for Node, Python, Rails, Rust, Elixir, Deno, Bun, COBOL — anything you can shell.
### Python
```bash
cd ~/my-python-project
r-sdlc init --stack=python
# Tune project/stack.yml if not using pytest + ruff + mypy + uvicorn
r-sdlc start
```
Reference example: [`examples/python-todo`](examples/python-todo/) — stdlib-only HTTP TODO with 6 pytest cases and two seeded specs (SQLite persistence, rate limiting).
### Go + Next.js
```bash
cd ~/my-go-nextjs-project
r-sdlc init --stack=go-nextjs
# Read CLAUDE.md — confirm layout assumptions match your repo
# (backend/ + web/, scripts/run.sh, backend/docs/API.md)
r-sdlc start
```
Skills carry over Remag's battle-tested rules: cross-service Kafka discipline, gRPC port map, API.md auto-update contract, Playwright two-browser testing, ScyllaDB partition hygiene.
---
## How it works
Five autonomous lanes, one shared board:
```
┌──────────┐
inbox ───►│ innovate │─── writes specs to project/tasks/
└──────────┘
│
▼
┌──────────┐ ┌──────────┐ ┌──────────┐
todo ───►│ dev │───►│ review │────►│ qa │───► done (archived)
└──────────┘ └──────────┘ └──────────┘
│ │
│ on FAIL │
▼ ▼
reopened (bumps `reopens` counter)
```
- **Row-per-file board** — each task is a file under `project/board/`. Lanes own exclusive rows. No locks, no races, safe parallel commits.
- **Learnings-aware** — `project/learnings.md` is prepended to every spawn. QA + review must add a bullet on P0/P1 or `reopens >= 2`, or justify "no pattern" in the commit body.
- **Live dashboard** — Go binary serves SSE + REST on `:7777`. React UI (React 19 + Tailwind v4) renders Live / Board / Inbox pages with click-through task detail.
- **Stack-agnostic** — `project/stack.yml` defines `build`, `test`, `lint`, `e2e`, `up`, `down`, `health_url`. Swap the values, skills adapt.
---
## Why r-sdlc
Most "AI coding" tools stop at "generate a PR". r-sdlc runs the whole software development lifecycle:
| Capability | Typical AI tool | r-sdlc |
|---|---|---|
| Write a PR from a prompt | ✅ | ✅ |
| Run tests after writing | ⚠️ sometimes | ✅ required |
| Review against explicit acceptance criteria | ❌ | ✅ separate agent |
| QA against real services (no mocks) | ❌ | ✅ real DB / HTTP / E2E |
| File bugs on itself, reopen, re-iterate | ❌ | ✅ reopens counter + escalation |
| Accumulate learnings across tasks | ❌ | ✅ `learnings.md` auto-prepended |
| Stack-agnostic | ❌ | ✅ any stack via `stack.yml` |
| Live observability | ❌ | ✅ SSE dashboard + multi-project |
| Parallel agents with atomic commits | ❌ | ✅ row-per-file board, git flock |
---
## Architecture
```
bin/r-sdlc # CLI — init / upgrade / start / stop / dashboard / doctor
core/
board-lib.sh # row CRUD (row_create, row_update_status, row_archive)
dispatcher.sh # spawns claude -p with stream-json per lane
watchdog.sh # stale-agent reaper + reopens bumper
dashboard/ # Go binary (SSE + REST) + embed for the React dist
dashboard-react/ # Vite + React 19 + TS + Tailwind v4
templates/
generic/ # stack-agnostic skill bundle
python/ # pytest + ruff + mypy + uvicorn preset
go-nextjs/ # Remag's full battle-tested skill bundle
examples/
minimal-todo/ # Node stdlib TODO — demo project for `generic`
python-todo/ # Python stdlib TODO — demo project for `python`
docs/
index.html # GitHub Pages landing
ADAPTING.md # author a new stack template
```
## Commands
| Command | Does |
|---|---|
| `r-sdlc init --stack=` | Scaffold `.claude/` + `project/` in cwd |
| `r-sdlc upgrade [--stack=] [--dry-run]` | Refresh skills from newer template. Never clobbers — conflicts land as `*.r-sdlc-new` sidecars |
| `r-sdlc start` | Resume loop (removes `stop.flag`, dispatches next agent) |
| `r-sdlc stop` | Halt loop + kill agents |
| `r-sdlc dashboard [--port=N] [--roots=a,b,c]` | Launch React UI; `--roots` registers multiple projects |
| `r-sdlc doctor` | Environment + health check |
| `r-sdlc version` | Print version |
---
## FAQ
**How is this different from Claude Code itself?**
r-sdlc *uses* Claude Code as the agent runtime. Each lane (`dev`, `qa`, `review`, `innovate`, `start`) is a separate `claude -p` process with project-scoped skills under `.claude/commands/`. r-sdlc adds the SDLC orchestration layer around it: a row-based board, dispatcher, watchdog, reopens counter, learnings accumulator, multi-project dashboard.
**How much does it cost to run?**
Each task cycle (dev → review → qa → done) typically uses **$1–3 of Claude API tokens** depending on task complexity and the models you pick. The minimal-todo smoke run shipped 5 tasks for ~$15 total. Cost is billed directly to your Anthropic account — r-sdlc adds nothing on top. Per-lane model selection (`opus` / `sonnet`) lets you trade cost for depth.
**What if the agents make bad commits?**
Every action is a reviewable git commit with the lane + task IDs in the subject (`dev: T-001 —`, `qa: T-001 T-002 — PASS`). Nothing is hidden. The loop has three layers of defence:
- **Review agent** checks each PR against explicit acceptance criteria and must mark PASS or FAIL.
- **QA agent** runs the real test suite; no mocks allowed on integration paths.
- **`reopens` counter** on every task — 3rd reopen auto-escalates back to innovator for re-spec instead of looping forever.
If something does land wrong, `git revert ` works exactly like any human-authored commit.
**Can I use r-sdlc on proprietary / private code?**
Yes. The loop runs entirely on your machine (or your container). Claude Code respects your Anthropic workspace's data-handling policy — r-sdlc adds nothing to that pipeline. No code leaves your environment except via the Claude API call you've already authorized. Repo stays local; only the prompts/completions transit.
**Do I have to use the React dashboard?**
No, it's optional observability. The loop works headless — everything is in `project/` as plain files. `r-sdlc start` dispatches agents via `dispatcher.sh` regardless of whether the dashboard is running.
**What breaks if two dev agents race on the same task?**
They can't. Rows are files — `row_update_status T-001 in-progress` is an atomic `sed` under `flock`. A second agent trying to claim T-001 gets an already-in-progress error. Parallel dev lanes work because they're dispatched on *different* task IDs by `/start`.
**Can I edit a skill for my project without losing it on upgrade?**
Yes. `r-sdlc upgrade` never clobbers — diffs are written to `.r-sdlc-new` so you review and merge manually. `--dry-run` previews without writing.
---
## Roadmap
- [x] **v0.1** — Engine extracted from Remag, stack-agnostic
- [x] **v0.2** — Templates (generic + go-nextjs), Node demo, GitHub Pages landing
- [x] **v0.3** — React dashboard served from the Go binary
- [x] **v0.4** — Multi-project dashboard, vanilla retired, React is the sole UI
- [x] **v0.5** — Task detail modal, lane controls, theme toggle, preview-verified
- [x] **v0.6** — CI workflows, multi-arch Docker image on ghcr.io, Python template
- [x] **v0.7** — `r-sdlc upgrade` — refresh skills without clobbering customizations
- [x] **v0.8** — Landing page polish (Docker-first quickstart, stacks grid, versions timeline)
- [x] **v0.9** — Python example project + CI job (template proof complete per stack)
- [x] **v1.0** — **Launch-ready: comprehensive README + FAQ + getting-started-by-stack.**
- [ ] **v2.0+** — Hosted multi-tenant dashboard, SSO, on-prem, SOC 2 *when there's customer pull to justify the compliance spend*.
---
## License
MIT on `core/` + `templates/`. A future hosted multi-tenant dashboard (v2.0+) will carry a separate commercial license; today's build is 100% MIT, end to end.
## Credits
Built on [Claude Code](https://claude.com/claude-code) by Anthropic. The framework pattern came from pushing [Remag](https://github.com/thryth-x-remag/remag) hard enough that every rough edge became a concrete rule in `learnings.md`.