|
| 1 | +--- |
| 2 | +name: devflow-client |
| 3 | +description: > |
| 4 | + Use when starting any development work on AgentAuth Python SDK — loads the |
| 5 | + Development Flow, checks tracker state, and tells you which step to execute next. |
| 6 | + Trigger on: "start dev", "what's next", "resume work", "continue", |
| 7 | + "where are we", "pick up where we left off", any development request. |
| 8 | + No council steps, Python-specific gates. |
| 9 | +--- |
| 10 | + |
| 11 | +# AgentAuth Python SDK — Development Flow |
| 12 | + |
| 13 | +Start here for any development work. This skill loads context and tells you |
| 14 | +what to do next. |
| 15 | + |
| 16 | +## Instructions |
| 17 | + |
| 18 | +1. Read these files in order: |
| 19 | + - `MEMORY.md` (repo root) |
| 20 | + - `FLOW.md` (repo root) — if it doesn't exist or has no current step, start at Step 1 |
| 21 | + - `.plans/tracker.jsonl` (current state of all stories and tasks) — create if missing |
| 22 | + |
| 23 | +2. From FLOW.md + tracker, identify the current step: |
| 24 | + |
| 25 | +| Step | What | Skill | Model | Done when | |
| 26 | +|------|------|-------|-------|-----------| |
| 27 | +| 1 | Brainstorm | `superpowers:brainstorming` | **opus** | Design doc in `.plans/designs/` | |
| 28 | +| 2 | Write Spec | Follow `.plans/SPEC-TEMPLATE.md` | **opus** | Spec in `.plans/specs/` | |
| 29 | +| 3 | Impl Plan | `superpowers:writing-plans` | **opus** | Plan in `.plans/` with tasks | |
| 30 | +| 4 | Acceptance Tests | Write stories in `tests/sdk-core/` | **opus** | Stories with Who/What/Why/How/Expected | |
| 31 | +| 5 | Register Tracker | Update `.plans/tracker.jsonl` | any | All stories + tasks registered | |
| 32 | +| 6 | Code | `superpowers:executing-plans` | **sonnet** | All tasks PASS, gates green | |
| 33 | +| 7 | Review | `superpowers:requesting-code-review` + `writing-plans` | **sonnet** / **opus** | Findings documented + fix plan written | |
| 34 | +| 7.5 | Fix Findings | `superpowers:executing-plans` | **sonnet** | Fix plan complete, gates green | |
| 35 | +| 8 | Live Test | `superpowers:verification-before-completion` | **sonnet** | Integration tests PASS against live broker | |
| 36 | +| 9 | Merge | `superpowers:finishing-a-development-branch` | any | Human approved, merged to `main` | |
| 37 | + |
| 38 | +**No council steps.** This is a client SDK — faster iteration, fewer review gates. |
| 39 | + |
| 40 | +**Step 7:** Reviewer produces findings AND a fix plan. No ad-hoc fixes. |
| 41 | + |
| 42 | +**Step 6 + 7.5:** Use `executing-plans` for all coding — even small fixes. |
| 43 | + |
| 44 | +3. Announce: "Dev Flow (Python SDK): Step N — [step name]. [X/Y tasks done]. Next: [action]." |
| 45 | + |
| 46 | +4. Invoke the relevant superpowers skill if one is listed. |
| 47 | + |
| 48 | +## API Source of Truth |
| 49 | + |
| 50 | +The broker API contract lives in-repo (vendored, frozen): |
| 51 | +- **API contract:** `broker/docs/api.md` — see `broker/VENDOR.md` for provenance |
| 52 | + |
| 53 | +Read the API doc before writing or modifying any HTTP call in the SDK. |
| 54 | + |
| 55 | +## Gates (run after every commit) |
| 56 | + |
| 57 | +```bash |
| 58 | +uv run ruff check . # G1: lint |
| 59 | +uv run mypy --strict src/ # G2: type check |
| 60 | +uv run pytest tests/unit/ # G3: unit tests |
| 61 | +``` |
| 62 | + |
| 63 | +All three must PASS before moving to the next task. |
| 64 | + |
| 65 | +## Contamination Check |
| 66 | + |
| 67 | +After any HITL removal work: |
| 68 | +```bash |
| 69 | +grep -ri "hitl\|approval\|oidc\|federation\|sidecar" src/ tests/ |
| 70 | +``` |
| 71 | +Must return nothing. |
| 72 | + |
| 73 | +## Live Broker Testing |
| 74 | + |
| 75 | +Integration and acceptance tests require a running broker. Use the in-repo vendored copy: |
| 76 | +```bash |
| 77 | +export AA_ADMIN_SECRET="live-test-secret-32bytes-long-ok" |
| 78 | +./broker/scripts/stack_up.sh |
| 79 | +``` |
| 80 | + |
| 81 | +Then run SDK integration tests: |
| 82 | +```bash |
| 83 | +uv run pytest -m integration |
| 84 | +``` |
| 85 | + |
| 86 | +## Rules |
| 87 | + |
| 88 | +- Branch from `main`. Feature branches: `feature/*`, fix branches: `fix/*`. |
| 89 | +- Plans save to `.plans/`, specs to `.plans/specs/`, designs to `.plans/designs/`. |
| 90 | +- Update tracker when story/task status changes. |
| 91 | +- **Run gates after each commit.** Fix failures before moving on. |
| 92 | +- **Update `CHANGELOG.md` with every user-facing change** — same commit as the code. |
| 93 | +- **Strict types everywhere** — no untyped variables, parameters, or returns. |
| 94 | +- **`uv` only** — never pip, poetry, or conda. |
0 commit comments