Demo repository for Shepherd — a boilerplate FastAPI app with pre-filled pipeline stages for recording workflow demos.
A minimal task management API with realistic pipeline state at every stage — INBOX items waiting for triage, BACKLOG items in Ideation/Refining/Ready, a TODO-Today queue mid-execution, and completed items in DONE-Today.
Use this repo to:
- Record demo videos of the Shepherd loop in action
- Test governance tooling (Remote Control, Pipeline Dashboard) against real pipeline state
- Onboard new users with a working example they can run immediately
# 1. Clone
git clone https://github.com/cordsjon/agentflow-demo.git
cd agentflow-demo
# 2. Set up
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip install -r requirements.txt
# 3. Run
python -m uvicorn app.main:app --reload --port 8000
# 4. Open
# API docs: http://localhost:8000/docs
# Health: http://localhost:8000/api/health| File | Items | Demo Purpose |
|---|---|---|
INBOX.md |
4 raw items | Show triage flow (classify → BACKLOG) |
BACKLOG.md |
9 items across 3 stages | Show graduation (Ideation → Refining → Ready) |
TODO-Today.md |
6 queue items (2 done, 1 current, 3 pending) | Show autopilot execution mid-flight |
DONE-Today.md |
5 completed items with timestamps | Show completion log + archive trigger |
.autopilot |
run |
Autopilot is active |
- Open
INBOX.md— 4 untriaged items - Run
/sh:triage— classify each item - Watch items move to
BACKLOG.mdappropriate stages
- Show BACKLOG with items in Ideation, Refining, Ready
- Run
/sh:brainstormon an Ideation item → moves to Refining - Run
/sh:spec-review+/sh:spec-panel→ score >= 7.0 → moves to Ready
- Show
TODO-Today.mdwith 4 unchecked items - Start
/sh:autopilot— agent picks first unchecked - Watch the 14-step inner loop: TDD → implement → verify → review → cleanup → commit
- Item gets checked, next item picked up
- Implementation completes
/sh:analyzeruns — finds 2 Low, 1 Medium issue- Low issues auto-fixed in cleanup loop
- Medium issue → autopilot pauses → human review
- Queue nearly empty (1 item left)
- System suggests planning round
- Scan INBOX, check staleness, review risks
/sh:workflowgenerates new queue from Ready items
agentflow-demo/
├── app/
│ ├── main.py # FastAPI app + routes
│ ├── models.py # SQLModel entities (Task, Tag)
│ ├── services.py # Business logic (service-first pattern)
│ └── templates/
│ └── index.html # Minimal UI
├── tests/
│ └── test_tasks.py # Example test file
├── governance/ # ← Synced from Shepherd repo
│ ├── CLAUDE-LOOP.md
│ ├── DOD.md
│ ├── DOR.md
│ └── ...
├── INBOX.md # Pre-filled: 4 raw items
├── BACKLOG.md # Pre-filled: 9 items (3 stages)
├── TODO-Today.md # Pre-filled: 6 items (mid-execution)
├── DONE-Today.md # Pre-filled: 5 completed items
├── .autopilot # Semaphore: "run"
├── CLAUDE.md # Agent instructions
├── requirements.txt
└── README.md
This demo uses Shepherd governance. The governance/ directory is synced from the Shepherd repo. All 34 /sh: commands are available.
MIT — see LICENSE.