mirror of
https://github.com/azaion/ai-training.git
synced 2026-04-23 03:06:35 +00:00
cbf370c765
- Changed the directory structure for task specifications to include a dedicated `todo/` folder within `_docs/02_tasks/` for tasks ready for implementation. - Updated references in various skills and documentation to reflect the new task lifecycle, including changes in the `implementer` and `decompose` skills. - Enhanced the README and flow documentation to clarify the new task organization and its implications for the implementation process. These updates improve task management clarity and streamline the implementation workflow.
236 lines
12 KiB
Markdown
236 lines
12 KiB
Markdown
# Greenfield Workflow
|
||
|
||
Workflow for new projects built from scratch. Flows linearly: Problem → Research → Plan → UI Design (if applicable) → Decompose → Implement → Run Tests → Security Audit (optional) → Performance Test (optional) → Deploy.
|
||
|
||
## Step Reference Table
|
||
|
||
| Step | Name | Sub-Skill | Internal SubSteps |
|
||
|------|------|-----------|-------------------|
|
||
| 1 | Problem | problem/SKILL.md | Phase 1–4 |
|
||
| 2 | Research | research/SKILL.md | Mode A: Phase 1–4 · Mode B: Step 0–8 |
|
||
| 3 | Plan | plan/SKILL.md | Step 1–6 + Final |
|
||
| 4 | UI Design | ui-design/SKILL.md | Phase 0–8 (conditional — UI projects only) |
|
||
| 5 | Decompose | decompose/SKILL.md | Step 1–4 |
|
||
| 6 | Implement | implement/SKILL.md | (batch-driven, no fixed sub-steps) |
|
||
| 7 | Run Tests | test-run/SKILL.md | Steps 1–4 |
|
||
| 8 | Security Audit | security/SKILL.md | Phase 1–5 (optional) |
|
||
| 9 | Performance Test | (autopilot-managed) | Load/stress tests (optional) |
|
||
| 10 | Deploy | deploy/SKILL.md | Step 1–7 |
|
||
|
||
## Detection Rules
|
||
|
||
Check rules in order — first match wins.
|
||
|
||
---
|
||
|
||
**Step 1 — Problem Gathering**
|
||
Condition: `_docs/00_problem/` does not exist, OR any of these are missing/empty:
|
||
- `problem.md`
|
||
- `restrictions.md`
|
||
- `acceptance_criteria.md`
|
||
- `input_data/` (must contain at least one file)
|
||
|
||
Action: Read and execute `.cursor/skills/problem/SKILL.md`
|
||
|
||
---
|
||
|
||
**Step 2 — Research (Initial)**
|
||
Condition: `_docs/00_problem/` is complete AND `_docs/01_solution/` has no `solution_draft*.md` files
|
||
|
||
Action: Read and execute `.cursor/skills/research/SKILL.md` (will auto-detect Mode A)
|
||
|
||
---
|
||
|
||
**Research Decision** (inline gate between Step 2 and Step 3)
|
||
Condition: `_docs/01_solution/` contains `solution_draft*.md` files AND `_docs/01_solution/solution.md` does not exist AND `_docs/02_document/architecture.md` does not exist
|
||
|
||
Action: Present the current research state to the user:
|
||
- How many solution drafts exist
|
||
- Whether tech_stack.md and security_analysis.md exist
|
||
- One-line summary from the latest draft
|
||
|
||
Then present using the **Choose format**:
|
||
|
||
```
|
||
══════════════════════════════════════
|
||
DECISION REQUIRED: Research complete — next action?
|
||
══════════════════════════════════════
|
||
A) Run another research round (Mode B assessment)
|
||
B) Proceed to planning with current draft
|
||
══════════════════════════════════════
|
||
Recommendation: [A or B] — [reason based on draft quality]
|
||
══════════════════════════════════════
|
||
```
|
||
|
||
- If user picks A → Read and execute `.cursor/skills/research/SKILL.md` (will auto-detect Mode B)
|
||
- If user picks B → auto-chain to Step 3 (Plan)
|
||
|
||
---
|
||
|
||
**Step 3 — Plan**
|
||
Condition: `_docs/01_solution/` has `solution_draft*.md` files AND `_docs/02_document/architecture.md` does not exist
|
||
|
||
Action:
|
||
1. The plan skill's Prereq 2 will rename the latest draft to `solution.md` — this is handled by the plan skill itself
|
||
2. Read and execute `.cursor/skills/plan/SKILL.md`
|
||
|
||
If `_docs/02_document/` exists but is incomplete (has some artifacts but no `FINAL_report.md`), the plan skill's built-in resumability handles it.
|
||
|
||
---
|
||
|
||
**Step 4 — UI Design (conditional)**
|
||
Condition: `_docs/02_document/architecture.md` exists AND the autopilot state does NOT show Step 4 (UI Design) as completed or skipped AND the project is a UI project
|
||
|
||
**UI Project Detection** — the project is a UI project if ANY of the following are true:
|
||
- `package.json` exists in the workspace root or any subdirectory
|
||
- `*.html`, `*.jsx`, `*.tsx` files exist in the workspace
|
||
- `_docs/02_document/components/` contains a component whose `description.md` mentions UI, frontend, page, screen, dashboard, form, or view
|
||
- `_docs/02_document/architecture.md` mentions frontend, UI layer, SPA, or client-side rendering
|
||
- `_docs/01_solution/solution.md` mentions frontend, web interface, or user-facing UI
|
||
|
||
If the project is NOT a UI project → mark Step 4 as `skipped` in the state file and auto-chain to Step 5.
|
||
|
||
If the project IS a UI project → present using Choose format:
|
||
|
||
```
|
||
══════════════════════════════════════
|
||
DECISION REQUIRED: UI project detected — generate mockups?
|
||
══════════════════════════════════════
|
||
A) Generate UI mockups before decomposition (recommended)
|
||
B) Skip — proceed directly to decompose
|
||
══════════════════════════════════════
|
||
Recommendation: A — mockups before decomposition
|
||
produce better task specs for frontend components
|
||
══════════════════════════════════════
|
||
```
|
||
|
||
- If user picks A → Read and execute `.cursor/skills/ui-design/SKILL.md`. After completion, auto-chain to Step 5 (Decompose).
|
||
- If user picks B → Mark Step 4 as `skipped` in the state file, auto-chain to Step 5 (Decompose).
|
||
|
||
---
|
||
|
||
**Step 5 — Decompose**
|
||
Condition: `_docs/02_document/` contains `architecture.md` AND `_docs/02_document/components/` has at least one component AND `_docs/02_tasks/todo/` does not exist or has no task files
|
||
|
||
Action: Read and execute `.cursor/skills/decompose/SKILL.md`
|
||
|
||
If `_docs/02_tasks/` subfolders have some task files already, the decompose skill's resumability handles it.
|
||
|
||
---
|
||
|
||
**Step 6 — Implement**
|
||
Condition: `_docs/02_tasks/todo/` contains task files AND `_dependencies_table.md` exists AND `_docs/03_implementation/FINAL_implementation_report.md` does not exist
|
||
|
||
Action: Read and execute `.cursor/skills/implement/SKILL.md`
|
||
|
||
If `_docs/03_implementation/` has batch reports, the implement skill detects completed tasks and continues.
|
||
|
||
---
|
||
|
||
**Step 7 — Run Tests**
|
||
Condition: `_docs/03_implementation/FINAL_implementation_report.md` exists AND the autopilot state does NOT show Step 7 (Run Tests) as completed AND (`_docs/04_deploy/` does not exist or is incomplete)
|
||
|
||
Action: Read and execute `.cursor/skills/test-run/SKILL.md`
|
||
|
||
---
|
||
|
||
**Step 8 — Security Audit (optional)**
|
||
Condition: the autopilot state shows Step 7 (Run Tests) is completed AND the autopilot state does NOT show Step 8 (Security Audit) as completed or skipped AND (`_docs/04_deploy/` does not exist or is incomplete)
|
||
|
||
Action: Present using Choose format:
|
||
|
||
```
|
||
══════════════════════════════════════
|
||
DECISION REQUIRED: Run security audit before deploy?
|
||
══════════════════════════════════════
|
||
A) Run security audit (recommended for production deployments)
|
||
B) Skip — proceed directly to deploy
|
||
══════════════════════════════════════
|
||
Recommendation: A — catches vulnerabilities before production
|
||
══════════════════════════════════════
|
||
```
|
||
|
||
- If user picks A → Read and execute `.cursor/skills/security/SKILL.md`. After completion, auto-chain to Step 9 (Performance Test).
|
||
- If user picks B → Mark Step 8 as `skipped` in the state file, auto-chain to Step 9 (Performance Test).
|
||
|
||
---
|
||
|
||
**Step 9 — Performance Test (optional)**
|
||
Condition: the autopilot state shows Step 8 (Security Audit) is completed or skipped AND the autopilot state does NOT show Step 9 (Performance Test) as completed or skipped AND (`_docs/04_deploy/` does not exist or is incomplete)
|
||
|
||
Action: Present using Choose format:
|
||
|
||
```
|
||
══════════════════════════════════════
|
||
DECISION REQUIRED: Run performance/load tests before deploy?
|
||
══════════════════════════════════════
|
||
A) Run performance tests (recommended for latency-sensitive or high-load systems)
|
||
B) Skip — proceed directly to deploy
|
||
══════════════════════════════════════
|
||
Recommendation: [A or B — base on whether acceptance criteria
|
||
include latency, throughput, or load requirements]
|
||
══════════════════════════════════════
|
||
```
|
||
|
||
- If user picks A → Run performance tests:
|
||
1. If `scripts/run-performance-tests.sh` exists (generated by the test-spec skill Phase 4), execute it
|
||
2. Otherwise, check if `_docs/02_document/tests/performance-tests.md` exists for test scenarios, detect appropriate load testing tool (k6, locust, artillery, wrk, or built-in benchmarks), and execute performance test scenarios against the running system
|
||
3. Present results vs acceptance criteria thresholds
|
||
4. If thresholds fail → present Choose format: A) Fix and re-run, B) Proceed anyway, C) Abort
|
||
5. After completion, auto-chain to Step 10 (Deploy)
|
||
- If user picks B → Mark Step 9 as `skipped` in the state file, auto-chain to Step 10 (Deploy).
|
||
|
||
---
|
||
|
||
**Step 10 — Deploy**
|
||
Condition: the autopilot state shows Step 7 (Run Tests) is completed AND (Step 8 is completed or skipped) AND (Step 9 is completed or skipped) AND (`_docs/04_deploy/` does not exist or is incomplete)
|
||
|
||
Action: Read and execute `.cursor/skills/deploy/SKILL.md`
|
||
|
||
---
|
||
|
||
**Done**
|
||
Condition: `_docs/04_deploy/` contains all expected artifacts (containerization.md, ci_cd_pipeline.md, environment_strategy.md, observability.md, deployment_procedures.md, deploy_scripts.md)
|
||
|
||
Action: Report project completion with summary. If the user runs autopilot again after greenfield completion, Flow Resolution rule 3 routes to the existing-code flow (re-entry after completion) so they can add new features.
|
||
|
||
## Auto-Chain Rules
|
||
|
||
| Completed Step | Next Action |
|
||
|---------------|-------------|
|
||
| Problem (1) | Auto-chain → Research (2) |
|
||
| Research (2) | Auto-chain → Research Decision (ask user: another round or proceed?) |
|
||
| Research Decision → proceed | Auto-chain → Plan (3) |
|
||
| Plan (3) | Auto-chain → UI Design detection (4) |
|
||
| UI Design (4, done or skipped) | Auto-chain → Decompose (5) |
|
||
| Decompose (5) | **Session boundary** — suggest new conversation before Implement |
|
||
| Implement (6) | Auto-chain → Run Tests (7) |
|
||
| Run Tests (7, all pass) | Auto-chain → Security Audit choice (8) |
|
||
| Security Audit (8, done or skipped) | Auto-chain → Performance Test choice (9) |
|
||
| Performance Test (9, done or skipped) | Auto-chain → Deploy (10) |
|
||
| Deploy (10) | Report completion |
|
||
|
||
## Status Summary Template
|
||
|
||
```
|
||
═══════════════════════════════════════════════════
|
||
AUTOPILOT STATUS (greenfield)
|
||
═══════════════════════════════════════════════════
|
||
Step 1 Problem [DONE / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 2 Research [DONE (N drafts) / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 3 Plan [DONE / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 4 UI Design [DONE / SKIPPED / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 5 Decompose [DONE (N tasks) / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 6 Implement [DONE / IN PROGRESS (batch M of ~N) / NOT STARTED / FAILED (retry N/3)]
|
||
Step 7 Run Tests [DONE (N passed, M failed) / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 8 Security Audit [DONE / SKIPPED / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 9 Performance Test [DONE / SKIPPED / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
Step 10 Deploy [DONE / IN PROGRESS / NOT STARTED / FAILED (retry N/3)]
|
||
═══════════════════════════════════════════════════
|
||
Current: Step N — Name
|
||
SubStep: M — [sub-skill internal step name]
|
||
Retry: [N/3 if retrying, omit if 0]
|
||
Action: [what will happen next]
|
||
═══════════════════════════════════════════════════
|
||
```
|