|
|
il y a 4 jours | |
|---|---|---|
| .abacusai | il y a 4 jours | |
| .devfoundry | il y a 4 jours | |
| specs | il y a 4 jours | |
| AGENTS.md | il y a 4 jours | |
| CLAUDE.md | il y a 4 jours | |
| README.md | il y a 4 jours | |
DevFoundry is a spec-driven development scaffold for projects that mix legacy stacks (Classic ASP, VBScript, VB6, MS Access) with modern ones (C#/.NET, PHP, SQL Server, Postgres, SQLite). No implementation code is written without an approved spec in specs/active/. This document explains what actually happens, step by step, when a spec gets made and carried through to completion.
See CLAUDE.md for the operational directives an agent follows, and AGENTS.md for the full persona routing table.
[User Request]
|
v
[1. Requirements Analyst] --> Elicits problem statement & acceptance criteria
|
v
[2. Solution Architect] --> Drafts specs/active/SPEC-<id>-<short-name>.md (status: DRAFT)
|
v
[User Approves Spec] --> Status: DRAFT -> APPROVED (frozen)
|
v
[3. Builder] --> Executes the implementation checklist step by step
|
v
[4. QA Verifier] --> Checks every acceptance criterion, no regressions
|
v
[5. Process Improver] --> Retrospective; logs lessons; escalates recurring friction
|
v
[Archive Spec] --> Moves spec to specs/archive/SPEC-<id>-<short-name>.md
Before any technical design starts, the Requirements Analyst persona (.devfoundry/personas/requirements-analyst.md) runs the interview procedure in .devfoundry/skills/spec-interview.md:
This persona never proposes a technical solution — that's the next stage's job. If the request is ambiguous, it asks rather than assumes.
Once requirements are confirmed, the Solution Architect persona (.devfoundry/personas/solution-architect.md) runs .devfoundry/skills/technical-spec.md:
specs/active/SPEC-<id>-<short-name>.md..mdb/.accdb files — copy before altering).DRAFT, and present it to the user.Spec Readiness Checklist before approval:
DRAFT.completed: <YYYY-MM-DD HH:MM> timestamp space.The Architect does not begin implementation — that only happens after approval.
The user reviews the DRAFT spec and approves it. Status flips DRAFT -> APPROVED, and the spec is now frozen: its Acceptance Criteria and Technical Design sections don't change without going back through this gate.
Depending on what's touched, either the Legacy Specialist or Modern Builder persona executes the implementation checklist one unchecked box at a time, in the TDD order the checklist was written in: write the failing test (or manual verification step) for a box, confirm it fails, then implement until it passes.
.asp, .vbs, .bas, .frm, .cls, .mdb, .accdb. Follows .devfoundry/rules/legacy-asp-vb6.md and .devfoundry/rules/database-sql.md: explicit COM object release, parameterized ADO queries, defensive error handling, backups before structural Access changes, and TDD via a test harness where one exists (manual verification steps written first, otherwise)..cs, .php, SQL Server/Postgres/SQLite scripts. Follows .devfoundry/rules/dotnet-csharp.md and .devfoundry/rules/php.md: parameterized queries, TDD (test written and run red before any implementation).Both personas touch only the files listed under the current task. They may check a task box [x] once that task's local verification passes and its completed: <YYYY-MM-DD HH:MM> note is recorded. The overall spec is not complete until the QA Verifier approves every acceptance criterion and regression check.
The QA Verifier persona (.devfoundry/personas/qa-verifier.md) runs .devfoundry/skills/regression-check.md:
A spec is not approved as complete if any acceptance criterion fails.
Once QA passes, the Process Improver persona (.devfoundry/personas/process-improver.md) runs .devfoundry/skills/process-retrospective.md before the spec is archived:
This is what keeps the process itself improving — recurring corrections get folded back into the rules instead of being repeated by hand on every spec.
The completed spec moves from specs/active/SPEC-<id>-<short-name>.md to specs/archive/SPEC-<id>-<short-name>.md. Archived specs are immutable history and are never edited by later retrospectives.
Three standards apply across every stack, defined in .devfoundry/rules/general.md and expanded per stack in the rule files:
See .devfoundry/rules/dotnet-csharp.md, .devfoundry/rules/php.md, and .devfoundry/rules/legacy-asp-vb6.md for how each applies per stack (e.g. ASP.NET Core MVC/Razor Pages, Laravel-style or explicit controllers/models/views in PHP, and concern-separated modules in Classic ASP, which has no built-in MVC framework).
| Path | Contents |
|---|---|
specs/active/ |
Specs currently DRAFT, APPROVED, IN PROGRESS, or REVISED |
specs/archive/ |
Completed, immutable specs |
specs/templates/ |
spec-template.md, tasks-template.md |
specs/.spec-counter |
Next unused spec ID; incremented by the Solution Architect each time a spec is created — never reused |
.devfoundry/personas/ |
The six agent roles in the lifecycle above |
.devfoundry/skills/ |
The step-by-step procedures each persona follows |
.devfoundry/rules/ |
Stack-specific coding standards (legacy, .NET, PHP, database/SQL, general) |
.devfoundry/references/ |
Project-specific facts: environments, data dictionary, SQL dialects |
.devfoundry/improvement-log.md |
Append-only retrospective entries plus a maintained Friction Tally |
| Status | Set by | Meaning / next step |
|---|---|---|
DRAFT |
Solution Architect | Spec is ready for user review, but implementation has not started. |
APPROVED |
User approval, recorded by the agent | Acceptance Criteria and Technical Design are frozen; Builder may start. |
IN PROGRESS |
Builder | First Implementation Plan task has been started or checked off. |
REVISED |
Solution Architect / Builder, after a post-freeze scope change | Frozen sections have an amendment pending user approval. |
COMPLETED |
QA Verifier | All acceptance criteria and regression checks passed; Process Improver runs before archive. |
A spec can also move APPROVED/IN PROGRESS → REVISED if the user requests a genuine scope change after freeze — see “Amending an APPROVED or IN PROGRESS Spec” in .devfoundry/skills/technical-spec.md. Once the revision is approved, it returns to APPROVED or IN PROGRESS and continues toward COMPLETED.
Powered by TurnKey Linux.