|
|
4 dias atrás | |
|---|---|---|
| .abacusai | 4 dias atrás | |
| .devfoundry | 4 dias atrás | |
| docs | 4 dias atrás | |
| specs | 4 dias atrás | |
| AGENTS.md | 4 dias atrás | |
| CLAUDE.md | 4 dias atrás | |
| README.md | 4 dias atrás | |
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.No schema changes; rollback is git revert.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.
If the user cancels a DRAFT spec before approval, set its status to ABANDONED, add a brief cancellation reason in the Business Context or a final note, and move it to specs/archive/SPEC-<id>-<short-name>.md. Do not decrement specs/.spec-counter and do not reuse the ID.
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 or abandoned 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 |
docs/process-checks.md |
Repeatable process verification checks for workflow documentation changes |
.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. |
ABANDONED |
User cancellation, recorded by the agent | Draft work was cancelled before approval; the spec is archived and its ID is never reused. |
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.