|
|
4 gün önce | |
|---|---|---|
| .abacusai | 4 gün önce | |
| .devfoundry | 4 gün önce | |
| specs | 4 gün önce | |
| AGENTS.md | 4 gün önce | |
| CLAUDE.md | 4 gün önce | |
| README.md | 4 gün önce | |
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/<id>-<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/<id>-<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/<id>-<short-name>.md..mdb/.accdb files — copy before altering).DRAFT and present it to the user.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, and check the box [x] in the spec once a step is done and verified.
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/<id>-<name>.md to specs/archive/<id>-<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 log of retrospectives across all specs |
DRAFT → APPROVED → IN PROGRESS → COMPLETED (then archived).
APPROVED flips to IN PROGRESS when the Builder checks the first Implementation Plan box.
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.