@techierathore/techieflow 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/TechieFlow/agents/analyst.md +0 -5
- package/.claude/commands/TechieFlow/agents/architect.md +0 -6
- package/.claude/commands/TechieFlow/agents/flow-master.md +41 -215
- package/.claude/commands/TechieFlow/agents/verifier.md +23 -64
- package/.claude/commands/TechieFlow/tasks/_metrics-emit-gate.md +24 -117
- package/.claude/commands/TechieFlow/tasks/_smoke-test-policy.md +20 -84
- package/.claude/commands/TechieFlow/tasks/_status-update-gate.md +10 -74
- package/.claude/commands/TechieFlow/tasks/_yolo-mode.md +20 -58
- package/.claude/commands/TechieFlow/tasks/amend-docs.md +20 -143
- package/.claude/commands/TechieFlow/tasks/build-phase.md +14 -224
- package/.claude/commands/TechieFlow/tasks/day1-brownfield.md +31 -505
- package/.claude/commands/TechieFlow/tasks/day1-greenfield.md +28 -213
- package/.claude/commands/TechieFlow/tasks/deploy-checklist.md +19 -0
- package/.claude/commands/TechieFlow/tasks/devguide.md +10 -219
- package/.claude/commands/TechieFlow/tasks/fix-issues.md +10 -129
- package/.claude/commands/TechieFlow/tasks/log-miss.md +19 -158
- package/.claude/commands/TechieFlow/tasks/metrics-report.md +1 -1
- package/.claude/commands/TechieFlow/tasks/mockups.md +12 -117
- package/.claude/commands/TechieFlow/tasks/refresh-status.md +9 -130
- package/.claude/commands/TechieFlow/tasks/split-brd.md +10 -126
- package/.claude/commands/TechieFlow/tasks/triage-and-fix.md +14 -0
- package/.claude/commands/TechieFlow/tasks/triage-issues.md +11 -152
- package/.claude/commands/TechieFlow/tasks/verify-phase.md +36 -572
- package/.opencode/plugin/techieflow.js +39 -12
- package/.tfcore/agents/analyst.md +0 -5
- package/.tfcore/agents/architect.md +0 -6
- package/.tfcore/agents/flow-master.md +41 -215
- package/.tfcore/agents/verifier.md +23 -64
- package/.tfcore/core-config.yaml +10 -0
- package/.tfcore/hooks/block-git.sh +4 -4
- package/.tfcore/hooks/guard-artifacts.sh +2 -2
- package/.tfcore/hooks/guard-build.sh +76 -0
- package/.tfcore/hooks/guard-db.sh +90 -0
- package/.tfcore/hooks/guard-metrics.sh +56 -0
- package/.tfcore/hooks/guard-status-html.sh +116 -71
- package/.tfcore/hooks/guard-status.sh +43 -16
- package/.tfcore/hooks/guard-verify.sh +70 -48
- package/.tfcore/hooks/sweep-artifacts.sh +2 -2
- package/.tfcore/install-manifest.yaml +0 -18
- package/.tfcore/routing.yaml +25 -14
- package/.tfcore/standards/coding-standards-core.md +61 -0
- package/.tfcore/standards/coding-standards-dotnet.md +93 -0
- package/.tfcore/tasks/_metrics-emit-gate.md +24 -117
- package/.tfcore/tasks/_smoke-test-policy.md +20 -84
- package/.tfcore/tasks/_status-update-gate.md +10 -74
- package/.tfcore/tasks/_yolo-mode.md +20 -58
- package/.tfcore/tasks/amend-docs.md +20 -143
- package/.tfcore/tasks/build-phase.md +14 -224
- package/.tfcore/tasks/day1-brownfield.md +31 -505
- package/.tfcore/tasks/day1-greenfield.md +28 -213
- package/.tfcore/tasks/deploy-checklist.md +19 -0
- package/.tfcore/tasks/devguide.md +10 -219
- package/.tfcore/tasks/fix-issues.md +10 -129
- package/.tfcore/tasks/log-miss.md +19 -158
- package/.tfcore/tasks/metrics-report.md +1 -1
- package/.tfcore/tasks/mockups.md +12 -117
- package/.tfcore/tasks/refresh-status.md +9 -130
- package/.tfcore/tasks/split-brd.md +10 -126
- package/.tfcore/tasks/triage-and-fix.md +14 -0
- package/.tfcore/tasks/triage-issues.md +11 -152
- package/.tfcore/tasks/verify-phase.md +36 -572
- package/.tfcore/telemetry/SCHEMA.md +43 -7
- package/.tfcore/telemetry/tf-metrics.sh +152 -17
- package/.tfcore/templates/project-brief-tmpl.yaml +1 -1
- package/.tfcore/templates/stack-defaults/dotnet.md +35 -0
- package/.tfcore/templates/stack-questions.md +77 -0
- package/.tfcore/templates/v4custom/app-agents-md-tmpl.md +3 -4
- package/.tfcore/templates/v4custom/app-architecture-tmpl.md +107 -115
- package/.tfcore/templates/v4custom/app-brd-tmpl.md +108 -184
- package/.tfcore/templates/v4custom/app-checklist-tmpl.md +48 -73
- package/.tfcore/templates/v4custom/app-claude-md-tmpl.md +1 -1
- package/.tfcore/templates/v4custom/app-coding-standards-tmpl.md +52 -0
- package/.tfcore/templates/v4custom/app-deployment-checklist-tmpl.md +86 -0
- package/.tfcore/templates/v4custom/app-devguide-tmpl.md +69 -146
- package/.tfcore/templates/v4custom/app-phases-tmpl.md +35 -0
- package/.tfcore/templates/v4custom/app-productguide-tmpl.md +38 -35
- package/.tfcore/templates/v4custom/app-project-status-tmpl.md +63 -73
- package/.tfcore/templates/v4custom/app-uidesign-tmpl.md +62 -37
- package/.tfcore/templates/v4custom/app-usageguide-tmpl.md +69 -54
- package/.tfcore/templates/v4custom/build-invocation-ladder.md +17 -180
- package/.tfcore/templates/v4custom/build-subagent-prompt.md +17 -0
- package/.tfcore/templates/v4custom/metrics-report-template.md +2 -2
- package/.tfcore/user-guide.md +0 -23
- package/.tfcore/utils/__pycache__/tf-brd-status.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-checklist-edit.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-codex-bind.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-codex-telemetry.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-day1-files.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-devguide-list.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-doc-check.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-log-miss.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-misses-md.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-mockups-locate.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-opencode-audit.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-perf-grade.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-render-html.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-split-brd.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-status-facts.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-triage.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-verify-list.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-verify-verdict.cpython-312.pyc +0 -0
- package/.tfcore/utils/tf-brd-status.py +176 -0
- package/.tfcore/utils/tf-brd-status.sh +19 -0
- package/.tfcore/utils/tf-build-list.py +191 -0
- package/.tfcore/utils/tf-build-list.sh +20 -0
- package/.tfcore/utils/tf-build.sh +143 -0
- package/.tfcore/utils/tf-cdp-relay.ps1 +64 -0
- package/.tfcore/utils/tf-checklist-edit.py +133 -0
- package/.tfcore/utils/tf-day1-files.py +208 -0
- package/.tfcore/utils/tf-day1-files.sh +20 -0
- package/.tfcore/utils/tf-devguide-list.py +249 -0
- package/.tfcore/utils/tf-devguide-list.sh +18 -0
- package/.tfcore/utils/tf-doc-check.py +1267 -0
- package/.tfcore/utils/tf-doc-check.sh +29 -0
- package/.tfcore/utils/tf-emit.sh +203 -13
- package/.tfcore/utils/tf-fix-close.sh +83 -0
- package/.tfcore/utils/tf-goal.sh +193 -62
- package/.tfcore/utils/tf-harness.sh +4 -9
- package/.tfcore/utils/tf-log-miss.py +197 -0
- package/.tfcore/utils/tf-log-miss.sh +14 -0
- package/.tfcore/utils/tf-misses-md.py +211 -0
- package/.tfcore/utils/tf-misses-md.sh +13 -0
- package/.tfcore/utils/tf-mockups-locate.py +66 -0
- package/.tfcore/utils/tf-mockups-locate.sh +18 -0
- package/.tfcore/utils/tf-opencode-audit.py +23 -7
- package/.tfcore/utils/tf-perf-grade.py +97 -0
- package/.tfcore/utils/tf-perf-grade.sh +12 -0
- package/.tfcore/utils/tf-phase.sh +74 -0
- package/.tfcore/utils/tf-routing-bind.sh +10 -5
- package/.tfcore/utils/tf-routing.sh +6 -7
- package/.tfcore/utils/tf-split-brd.py +304 -0
- package/.tfcore/utils/tf-split-brd.sh +22 -0
- package/.tfcore/utils/tf-status-evidence.sh +68 -0
- package/.tfcore/utils/tf-status-facts.py +309 -0
- package/.tfcore/utils/tf-status-facts.sh +20 -0
- package/.tfcore/utils/tf-triage.py +243 -0
- package/.tfcore/utils/tf-triage.sh +16 -0
- package/.tfcore/utils/tf-verify-boot.sh +250 -0
- package/.tfcore/utils/tf-verify-emit.sh +110 -0
- package/.tfcore/utils/tf-verify-env.sh +88 -0
- package/.tfcore/utils/tf-verify-list.py +270 -0
- package/.tfcore/utils/tf-verify-list.sh +13 -0
- package/.tfcore/utils/tf-verify-screens.mjs +283 -0
- package/.tfcore/utils/tf-verify-screens.sh +22 -0
- package/.tfcore/utils/tf-verify-tests.sh +123 -0
- package/.tfcore/utils/tf-verify-verdict.py +283 -0
- package/.tfcore/utils/tf-verify-verdict.sh +15 -0
- package/.tfcore/utils/tf-yolo.sh +59 -0
- package/README.md +114 -1149
- package/docs/TechieFlow-Installation.md +27 -7
- package/opencode.jsonc +13 -33
- package/package.json +4 -7
- package/scripts/install.mjs +73 -46
- package/scripts/npm-cleanup.mjs +137 -0
- package/scripts/npm-postinstall.mjs +49 -0
- package/.claude/commands/TechieFlow/tasks/advanced-elicitation.md +0 -117
- package/.claude/commands/TechieFlow/tasks/author-brd.md +0 -79
- package/.claude/commands/TechieFlow/tasks/document-project.md +0 -343
- package/.claude/commands/TechieFlow/tasks/execute-checklist.md +0 -86
- package/.claude/commands/TechieFlow/tasks/index-docs.md +0 -173
- package/.claude/commands/TechieFlow/tasks/kb-mode-interaction.md +0 -75
- package/.claude/commands/TechieFlow/tasks/shard-doc.md +0 -185
- package/.codex/config.toml +0 -46
- package/.codex/hooks.json +0 -63
- package/.codex/rules/techieflow.rules +0 -8
- package/.tfcore/hooks/codex-adapter.py +0 -248
- package/.tfcore/tasks/advanced-elicitation.md +0 -117
- package/.tfcore/tasks/author-brd.md +0 -79
- package/.tfcore/tasks/document-project.md +0 -343
- package/.tfcore/tasks/execute-checklist.md +0 -86
- package/.tfcore/tasks/index-docs.md +0 -173
- package/.tfcore/tasks/kb-mode-interaction.md +0 -75
- package/.tfcore/tasks/shard-doc.md +0 -185
- package/.tfcore/utils/tf-codex-bind.py +0 -196
- package/.tfcore/utils/tf-codex-telemetry.py +0 -60
- package/WORKFLOW.html +0 -1986
- package/scripts/test-install.mjs +0 -505
- package/scripts/validate.mjs +0 -163
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// scripts/npm-postinstall.mjs — the install hook, for when someone runs
|
|
3
|
+
//
|
|
4
|
+
// npm install @techierathore/techieflow
|
|
5
|
+
//
|
|
6
|
+
// instead of the documented `npx @techierathore/techieflow@latest install`. npm runs this
|
|
7
|
+
// hook after it has put the package under node_modules/. The hook installs the framework
|
|
8
|
+
// into the project (the folder npm was run in), then starts npm-cleanup.mjs detached to
|
|
9
|
+
// remove the package from node_modules/, package.json and package-lock.json once npm has
|
|
10
|
+
// finished writing them. The result is the same as the npx command: the framework's hidden
|
|
11
|
+
// folders, and no npm files that were not there before.
|
|
12
|
+
//
|
|
13
|
+
// npm 12 and newer do not run install hooks unless the project allows them, so on those
|
|
14
|
+
// versions a plain `npm install` only places the package under node_modules/. The fix is
|
|
15
|
+
// to run the documented npx command, which installs the framework and tidies that up.
|
|
16
|
+
//
|
|
17
|
+
// The hook does nothing when the package is not being installed as a dependency of some
|
|
18
|
+
// other folder: `npx`, `npm exec`, `npm pack`, `npm publish` and `npm install` inside
|
|
19
|
+
// this repository all skip it.
|
|
20
|
+
|
|
21
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
22
|
+
import { existsSync } from "node:fs";
|
|
23
|
+
import { dirname, join, resolve } from "node:path";
|
|
24
|
+
import { fileURLToPath } from "node:url";
|
|
25
|
+
|
|
26
|
+
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
27
|
+
const target = process.env.INIT_CWD ? resolve(process.env.INIT_CWD) : null;
|
|
28
|
+
const dependencyInstall = ["install", "ci"].includes(process.env.npm_command)
|
|
29
|
+
&& target !== null
|
|
30
|
+
&& target !== packageRoot
|
|
31
|
+
&& existsSync(join(target, "node_modules", "@techierathore", "techieflow"));
|
|
32
|
+
|
|
33
|
+
if (!dependencyInstall) process.exit(0);
|
|
34
|
+
|
|
35
|
+
const installed = spawnSync(process.execPath, [join(packageRoot, "scripts", "install.mjs"), "install", `--target=${target}`], {
|
|
36
|
+
cwd: target,
|
|
37
|
+
env: process.env,
|
|
38
|
+
stdio: "inherit",
|
|
39
|
+
});
|
|
40
|
+
if (installed.status !== 0) process.exit(installed.status ?? 1);
|
|
41
|
+
|
|
42
|
+
const cleanup = spawn(process.execPath, [join(packageRoot, "scripts", "npm-cleanup.mjs"), target], {
|
|
43
|
+
cwd: target,
|
|
44
|
+
detached: true,
|
|
45
|
+
stdio: "ignore",
|
|
46
|
+
windowsHide: true,
|
|
47
|
+
});
|
|
48
|
+
cleanup.unref();
|
|
49
|
+
console.log("TechieFlow installed. The temporary npm files (node_modules, package.json, package-lock.json entries) are being removed.");
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
# Advanced Elicitation Task
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
- Provide optional reflective and brainstorming actions to enhance content quality
|
|
6
|
-
- Enable deeper exploration of ideas through structured elicitation techniques
|
|
7
|
-
- Support iterative refinement through multiple analytical perspectives
|
|
8
|
-
- Usable during template-driven document creation or any chat conversation
|
|
9
|
-
|
|
10
|
-
## Usage Scenarios
|
|
11
|
-
|
|
12
|
-
### Scenario 1: Template Document Creation
|
|
13
|
-
|
|
14
|
-
After outputting a section during document creation:
|
|
15
|
-
|
|
16
|
-
1. **Section Review**: Ask user to review the drafted section
|
|
17
|
-
2. **Offer Elicitation**: Present 9 carefully selected elicitation methods
|
|
18
|
-
3. **Simple Selection**: User types a number (0-8) to engage method, or 9 to proceed
|
|
19
|
-
4. **Execute & Loop**: Apply selected method, then re-offer choices until user proceeds
|
|
20
|
-
|
|
21
|
-
### Scenario 2: General Chat Elicitation
|
|
22
|
-
|
|
23
|
-
User can request advanced elicitation on any agent output:
|
|
24
|
-
|
|
25
|
-
- User says "do advanced elicitation" or similar
|
|
26
|
-
- Agent selects 9 relevant methods for the context
|
|
27
|
-
- Same simple 0-9 selection process
|
|
28
|
-
|
|
29
|
-
## Task Instructions
|
|
30
|
-
|
|
31
|
-
### 1. Intelligent Method Selection
|
|
32
|
-
|
|
33
|
-
**Context Analysis**: Before presenting options, analyze:
|
|
34
|
-
|
|
35
|
-
- **Content Type**: Technical specs, user stories, architecture, requirements, etc.
|
|
36
|
-
- **Complexity Level**: Simple, moderate, or complex content
|
|
37
|
-
- **Stakeholder Needs**: Who will use this information
|
|
38
|
-
- **Risk Level**: High-impact decisions vs routine items
|
|
39
|
-
- **Creative Potential**: Opportunities for innovation or alternatives
|
|
40
|
-
|
|
41
|
-
**Method Selection Strategy**:
|
|
42
|
-
|
|
43
|
-
1. **Always Include Core Methods** (choose 3-4):
|
|
44
|
-
- Expand or Contract for Audience
|
|
45
|
-
- Critique and Refine
|
|
46
|
-
- Identify Potential Risks
|
|
47
|
-
- Assess Alignment with Goals
|
|
48
|
-
|
|
49
|
-
2. **Context-Specific Methods** (choose 4-5):
|
|
50
|
-
- **Technical Content**: Tree of Thoughts, ReWOO, Meta-Prompting
|
|
51
|
-
- **User-Facing Content**: Agile Team Perspective, Stakeholder Roundtable
|
|
52
|
-
- **Creative Content**: Innovation Tournament, Escape Room Challenge
|
|
53
|
-
- **Strategic Content**: Red Team vs Blue Team, Hindsight Reflection
|
|
54
|
-
|
|
55
|
-
3. **Always Include**: "Proceed / No Further Actions" as option 9
|
|
56
|
-
|
|
57
|
-
### 2. Section Context and Review
|
|
58
|
-
|
|
59
|
-
When invoked after outputting a section:
|
|
60
|
-
|
|
61
|
-
1. **Provide Context Summary**: Give a brief 1-2 sentence summary of what the user should look for in the section just presented
|
|
62
|
-
|
|
63
|
-
2. **Explain Visual Elements**: If the section contains diagrams, explain them briefly before offering elicitation options
|
|
64
|
-
|
|
65
|
-
3. **Clarify Scope Options**: If the section contains multiple distinct items, inform the user they can apply elicitation actions to:
|
|
66
|
-
- The entire section as a whole
|
|
67
|
-
- Individual items within the section (specify which item when selecting an action)
|
|
68
|
-
|
|
69
|
-
### 3. Present Elicitation Options
|
|
70
|
-
|
|
71
|
-
**Review Request Process:**
|
|
72
|
-
|
|
73
|
-
- Ask the user to review the drafted section
|
|
74
|
-
- In the SAME message, inform them they can suggest direct changes OR select an elicitation method
|
|
75
|
-
- Present 9 intelligently selected methods (0-8) plus "Proceed" (9)
|
|
76
|
-
- Keep descriptions short - just the method name
|
|
77
|
-
- Await simple numeric selection
|
|
78
|
-
|
|
79
|
-
**Action List Presentation Format:**
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
**Advanced Elicitation Options**
|
|
83
|
-
Choose a number (0-8) or 9 to proceed:
|
|
84
|
-
|
|
85
|
-
0. [Method Name]
|
|
86
|
-
1. [Method Name]
|
|
87
|
-
2. [Method Name]
|
|
88
|
-
3. [Method Name]
|
|
89
|
-
4. [Method Name]
|
|
90
|
-
5. [Method Name]
|
|
91
|
-
6. [Method Name]
|
|
92
|
-
7. [Method Name]
|
|
93
|
-
8. [Method Name]
|
|
94
|
-
9. Proceed / No Further Actions
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Response Handling:**
|
|
98
|
-
|
|
99
|
-
- **Numbers 0-8**: Execute the selected method, then re-offer the choice
|
|
100
|
-
- **Number 9**: Proceed to next section or continue conversation
|
|
101
|
-
- **Direct Feedback**: Apply user's suggested changes and continue
|
|
102
|
-
|
|
103
|
-
### 4. Method Execution Framework
|
|
104
|
-
|
|
105
|
-
**Execution Process:**
|
|
106
|
-
|
|
107
|
-
1. **Retrieve Method**: Access the specific elicitation method from the elicitation-methods data file
|
|
108
|
-
2. **Apply Context**: Execute the method from your current role's perspective
|
|
109
|
-
3. **Provide Results**: Deliver insights, critiques, or alternatives relevant to the content
|
|
110
|
-
4. **Re-offer Choice**: Present the same 9 options again until user selects 9 or gives direct feedback
|
|
111
|
-
|
|
112
|
-
**Execution Guidelines:**
|
|
113
|
-
|
|
114
|
-
- **Be Concise**: Focus on actionable insights, not lengthy explanations
|
|
115
|
-
- **Stay Relevant**: Tie all elicitation back to the specific content being analyzed
|
|
116
|
-
- **Identify Personas**: For multi-persona methods, clearly identify which viewpoint is speaking
|
|
117
|
-
- **Maintain Flow**: Keep the process moving efficiently
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# author-brd
|
|
2
|
-
|
|
3
|
-
Author or extend a Business Requirements Document (BRD) with stable BRD-N requirement IDs, using interactive elicitation. The analyst NEVER assumes a requirement — each candidate is confirmed by the user before it lands in the BRD.
|
|
4
|
-
|
|
5
|
-
> **When to use:** this is the INTERACTIVE alternative for extending an existing BRD requirement-by-requirement. For creating a project's BRD, the default path is `*day1-brownfield` / `*day1-greenfield` (bulk draft, no per-item confirmation).
|
|
6
|
-
|
|
7
|
-
## Purpose
|
|
8
|
-
|
|
9
|
-
Produce a BRD where every business/functional requirement has a unique, stable, append-only ID (`BRD-1`, `BRD-2`, …) that downstream agents (UI agent, orchestrator, verifier) can declare and verify against. Eliminate the "implicit requirement" problem by forcing per-item user confirmation.
|
|
10
|
-
|
|
11
|
-
## elicit
|
|
12
|
-
|
|
13
|
-
elicit=true — this task REQUIRES user interaction. Never skip elicitation for efficiency.
|
|
14
|
-
|
|
15
|
-
## Inputs
|
|
16
|
-
|
|
17
|
-
- `{AppName}` argument (required for the canonical filename; ask once if missing).
|
|
18
|
-
- `{topic}` argument (optional) — the product/feature area. If absent, ask once: "What's the topic / product area for this BRD?"
|
|
19
|
-
- Existing BRD path. Resolve in this order: `core-config.yaml → customTechnicalDocuments`, then `docs/{AppName}-BRD.md` (legacy fallbacks: `docs/brd.md`, `docs/BRD.md`). If found, OPEN it and continue from the highest existing BRD-N. If not found, create `docs/{AppName}-BRD.md` from `.tfcore/templates/v4custom/app-brd-tmpl.md` (feature catalog + §10 BRD-N ledger shape — NOT ad-hoc "Phase N" sections).
|
|
20
|
-
|
|
21
|
-
## SEQUENTIAL Execution
|
|
22
|
-
|
|
23
|
-
### 1. Read or scaffold the BRD
|
|
24
|
-
|
|
25
|
-
- If the resolved BRD exists: read it, parse all existing `BRD-{N}` IDs, and record the highest N. New requirements continue from N+1.
|
|
26
|
-
- If absent: scaffold `docs/{AppName}-BRD.md` from `.tfcore/templates/v4custom/app-brd-tmpl.md` (leave unconfirmed sections empty; confirmed requirements land in the §10 ledger).
|
|
27
|
-
- Ask the user which areas they want to scope today.
|
|
28
|
-
|
|
29
|
-
### 2. Drive elicitation per area, one at a time
|
|
30
|
-
|
|
31
|
-
For each area the user wants to cover (UI, data, workflow, NFRs, etc.):
|
|
32
|
-
|
|
33
|
-
1. Generate a numbered list of CANDIDATE requirements for that area — 3 to 7 items, written as one-line "user can X" / "system shall Y" statements. Do NOT assign BRD-N IDs yet.
|
|
34
|
-
2. Present the list and ask the user to (a) accept, (b) reject, (c) refine, or (d) add their own — one item at a time. Use this exact prompt format:
|
|
35
|
-
```
|
|
36
|
-
Candidate requirements for {area}:
|
|
37
|
-
1. {candidate}
|
|
38
|
-
2. {candidate}
|
|
39
|
-
...
|
|
40
|
-
For each, reply: keep / drop / refine: <new text>. Or add a new one with: add: <text>.
|
|
41
|
-
```
|
|
42
|
-
3. After the user processes each item, assign the next BRD-N to every KEPT or REFINED item, in the order they were confirmed. Show the assignments back:
|
|
43
|
-
```
|
|
44
|
-
Assigned:
|
|
45
|
-
- BRD-{N}: {final text}
|
|
46
|
-
- BRD-{N+1}: {final text}
|
|
47
|
-
```
|
|
48
|
-
4. Append the assigned requirements to the §10 Functional-requirements ledger of the resolved BRD file (and flesh out / create the owning feature-catalog entry).
|
|
49
|
-
|
|
50
|
-
Repeat for each area until the user says they're done with this BRD pass.
|
|
51
|
-
|
|
52
|
-
### 3. NFRs and acceptance criteria (optional pass)
|
|
53
|
-
|
|
54
|
-
If the user wants NFRs (performance, accessibility, browser support, etc.) or acceptance criteria for any BRD-N, run the same elicitation pattern. NFRs get their own BRD-N IDs (do NOT use a separate `NFR-N` series — keep one ID space so the verifier can grade everything uniformly).
|
|
55
|
-
|
|
56
|
-
### 4. Final output
|
|
57
|
-
|
|
58
|
-
Append/refresh the footer block of the BRD:
|
|
59
|
-
```
|
|
60
|
-
---
|
|
61
|
-
Last updated: {YYYY-MM-DD}
|
|
62
|
-
Highest BRD ID: BRD-{N}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Print a compact summary to the user:
|
|
66
|
-
```
|
|
67
|
-
BRD updated → docs/{AppName}-BRD.md
|
|
68
|
-
Added: BRD-{a}..BRD-{b} ({count} requirements)
|
|
69
|
-
Phases touched: {list}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
HALT.
|
|
73
|
-
|
|
74
|
-
## Hard rules
|
|
75
|
-
|
|
76
|
-
- elicit=true — never batch-confirm; one item at a time.
|
|
77
|
-
- BRD-N IDs are append-only — never renumber an existing ID even if the user removes a requirement later (mark it `~~BRD-N~~ (removed)` instead).
|
|
78
|
-
- Requirements are written as observable outcomes, not implementation hints. The verifier needs to be able to test them.
|
|
79
|
-
- The analyst writes the BRD; the analyst does NOT implement anything.
|
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
# Document an Existing Project
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Generate comprehensive documentation for existing projects optimized for AI development agents. This task creates structured reference materials that enable AI agents to understand project context, conventions, and patterns for effective contribution to any codebase.
|
|
6
|
-
|
|
7
|
-
## Task Instructions
|
|
8
|
-
|
|
9
|
-
### 1. Initial Project Analysis
|
|
10
|
-
|
|
11
|
-
**CRITICAL:** First, check if a PRD or requirements document exists in context. If yes, use it to focus your documentation efforts on relevant areas only.
|
|
12
|
-
|
|
13
|
-
**IF PRD EXISTS**:
|
|
14
|
-
|
|
15
|
-
- Review the PRD to understand what enhancement/feature is planned
|
|
16
|
-
- Identify which modules, services, or areas will be affected
|
|
17
|
-
- Focus documentation ONLY on these relevant areas
|
|
18
|
-
- Skip unrelated parts of the codebase to keep docs lean
|
|
19
|
-
|
|
20
|
-
**IF NO PRD EXISTS**:
|
|
21
|
-
Ask the user:
|
|
22
|
-
|
|
23
|
-
"I notice you haven't provided a PRD or requirements document. To create more focused and useful documentation, I recommend one of these options:
|
|
24
|
-
|
|
25
|
-
1. **Create a PRD first** - Would you like me to help create a brownfield PRD before documenting? This helps focus documentation on relevant areas.
|
|
26
|
-
|
|
27
|
-
2. **Provide existing requirements** - Do you have a requirements document, epic, or feature description you can share?
|
|
28
|
-
|
|
29
|
-
3. **Describe the focus** - Can you briefly describe what enhancement or feature you're planning? For example:
|
|
30
|
-
- 'Adding payment processing to the user service'
|
|
31
|
-
- 'Refactoring the authentication module'
|
|
32
|
-
- 'Integrating with a new third-party API'
|
|
33
|
-
|
|
34
|
-
4. **Document everything** - Or should I proceed with comprehensive documentation of the entire codebase? (Note: This may create excessive documentation for large projects)
|
|
35
|
-
|
|
36
|
-
Please let me know your preference, or I can proceed with full documentation if you prefer."
|
|
37
|
-
|
|
38
|
-
Based on their response:
|
|
39
|
-
|
|
40
|
-
- If they choose option 1-3: Use that context to focus documentation
|
|
41
|
-
- If they choose option 4 or decline: Proceed with comprehensive analysis below
|
|
42
|
-
|
|
43
|
-
Begin by conducting analysis of the existing project. Use available tools to:
|
|
44
|
-
|
|
45
|
-
1. **Project Structure Discovery**: Examine the root directory structure, identify main folders, and understand the overall organization
|
|
46
|
-
2. **Technology Stack Identification**: Look for package.json, requirements.txt, Cargo.toml, pom.xml, etc. to identify languages, frameworks, and dependencies
|
|
47
|
-
3. **Build System Analysis**: Find build scripts, CI/CD configurations, and development commands
|
|
48
|
-
4. **Existing Documentation Review**: Check for README files, docs folders, and any existing documentation
|
|
49
|
-
5. **Code Pattern Analysis**: Sample key files to understand coding patterns, naming conventions, and architectural approaches
|
|
50
|
-
|
|
51
|
-
Ask the user these elicitation questions to better understand their needs:
|
|
52
|
-
|
|
53
|
-
- What is the primary purpose of this project?
|
|
54
|
-
- Are there any specific areas of the codebase that are particularly complex or important for agents to understand?
|
|
55
|
-
- What types of tasks do you expect AI agents to perform on this project? (e.g., bug fixes, feature additions, refactoring, testing)
|
|
56
|
-
- Are there any existing documentation standards or formats you prefer?
|
|
57
|
-
- What level of technical detail should the documentation target? (junior developers, senior developers, mixed team)
|
|
58
|
-
- Is there a specific feature or enhancement you're planning? (This helps focus documentation)
|
|
59
|
-
|
|
60
|
-
### 2. Deep Codebase Analysis
|
|
61
|
-
|
|
62
|
-
CRITICAL: Before generating documentation, conduct extensive analysis of the existing codebase:
|
|
63
|
-
|
|
64
|
-
1. **Explore Key Areas**:
|
|
65
|
-
- Entry points (main files, index files, app initializers)
|
|
66
|
-
- Configuration files and environment setup
|
|
67
|
-
- Package dependencies and versions
|
|
68
|
-
- Build and deployment configurations
|
|
69
|
-
- Test suites and coverage
|
|
70
|
-
|
|
71
|
-
2. **Ask Clarifying Questions**:
|
|
72
|
-
- "I see you're using [technology X]. Are there any custom patterns or conventions I should document?"
|
|
73
|
-
- "What are the most critical/complex parts of this system that developers struggle with?"
|
|
74
|
-
- "Are there any undocumented 'tribal knowledge' areas I should capture?"
|
|
75
|
-
- "What technical debt or known issues should I document?"
|
|
76
|
-
- "Which parts of the codebase change most frequently?"
|
|
77
|
-
|
|
78
|
-
3. **Map the Reality**:
|
|
79
|
-
- Identify ACTUAL patterns used (not theoretical best practices)
|
|
80
|
-
- Find where key business logic lives
|
|
81
|
-
- Locate integration points and external dependencies
|
|
82
|
-
- Document workarounds and technical debt
|
|
83
|
-
- Note areas that differ from standard patterns
|
|
84
|
-
|
|
85
|
-
**IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
|
|
86
|
-
|
|
87
|
-
### 3. Core Documentation Generation
|
|
88
|
-
|
|
89
|
-
[[LLM: Generate a comprehensive BROWNFIELD architecture document that reflects the ACTUAL state of the codebase.
|
|
90
|
-
|
|
91
|
-
**CRITICAL**: This is NOT an aspirational architecture document. Document what EXISTS, including:
|
|
92
|
-
|
|
93
|
-
- Technical debt and workarounds
|
|
94
|
-
- Inconsistent patterns between different parts
|
|
95
|
-
- Legacy code that can't be changed
|
|
96
|
-
- Integration constraints
|
|
97
|
-
- Performance bottlenecks
|
|
98
|
-
|
|
99
|
-
**Document Structure**:
|
|
100
|
-
|
|
101
|
-
# [Project Name] Brownfield Architecture Document
|
|
102
|
-
|
|
103
|
-
## Introduction
|
|
104
|
-
|
|
105
|
-
This document captures the CURRENT STATE of the [Project Name] codebase, including technical debt, workarounds, and real-world patterns. It serves as a reference for AI agents working on enhancements.
|
|
106
|
-
|
|
107
|
-
### Document Scope
|
|
108
|
-
|
|
109
|
-
[If PRD provided: "Focused on areas relevant to: {enhancement description}"]
|
|
110
|
-
[If no PRD: "Comprehensive documentation of entire system"]
|
|
111
|
-
|
|
112
|
-
### Change Log
|
|
113
|
-
|
|
114
|
-
| Date | Version | Description | Author |
|
|
115
|
-
| ------ | ------- | --------------------------- | --------- |
|
|
116
|
-
| [Date] | 1.0 | Initial brownfield analysis | [Analyst] |
|
|
117
|
-
|
|
118
|
-
## Quick Reference - Key Files and Entry Points
|
|
119
|
-
|
|
120
|
-
### Critical Files for Understanding the System
|
|
121
|
-
|
|
122
|
-
- **Main Entry**: `src/index.js` (or actual entry point)
|
|
123
|
-
- **Configuration**: `config/app.config.js`, `.env.example`
|
|
124
|
-
- **Core Business Logic**: `src/services/`, `src/domain/`
|
|
125
|
-
- **API Definitions**: `src/routes/` or link to OpenAPI spec
|
|
126
|
-
- **Database Models**: `src/models/` or link to schema files
|
|
127
|
-
- **Key Algorithms**: [List specific files with complex logic]
|
|
128
|
-
|
|
129
|
-
### If PRD Provided - Enhancement Impact Areas
|
|
130
|
-
|
|
131
|
-
[Highlight which files/modules will be affected by the planned enhancement]
|
|
132
|
-
|
|
133
|
-
## High Level Architecture
|
|
134
|
-
|
|
135
|
-
### Technical Summary
|
|
136
|
-
|
|
137
|
-
### Actual Tech Stack (from package.json/requirements.txt)
|
|
138
|
-
|
|
139
|
-
| Category | Technology | Version | Notes |
|
|
140
|
-
| --------- | ---------- | ------- | -------------------------- |
|
|
141
|
-
| Runtime | Node.js | 16.x | [Any constraints] |
|
|
142
|
-
| Framework | Express | 4.18.2 | [Custom middleware?] |
|
|
143
|
-
| Database | PostgreSQL | 13 | [Connection pooling setup] |
|
|
144
|
-
|
|
145
|
-
etc...
|
|
146
|
-
|
|
147
|
-
### Repository Structure Reality Check
|
|
148
|
-
|
|
149
|
-
- Type: [Monorepo/Polyrepo/Hybrid]
|
|
150
|
-
- Package Manager: [npm/yarn/pnpm]
|
|
151
|
-
- Notable: [Any unusual structure decisions]
|
|
152
|
-
|
|
153
|
-
## Source Tree and Module Organization
|
|
154
|
-
|
|
155
|
-
### Project Structure (Actual)
|
|
156
|
-
|
|
157
|
-
```text
|
|
158
|
-
project-root/
|
|
159
|
-
├── src/
|
|
160
|
-
│ ├── controllers/ # HTTP request handlers
|
|
161
|
-
│ ├── services/ # Business logic (NOTE: inconsistent patterns between user and payment services)
|
|
162
|
-
│ ├── models/ # Database models (Sequelize)
|
|
163
|
-
│ ├── utils/ # Mixed bag - needs refactoring
|
|
164
|
-
│ └── legacy/ # DO NOT MODIFY - old payment system still in use
|
|
165
|
-
├── tests/ # Jest tests (60% coverage)
|
|
166
|
-
├── scripts/ # Build and deployment scripts
|
|
167
|
-
└── config/ # Environment configs
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### Key Modules and Their Purpose
|
|
171
|
-
|
|
172
|
-
- **User Management**: `src/services/userService.js` - Handles all user operations
|
|
173
|
-
- **Authentication**: `src/middleware/auth.js` - JWT-based, custom implementation
|
|
174
|
-
- **Payment Processing**: `src/legacy/payment.js` - CRITICAL: Do not refactor, tightly coupled
|
|
175
|
-
- **[List other key modules with their actual files]**
|
|
176
|
-
|
|
177
|
-
## Data Models and APIs
|
|
178
|
-
|
|
179
|
-
### Data Models
|
|
180
|
-
|
|
181
|
-
Instead of duplicating, reference actual model files:
|
|
182
|
-
|
|
183
|
-
- **User Model**: See `src/models/User.js`
|
|
184
|
-
- **Order Model**: See `src/models/Order.js`
|
|
185
|
-
- **Related Types**: TypeScript definitions in `src/types/`
|
|
186
|
-
|
|
187
|
-
### API Specifications
|
|
188
|
-
|
|
189
|
-
- **OpenAPI Spec**: `docs/api/openapi.yaml` (if exists)
|
|
190
|
-
- **Postman Collection**: `docs/api/postman-collection.json`
|
|
191
|
-
- **Manual Endpoints**: [List any undocumented endpoints discovered]
|
|
192
|
-
|
|
193
|
-
## Technical Debt and Known Issues
|
|
194
|
-
|
|
195
|
-
### Critical Technical Debt
|
|
196
|
-
|
|
197
|
-
1. **Payment Service**: Legacy code in `src/legacy/payment.js` - tightly coupled, no tests
|
|
198
|
-
2. **User Service**: Different pattern than other services, uses callbacks instead of promises
|
|
199
|
-
3. **Database Migrations**: Manually tracked, no proper migration tool
|
|
200
|
-
4. **[Other significant debt]**
|
|
201
|
-
|
|
202
|
-
### Workarounds and Gotchas
|
|
203
|
-
|
|
204
|
-
- **Environment Variables**: Must set `NODE_ENV=production` even for staging (historical reason)
|
|
205
|
-
- **Database Connections**: Connection pool hardcoded to 10, changing breaks payment service
|
|
206
|
-
- **[Other workarounds developers need to know]**
|
|
207
|
-
|
|
208
|
-
## Integration Points and External Dependencies
|
|
209
|
-
|
|
210
|
-
### External Services
|
|
211
|
-
|
|
212
|
-
| Service | Purpose | Integration Type | Key Files |
|
|
213
|
-
| -------- | -------- | ---------------- | ------------------------------ |
|
|
214
|
-
| Stripe | Payments | REST API | `src/integrations/stripe/` |
|
|
215
|
-
| SendGrid | Emails | SDK | `src/services/emailService.js` |
|
|
216
|
-
|
|
217
|
-
etc...
|
|
218
|
-
|
|
219
|
-
### Internal Integration Points
|
|
220
|
-
|
|
221
|
-
- **Frontend Communication**: REST API on port 3000, expects specific headers
|
|
222
|
-
- **Background Jobs**: Redis queue, see `src/workers/`
|
|
223
|
-
- **[Other integrations]**
|
|
224
|
-
|
|
225
|
-
## Development and Deployment
|
|
226
|
-
|
|
227
|
-
### Local Development Setup
|
|
228
|
-
|
|
229
|
-
1. Actual steps that work (not ideal steps)
|
|
230
|
-
2. Known issues with setup
|
|
231
|
-
3. Required environment variables (see `.env.example`)
|
|
232
|
-
|
|
233
|
-
### Build and Deployment Process
|
|
234
|
-
|
|
235
|
-
- **Build Command**: `npm run build` (webpack config in `webpack.config.js`)
|
|
236
|
-
- **Deployment**: Manual deployment via `scripts/deploy.sh`
|
|
237
|
-
- **Environments**: Dev, Staging, Prod (see `config/environments/`)
|
|
238
|
-
|
|
239
|
-
## Testing Reality
|
|
240
|
-
|
|
241
|
-
### Current Test Coverage
|
|
242
|
-
|
|
243
|
-
- Unit Tests: 60% coverage (Jest)
|
|
244
|
-
- Integration Tests: Minimal, in `tests/integration/`
|
|
245
|
-
- E2E Tests: None
|
|
246
|
-
- Manual Testing: Primary QA method
|
|
247
|
-
|
|
248
|
-
### Running Tests
|
|
249
|
-
|
|
250
|
-
```bash
|
|
251
|
-
npm test # Runs unit tests
|
|
252
|
-
npm run test:integration # Runs integration tests (requires local DB)
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
## If Enhancement PRD Provided - Impact Analysis
|
|
256
|
-
|
|
257
|
-
### Files That Will Need Modification
|
|
258
|
-
|
|
259
|
-
Based on the enhancement requirements, these files will be affected:
|
|
260
|
-
|
|
261
|
-
- `src/services/userService.js` - Add new user fields
|
|
262
|
-
- `src/models/User.js` - Update schema
|
|
263
|
-
- `src/routes/userRoutes.js` - New endpoints
|
|
264
|
-
- [etc...]
|
|
265
|
-
|
|
266
|
-
### New Files/Modules Needed
|
|
267
|
-
|
|
268
|
-
- `src/services/newFeatureService.js` - New business logic
|
|
269
|
-
- `src/models/NewFeature.js` - New data model
|
|
270
|
-
- [etc...]
|
|
271
|
-
|
|
272
|
-
### Integration Considerations
|
|
273
|
-
|
|
274
|
-
- Will need to integrate with existing auth middleware
|
|
275
|
-
- Must follow existing response format in `src/utils/responseFormatter.js`
|
|
276
|
-
- [Other integration points]
|
|
277
|
-
|
|
278
|
-
## Appendix - Useful Commands and Scripts
|
|
279
|
-
|
|
280
|
-
### Frequently Used Commands
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
npm run dev # Start development server
|
|
284
|
-
npm run build # Production build
|
|
285
|
-
npm run migrate # Run database migrations
|
|
286
|
-
npm run seed # Seed test data
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### Debugging and Troubleshooting
|
|
290
|
-
|
|
291
|
-
- **Logs**: Check `logs/app.log` for application logs
|
|
292
|
-
- **Debug Mode**: Set `DEBUG=app:*` for verbose logging
|
|
293
|
-
- **Common Issues**: See `docs/troubleshooting.md`]]
|
|
294
|
-
|
|
295
|
-
### 4. Document Delivery
|
|
296
|
-
|
|
297
|
-
1. **In Web UI (Gemini, ChatGPT, Claude)**:
|
|
298
|
-
- Present the entire document in one response (or multiple if too long)
|
|
299
|
-
- Tell user to copy and save as `docs/brownfield-architecture.md` or `docs/project-architecture.md`
|
|
300
|
-
- Mention it can be sharded later in IDE if needed
|
|
301
|
-
|
|
302
|
-
2. **In IDE Environment**:
|
|
303
|
-
- Create the document as `docs/brownfield-architecture.md`
|
|
304
|
-
- Inform user this single document contains all architectural information
|
|
305
|
-
- Can be sharded later using PO agent if desired
|
|
306
|
-
|
|
307
|
-
The document should be comprehensive enough that future agents can understand:
|
|
308
|
-
|
|
309
|
-
- The actual state of the system (not idealized)
|
|
310
|
-
- Where to find key files and logic
|
|
311
|
-
- What technical debt exists
|
|
312
|
-
- What constraints must be respected
|
|
313
|
-
- If PRD provided: What needs to change for the enhancement]]
|
|
314
|
-
|
|
315
|
-
### 5. Quality Assurance
|
|
316
|
-
|
|
317
|
-
CRITICAL: Before finalizing the document:
|
|
318
|
-
|
|
319
|
-
1. **Accuracy Check**: Verify all technical details match the actual codebase
|
|
320
|
-
2. **Completeness Review**: Ensure all major system components are documented
|
|
321
|
-
3. **Focus Validation**: If user provided scope, verify relevant areas are emphasized
|
|
322
|
-
4. **Clarity Assessment**: Check that explanations are clear for AI agents
|
|
323
|
-
5. **Navigation**: Ensure document has clear section structure for easy reference
|
|
324
|
-
|
|
325
|
-
Apply the advanced elicitation task after major sections to refine based on user feedback.
|
|
326
|
-
|
|
327
|
-
## Success Criteria
|
|
328
|
-
|
|
329
|
-
- Single comprehensive brownfield architecture document created
|
|
330
|
-
- Document reflects REALITY including technical debt and workarounds
|
|
331
|
-
- Key files and modules are referenced with actual paths
|
|
332
|
-
- Models/APIs reference source files rather than duplicating content
|
|
333
|
-
- If PRD provided: Clear impact analysis showing what needs to change
|
|
334
|
-
- Document enables AI agents to navigate and understand the actual codebase
|
|
335
|
-
- Technical constraints and "gotchas" are clearly documented
|
|
336
|
-
|
|
337
|
-
## Notes
|
|
338
|
-
|
|
339
|
-
- This task creates ONE document that captures the TRUE state of the system
|
|
340
|
-
- References actual files rather than duplicating content when possible
|
|
341
|
-
- Documents technical debt, workarounds, and constraints honestly
|
|
342
|
-
- For brownfield projects with PRD: Provides clear enhancement impact analysis
|
|
343
|
-
- The goal is PRACTICAL documentation for AI agents doing real work
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Checklist Validation Task
|
|
2
|
-
|
|
3
|
-
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
|
4
|
-
|
|
5
|
-
## Available Checklists
|
|
6
|
-
|
|
7
|
-
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the .tfcore/checklists folder to select the appropriate one to run.
|
|
8
|
-
|
|
9
|
-
## Instructions
|
|
10
|
-
|
|
11
|
-
1. **Initial Assessment**
|
|
12
|
-
- If user or the task being run provides a checklist name:
|
|
13
|
-
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
|
14
|
-
- If multiple matches found, ask user to clarify
|
|
15
|
-
- Load the appropriate checklist from .tfcore/checklists/
|
|
16
|
-
- If no checklist specified:
|
|
17
|
-
- Ask the user which checklist they want to use
|
|
18
|
-
- Present the available options from the files in the checklists folder
|
|
19
|
-
- Confirm if they want to work through the checklist:
|
|
20
|
-
- Section by section (interactive mode - very time consuming)
|
|
21
|
-
- All at once (YOLO mode - recommended for checklists, there will be a summary of sections at the end to discuss)
|
|
22
|
-
|
|
23
|
-
2. **Document and Artifact Gathering**
|
|
24
|
-
- Each checklist will specify its required documents/artifacts at the beginning
|
|
25
|
-
- Follow the checklist's specific instructions for what to gather, generally a file can be resolved in the docs folder, if not or unsure, halt and ask or confirm with the user.
|
|
26
|
-
|
|
27
|
-
3. **Checklist Processing**
|
|
28
|
-
|
|
29
|
-
If in interactive mode:
|
|
30
|
-
- Work through each section of the checklist one at a time
|
|
31
|
-
- For each section:
|
|
32
|
-
- Review all items in the section following instructions for that section embedded in the checklist
|
|
33
|
-
- Check each item against the relevant documentation or artifacts as appropriate
|
|
34
|
-
- Present summary of findings for that section, highlighting warnings, errors and non applicable items (rationale for non-applicability).
|
|
35
|
-
- Get user confirmation before proceeding to next section or if any thing major do we need to halt and take corrective action
|
|
36
|
-
|
|
37
|
-
If in YOLO mode:
|
|
38
|
-
- Process all sections at once
|
|
39
|
-
- Create a comprehensive report of all findings
|
|
40
|
-
- Present the complete analysis to the user
|
|
41
|
-
|
|
42
|
-
4. **Validation Approach**
|
|
43
|
-
|
|
44
|
-
For each checklist item:
|
|
45
|
-
- Read and understand the requirement
|
|
46
|
-
- Look for evidence in the documentation that satisfies the requirement
|
|
47
|
-
- Consider both explicit mentions and implicit coverage
|
|
48
|
-
- Aside from this, follow all checklist llm instructions
|
|
49
|
-
- Mark items as:
|
|
50
|
-
- ✅ PASS: Requirement clearly met
|
|
51
|
-
- ❌ FAIL: Requirement not met or insufficient coverage
|
|
52
|
-
- ⚠️ PARTIAL: Some aspects covered but needs improvement
|
|
53
|
-
- N/A: Not applicable to this case
|
|
54
|
-
|
|
55
|
-
5. **Section Analysis**
|
|
56
|
-
|
|
57
|
-
For each section:
|
|
58
|
-
- think step by step to calculate pass rate
|
|
59
|
-
- Identify common themes in failed items
|
|
60
|
-
- Provide specific recommendations for improvement
|
|
61
|
-
- In interactive mode, discuss findings with user
|
|
62
|
-
- Document any user decisions or explanations
|
|
63
|
-
|
|
64
|
-
6. **Final Report**
|
|
65
|
-
|
|
66
|
-
Prepare a summary that includes:
|
|
67
|
-
- Overall checklist completion status
|
|
68
|
-
- Pass rates by section
|
|
69
|
-
- List of failed items with context
|
|
70
|
-
- Specific recommendations for improvement
|
|
71
|
-
- Any sections or items marked as N/A with justification
|
|
72
|
-
|
|
73
|
-
## Checklist Execution Methodology
|
|
74
|
-
|
|
75
|
-
Each checklist now contains embedded LLM prompts and instructions that will:
|
|
76
|
-
|
|
77
|
-
1. **Guide thorough thinking** - Prompts ensure deep analysis of each section
|
|
78
|
-
2. **Request specific artifacts** - Clear instructions on what documents/access is needed
|
|
79
|
-
3. **Provide contextual guidance** - Section-specific prompts for better validation
|
|
80
|
-
4. **Generate comprehensive reports** - Final summary with detailed findings
|
|
81
|
-
|
|
82
|
-
The LLM will:
|
|
83
|
-
|
|
84
|
-
- Execute the complete checklist validation
|
|
85
|
-
- Present a final report with pass/fail rates and key findings
|
|
86
|
-
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|