@dv.nghiem/flowdeck 0.1.0 → 0.1.1
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -4197
- package/package.json +2 -1
- package/src/commands/fd-analyze-change.md +57 -0
- package/src/commands/fd-approve.md +64 -0
- package/src/commands/fd-ask.md +39 -0
- package/src/commands/fd-blast-radius.md +49 -0
- package/src/commands/fd-checkpoint.md +46 -0
- package/src/commands/fd-dashboard.md +57 -0
- package/src/commands/fd-deploy-check.md +58 -0
- package/src/commands/fd-discuss.md +61 -0
- package/src/commands/fd-doctor.md +37 -0
- package/src/commands/fd-evaluate-risk.md +62 -0
- package/src/commands/fd-fix-bug.md +93 -0
- package/src/commands/fd-guarded-edit.md +69 -0
- package/src/commands/fd-impact-radar.md +51 -0
- package/src/commands/fd-map-codebase.md +36 -0
- package/src/commands/fd-multi-repo.md +63 -0
- package/src/commands/fd-new-feature.md +49 -0
- package/src/commands/fd-new-project.md +103 -0
- package/src/commands/fd-plan.md +80 -0
- package/src/commands/fd-progress.md +50 -0
- package/src/commands/fd-regression-predict.md +57 -0
- package/src/commands/fd-resume.md +46 -0
- package/src/commands/fd-review-code.md +62 -0
- package/src/commands/fd-review-route.md +54 -0
- package/src/commands/fd-roadmap.md +46 -0
- package/src/commands/fd-settings.md +57 -0
- package/src/commands/fd-test-gap.md +54 -0
- package/src/commands/fd-translate-intent.md +56 -0
- package/src/commands/fd-volatility-map.md +64 -0
- package/src/commands/fd-workspace-status.md +34 -0
- package/src/commands/fd-write-docs.md +50 -0
- package/dist/commands/analysis/analysis.test.d.ts +0 -2
- package/dist/commands/analysis/analysis.test.d.ts.map +0 -1
- package/dist/commands/analysis/analyze-change.d.ts +0 -148
- package/dist/commands/analysis/analyze-change.d.ts.map +0 -1
- package/dist/commands/analysis/evaluate-risk.d.ts +0 -77
- package/dist/commands/analysis/evaluate-risk.d.ts.map +0 -1
- package/dist/commands/analysis/guarded-edit.d.ts +0 -72
- package/dist/commands/analysis/guarded-edit.d.ts.map +0 -1
- package/dist/commands/execution/deploy-check.d.ts +0 -91
- package/dist/commands/execution/deploy-check.d.ts.map +0 -1
- package/dist/commands/execution/fix-bug.d.ts +0 -187
- package/dist/commands/execution/fix-bug.d.ts.map +0 -1
- package/dist/commands/execution/new-feature.d.ts +0 -171
- package/dist/commands/execution/new-feature.d.ts.map +0 -1
- package/dist/commands/execution/review-code.d.ts +0 -130
- package/dist/commands/execution/review-code.d.ts.map +0 -1
- package/dist/commands/execution/write-docs.d.ts +0 -94
- package/dist/commands/execution/write-docs.d.ts.map +0 -1
- package/dist/commands/governance/approve.d.ts +0 -80
- package/dist/commands/governance/approve.d.ts.map +0 -1
- package/dist/commands/intelligence/blast-radius.d.ts +0 -67
- package/dist/commands/intelligence/blast-radius.d.ts.map +0 -1
- package/dist/commands/intelligence/impact-radar.d.ts +0 -71
- package/dist/commands/intelligence/impact-radar.d.ts.map +0 -1
- package/dist/commands/intelligence/intelligence.test.d.ts +0 -2
- package/dist/commands/intelligence/intelligence.test.d.ts.map +0 -1
- package/dist/commands/intelligence/regression-predict.d.ts +0 -75
- package/dist/commands/intelligence/regression-predict.d.ts.map +0 -1
- package/dist/commands/intelligence/review-route.d.ts +0 -65
- package/dist/commands/intelligence/review-route.d.ts.map +0 -1
- package/dist/commands/intelligence/test-gap.d.ts +0 -73
- package/dist/commands/intelligence/test-gap.d.ts.map +0 -1
- package/dist/commands/intelligence/translate-intent.d.ts +0 -87
- package/dist/commands/intelligence/translate-intent.d.ts.map +0 -1
- package/dist/commands/intelligence/volatility-map-cmd.d.ts +0 -68
- package/dist/commands/intelligence/volatility-map-cmd.d.ts.map +0 -1
- package/dist/commands/planning/ask.d.ts +0 -62
- package/dist/commands/planning/ask.d.ts.map +0 -1
- package/dist/commands/planning/ask.test.d.ts +0 -2
- package/dist/commands/planning/ask.test.d.ts.map +0 -1
- package/dist/commands/planning/dashboard.d.ts +0 -30
- package/dist/commands/planning/dashboard.d.ts.map +0 -1
- package/dist/commands/planning/discuss.d.ts +0 -39
- package/dist/commands/planning/discuss.d.ts.map +0 -1
- package/dist/commands/planning/plan.d.ts +0 -67
- package/dist/commands/planning/plan.d.ts.map +0 -1
- package/dist/commands/planning/roadmap.d.ts +0 -105
- package/dist/commands/planning/roadmap.d.ts.map +0 -1
- package/dist/commands/setup/doctor.d.ts +0 -10
- package/dist/commands/setup/doctor.d.ts.map +0 -1
- package/dist/commands/setup/map-codebase.d.ts +0 -62
- package/dist/commands/setup/map-codebase.d.ts.map +0 -1
- package/dist/commands/setup/new-project.d.ts +0 -19
- package/dist/commands/setup/new-project.d.ts.map +0 -1
- package/dist/commands/setup/settings.d.ts +0 -57
- package/dist/commands/setup/settings.d.ts.map +0 -1
- package/dist/commands/state/checkpoint.d.ts +0 -27
- package/dist/commands/state/checkpoint.d.ts.map +0 -1
- package/dist/commands/state/multi-repo.d.ts +0 -63
- package/dist/commands/state/multi-repo.d.ts.map +0 -1
- package/dist/commands/state/progress.d.ts +0 -57
- package/dist/commands/state/progress.d.ts.map +0 -1
- package/dist/commands/state/resume.d.ts +0 -11
- package/dist/commands/state/resume.d.ts.map +0 -1
- package/dist/commands/state/workspace-commands.d.ts +0 -207
- package/dist/commands/state/workspace-commands.d.ts.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Human Review Routing — route risky patches to the right reviewer type based on change nature and risk score
|
|
3
|
+
argument-hint: [change description or PR number]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Route
|
|
7
|
+
|
|
8
|
+
Determine the right reviewer type for a proposed change based on its nature and risk.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS — change description or PR number/URL
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. Analyze the change described in `$ARGUMENTS`:
|
|
15
|
+
- Read affected files and their categories
|
|
16
|
+
- Check `.codebase/VOLATILITY.json` for risk scores if available
|
|
17
|
+
- Check `.codebase/FAILURES.json` for prior failures in this area
|
|
18
|
+
|
|
19
|
+
2. Classify change by domain:
|
|
20
|
+
|
|
21
|
+
| Domain Signals | Reviewer Type |
|
|
22
|
+
|---------------|---------------|
|
|
23
|
+
| Auth, tokens, sessions, permissions | **Security reviewer** |
|
|
24
|
+
| DB migrations, schema, models | **Backend/DB reviewer** |
|
|
25
|
+
| Infrastructure, CI/CD, containers | **Infra reviewer** |
|
|
26
|
+
| Public APIs, SDK changes | **API owner** |
|
|
27
|
+
| High-churn or volatile file (score >0.7) | **Domain owner** |
|
|
28
|
+
| New external dependency | **Security + Arch reviewer** |
|
|
29
|
+
| Low risk, no sensitive paths | **Any peer reviewer** |
|
|
30
|
+
|
|
31
|
+
## Report
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
════════════════════════════════════════════
|
|
35
|
+
REVIEW ROUTING
|
|
36
|
+
════════════════════════════════════════════
|
|
37
|
+
Change: <summary>
|
|
38
|
+
Risk score: <0-10>
|
|
39
|
+
|
|
40
|
+
Recommended Reviewers:
|
|
41
|
+
|
|
42
|
+
PRIMARY: <reviewer type> — <reason>
|
|
43
|
+
SECONDARY: <reviewer type> — <reason>
|
|
44
|
+
|
|
45
|
+
Why:
|
|
46
|
+
- <specific signal that triggered routing>
|
|
47
|
+
- <prior failures in this area if any>
|
|
48
|
+
|
|
49
|
+
SLA:
|
|
50
|
+
- <high risk: same-day | medium: 24h | low: 48h>
|
|
51
|
+
════════════════════════════════════════════
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If risk score < 3: "Low risk — any peer reviewer is sufficient."
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View or update project roadmap — displays ROADMAP.md, shows phase statuses, add new phase, or mark phase complete
|
|
3
|
+
argument-hint: [--add "Phase Name" | --complete N | --list]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roadmap
|
|
7
|
+
|
|
8
|
+
View or update the project roadmap.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
## Behavior
|
|
13
|
+
|
|
14
|
+
### View Roadmap (no args or `--list`)
|
|
15
|
+
|
|
16
|
+
1. Read `.planning/ROADMAP.md` — if not found, error: "Run /fd-new-project first."
|
|
17
|
+
2. Read `.planning/STATE.md` for current phase and completed phases.
|
|
18
|
+
3. Display the roadmap with status indicators:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
═══════════════════════════════════════
|
|
22
|
+
PROJECT ROADMAP
|
|
23
|
+
═══════════════════════════════════════
|
|
24
|
+
✅ Phase 1: <name> — completed
|
|
25
|
+
🔄 Phase 2: <name> — in progress ← current
|
|
26
|
+
⏳ Phase 3: <name> — planned
|
|
27
|
+
═══════════════════════════════════════
|
|
28
|
+
Current: Phase 2 | Status: in_progress
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Add Phase (`--add "Phase Name"`)
|
|
32
|
+
|
|
33
|
+
Append a new phase row to the `ROADMAP.md` overview table with status `planned`.
|
|
34
|
+
|
|
35
|
+
Update STATE.md `total_phases` counter.
|
|
36
|
+
|
|
37
|
+
Report: "Phase <N> '<name>' added."
|
|
38
|
+
|
|
39
|
+
### Mark Complete (`--complete N`)
|
|
40
|
+
|
|
41
|
+
1. Update ROADMAP.md to mark phase N as completed.
|
|
42
|
+
2. Update STATE.md:
|
|
43
|
+
- Increment `completed_phases`
|
|
44
|
+
- Advance `phase` to N+1 if N is current phase
|
|
45
|
+
- Set new phase `status: planned`
|
|
46
|
+
3. Report: "Phase N marked complete. Now on phase N+1."
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View or update FlowDeck settings — agent models, quality profiles, and workflow toggles
|
|
3
|
+
argument-hint: [key=value | --list]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Settings
|
|
7
|
+
|
|
8
|
+
View or update FlowDeck configuration.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
## Behavior
|
|
13
|
+
|
|
14
|
+
### List Settings (`--list` or no arguments)
|
|
15
|
+
|
|
16
|
+
Read `.planning/config.json` (create with defaults if missing) and display current settings:
|
|
17
|
+
|
|
18
|
+
| Setting | Value | Description |
|
|
19
|
+
|---------|-------|-------------|
|
|
20
|
+
| `model_profile` | balanced | Agent quality profile (quality/balanced/economy) |
|
|
21
|
+
| `tdd_enforced` | true | Require TDD red-green-refactor cycle |
|
|
22
|
+
| `approval_required` | false | Require human approval for risky changes |
|
|
23
|
+
| `volatility_threshold` | 0.7 | Risk score that triggers approval gate |
|
|
24
|
+
| `default_agent` | orchestrator | Default agent for commands |
|
|
25
|
+
|
|
26
|
+
### Set a Value (`key=value`)
|
|
27
|
+
|
|
28
|
+
Parse `$ARGUMENTS` as `key=value` pairs (space-separated for multiple).
|
|
29
|
+
|
|
30
|
+
Valid keys:
|
|
31
|
+
- `model_profile` — `quality`, `balanced`, `economy`
|
|
32
|
+
- `tdd_enforced` — `true`, `false`
|
|
33
|
+
- `approval_required` — `true`, `false`
|
|
34
|
+
- `volatility_threshold` — number between 0.0 and 1.0
|
|
35
|
+
- `default_agent` — agent name string
|
|
36
|
+
|
|
37
|
+
Update `.planning/config.json` with the new values.
|
|
38
|
+
|
|
39
|
+
Report what was changed.
|
|
40
|
+
|
|
41
|
+
### Invalid Key
|
|
42
|
+
|
|
43
|
+
Report error with list of valid keys.
|
|
44
|
+
|
|
45
|
+
## Default Config
|
|
46
|
+
|
|
47
|
+
If `.planning/config.json` does not exist, create it with defaults:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"model_profile": "balanced",
|
|
52
|
+
"tdd_enforced": true,
|
|
53
|
+
"approval_required": false,
|
|
54
|
+
"volatility_threshold": 0.7,
|
|
55
|
+
"default_agent": "orchestrator"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Test Gap Detector — identify areas of a proposed change weakly covered by tests and suggest minimum high-value tests to add
|
|
3
|
+
argument-hint: [change description or file paths]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Gap
|
|
7
|
+
|
|
8
|
+
Identify test gaps in a proposed change and recommend the minimum high-value tests to add.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS — description of the change or specific file paths
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
Run two agents in parallel:
|
|
15
|
+
|
|
16
|
+
- **@tester**: Find source files mentioned in `$ARGUMENTS` that have no corresponding test file; identify branches/edge cases in changed functions with no test coverage; look for missing error-path tests
|
|
17
|
+
|
|
18
|
+
- **@researcher**: Check if the changed functions appear in any integration or end-to-end test; find prior test gaps in this area from git history (tests added reactively after bugs)
|
|
19
|
+
|
|
20
|
+
## Gap Scoring
|
|
21
|
+
|
|
22
|
+
For each identified gap:
|
|
23
|
+
- **CRITICAL**: public API with no test at all
|
|
24
|
+
- **HIGH**: error handling path with no test
|
|
25
|
+
- **MEDIUM**: business logic branch not covered
|
|
26
|
+
- **LOW**: edge case (empty input, max values) not tested
|
|
27
|
+
|
|
28
|
+
## Report
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
════════════════════════════════════════════
|
|
32
|
+
TEST GAP REPORT
|
|
33
|
+
════════════════════════════════════════════
|
|
34
|
+
Change: <summary>
|
|
35
|
+
|
|
36
|
+
Gaps Found (<N>):
|
|
37
|
+
|
|
38
|
+
CRITICAL: <file> — no test file exists
|
|
39
|
+
Suggest: <test file path> testing <what>
|
|
40
|
+
|
|
41
|
+
HIGH: <function> in <file> — error path not tested
|
|
42
|
+
Suggest: test case for <error condition>
|
|
43
|
+
|
|
44
|
+
MEDIUM: <function> — branch "<condition>" not covered
|
|
45
|
+
Suggest: test case where <condition is true>
|
|
46
|
+
|
|
47
|
+
────────────────────────────────────────────
|
|
48
|
+
Minimum Tests to Add (prioritized):
|
|
49
|
+
1. <test description> — covers CRITICAL gap
|
|
50
|
+
2. <test description> — covers HIGH gap
|
|
51
|
+
════════════════════════════════════════════
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Ask: "Should I write these tests now?"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Intent-to-Change Translator — convert vague requests into 3–5 concrete, ranked implementation options with tradeoffs
|
|
3
|
+
argument-hint: [vague intent, e.g. "make checkout faster"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Translate Intent
|
|
7
|
+
|
|
8
|
+
Convert a vague request into concrete, ranked implementation options.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS — a vague or high-level request (e.g., "make checkout faster", "improve auth security")
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
Run two agents in parallel:
|
|
15
|
+
|
|
16
|
+
- **@architect**: Decompose `$ARGUMENTS` into 3–5 concrete implementation options. For each option provide:
|
|
17
|
+
- **Name**: short label
|
|
18
|
+
- **Description**: what exactly would be changed
|
|
19
|
+
- **Files affected**: list of files/modules that would change
|
|
20
|
+
- **Effort**: S (hours) / M (days) / L (week+)
|
|
21
|
+
- **Risk**: low / medium / high
|
|
22
|
+
- **Tradeoffs**: pros and cons
|
|
23
|
+
|
|
24
|
+
- **@researcher**: For each option, fetch relevant codebase context — find existing patterns, prior art, and constraints that apply
|
|
25
|
+
|
|
26
|
+
## Report
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
════════════════════════════════════════════
|
|
30
|
+
INTENT TRANSLATION: "$ARGUMENTS"
|
|
31
|
+
════════════════════════════════════════════
|
|
32
|
+
|
|
33
|
+
Option 1 (Recommended): <name>
|
|
34
|
+
Description: <what changes>
|
|
35
|
+
Files: <list>
|
|
36
|
+
Effort: <S|M|L> | Risk: <low|med|high>
|
|
37
|
+
Pros: <pros>
|
|
38
|
+
Cons: <cons>
|
|
39
|
+
|
|
40
|
+
Option 2: <name>
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
Option 3: <name>
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
────────────────────────────────────────────
|
|
47
|
+
Clarifying Questions:
|
|
48
|
+
1. <question about unclear aspect>
|
|
49
|
+
2. <question>
|
|
50
|
+
|
|
51
|
+
Assumptions Made:
|
|
52
|
+
- <assumption>
|
|
53
|
+
════════════════════════════════════════════
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Present all options and ask: "Which option would you like to proceed with?"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Codebase Volatility Map — highlight unstable zones based on git churn, hotfix frequency, and TODO clusters. Updates .codebase/VOLATILITY.json
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Volatility Map
|
|
6
|
+
|
|
7
|
+
Generate a volatility map of the codebase to identify unstable, high-churn areas.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
Run three analyses in parallel:
|
|
12
|
+
|
|
13
|
+
### 1. Git Churn (@researcher)
|
|
14
|
+
```bash
|
|
15
|
+
git log --follow --format="%ad" --date=short -- <file> | wc -l
|
|
16
|
+
```
|
|
17
|
+
Run for all source files (last 90 days). Identify files with the most commits.
|
|
18
|
+
|
|
19
|
+
### 2. TODO/FIXME Scan (@researcher)
|
|
20
|
+
Scan all source files for `TODO`, `FIXME`, `HACK`, `XXX` comments. Count per file.
|
|
21
|
+
|
|
22
|
+
### 3. Hotfix Frequency (@researcher)
|
|
23
|
+
Search git log for commit messages containing `fix`, `hotfix`, `patch`, `urgent`, `bug` (last 90 days). Count per file touched.
|
|
24
|
+
|
|
25
|
+
## Scoring
|
|
26
|
+
|
|
27
|
+
For each file, compute a volatility score (0.0–1.0):
|
|
28
|
+
- `churn_score` = commits / max_commits (normalized)
|
|
29
|
+
- `todo_score` = todo_count / max_todos (normalized)
|
|
30
|
+
- `hotfix_score` = hotfix_commits / max_hotfixes (normalized)
|
|
31
|
+
- `volatility = (churn * 0.4) + (hotfix * 0.4) + (todo * 0.2)`
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
Write results to `.codebase/VOLATILITY.json`:
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"generated_at": "<timestamp>",
|
|
39
|
+
"hotspots": [
|
|
40
|
+
{ "path": "<file>", "score": 0.92, "commits": 47, "todos": 8, "hotfixes": 12 }
|
|
41
|
+
],
|
|
42
|
+
"stable_zones": [
|
|
43
|
+
{ "path": "<file>", "score": 0.05 }
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Report
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
════════════════════════════════
|
|
52
|
+
VOLATILITY MAP
|
|
53
|
+
════════════════════════════════
|
|
54
|
+
Top Hotspots:
|
|
55
|
+
🔴 <file> — score: 0.92 (47 commits, 12 hotfixes)
|
|
56
|
+
🟠 <file> — score: 0.71 (23 commits, 5 hotfixes)
|
|
57
|
+
🟡 <file> — score: 0.45 (15 commits, 8 TODOs)
|
|
58
|
+
|
|
59
|
+
Stable Zones:
|
|
60
|
+
🟢 <file> — score: 0.05
|
|
61
|
+
|
|
62
|
+
Saved: .codebase/VOLATILITY.json
|
|
63
|
+
════════════════════════════════
|
|
64
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Display workspace overview — all repos, their current phase, status, and progress
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Workspace Status
|
|
6
|
+
|
|
7
|
+
Display an overview of all repositories registered in the workspace.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. Read `.planning/config.json` for the list of registered repos.
|
|
12
|
+
- If no repos registered, show status for the current directory only.
|
|
13
|
+
|
|
14
|
+
2. For each repo, read its `.planning/STATE.md`:
|
|
15
|
+
- Current phase, status, last_updated
|
|
16
|
+
- Plan confirmed flag
|
|
17
|
+
|
|
18
|
+
3. Display workspace overview:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
════════════════════════════════════════════════════
|
|
22
|
+
WORKSPACE OVERVIEW
|
|
23
|
+
════════════════════════════════════════════════════
|
|
24
|
+
frontend — Phase 2 | in_progress | Plan: ✅ | Updated: <time>
|
|
25
|
+
backend — Phase 3 | completed | Plan: ✅ | Updated: <time>
|
|
26
|
+
shared — Phase 1 | planned | Plan: ❌ | Updated: <time>
|
|
27
|
+
────────────────────────────────────────────────────
|
|
28
|
+
Total: 3 repos | 1 in progress | 1 completed | 1 planned
|
|
29
|
+
════════════════════════════════════════════════════
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. Highlight any repos with:
|
|
33
|
+
- `status: blocked` → show with ⚠️
|
|
34
|
+
- `plan_confirmed: false` + `status: in_progress` → note: "plan not confirmed"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Explore public APIs — writer drafts documentation — reviewer accuracy check — writer finalizes
|
|
3
|
+
argument-hint: [--scope=path | --format=api,guide,readme]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Write Docs
|
|
7
|
+
|
|
8
|
+
Generate documentation for the codebase or a specific scope.
|
|
9
|
+
|
|
10
|
+
**Input:** $ARGUMENTS — optional `--scope=<path>` and `--format=<type>`
|
|
11
|
+
|
|
12
|
+
Supported formats: `api` (API reference), `guide` (usage guide), `readme` (README)
|
|
13
|
+
Default: all formats
|
|
14
|
+
|
|
15
|
+
## Pipeline
|
|
16
|
+
|
|
17
|
+
### Phase 1 — Explore
|
|
18
|
+
|
|
19
|
+
- **@researcher**: Find all public APIs, exported functions, classes, types, and their signatures
|
|
20
|
+
- **@code-explorer**: Identify existing documentation, JSDoc comments, README sections
|
|
21
|
+
|
|
22
|
+
### Phase 2 — Draft
|
|
23
|
+
|
|
24
|
+
- **@writer**: Draft documentation based on the exploration findings
|
|
25
|
+
- API docs: function signatures, parameters, return types, examples
|
|
26
|
+
- Guides: usage examples, step-by-step instructions
|
|
27
|
+
- README: project overview, install, quickstart, API summary
|
|
28
|
+
|
|
29
|
+
### Phase 3 — Review
|
|
30
|
+
|
|
31
|
+
- **@reviewer**: Check accuracy — verify all documented APIs exist and signatures are correct
|
|
32
|
+
- Flag any documentation that contradicts the implementation
|
|
33
|
+
- Flag missing documentation for public APIs
|
|
34
|
+
|
|
35
|
+
### Phase 4 — Finalize
|
|
36
|
+
|
|
37
|
+
- **@writer**: Apply reviewer corrections, finalize and write documentation files
|
|
38
|
+
|
|
39
|
+
## Output Files
|
|
40
|
+
|
|
41
|
+
Based on `--format`:
|
|
42
|
+
- `api` → writes or updates `docs/API.md`
|
|
43
|
+
- `guide` → writes or updates `docs/GUIDE.md`
|
|
44
|
+
- `readme` → updates `README.md`
|
|
45
|
+
|
|
46
|
+
If `--scope` is set, documentation applies only to files within that path.
|
|
47
|
+
|
|
48
|
+
## Completion
|
|
49
|
+
|
|
50
|
+
Report: files written/updated, public APIs documented, any gaps found.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.test.d.ts","sourceRoot":"","sources":["../../../src/commands/analysis/analysis.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* /fd-analyze-change — umbrella analysis command
|
|
3
|
-
*
|
|
4
|
-
* Combines: impact radar, blast radius, regression prediction,
|
|
5
|
-
* test gap detection, volatility map, and reviewer routing into a
|
|
6
|
-
* single consolidated pre-change report.
|
|
7
|
-
*
|
|
8
|
-
* Replaces individual: /fd-impact-radar, /fd-blast-radius,
|
|
9
|
-
* /fd-regression-predict, /fd-test-gap, /fd-volatility-map, /fd-review-route
|
|
10
|
-
*/
|
|
11
|
-
export interface AnalyzeChangeArgs {
|
|
12
|
-
change?: string;
|
|
13
|
-
scope?: string;
|
|
14
|
-
files?: string;
|
|
15
|
-
depth?: string;
|
|
16
|
-
impact?: boolean;
|
|
17
|
-
"blast-radius"?: boolean;
|
|
18
|
-
regression?: boolean;
|
|
19
|
-
"test-gap"?: boolean;
|
|
20
|
-
volatility?: boolean;
|
|
21
|
-
"review-route"?: boolean;
|
|
22
|
-
all?: boolean;
|
|
23
|
-
json?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export declare const analyzeChangeCommand: {
|
|
26
|
-
name: string;
|
|
27
|
-
description: string;
|
|
28
|
-
execute(context: any, args?: AnalyzeChangeArgs): Promise<{
|
|
29
|
-
error: string;
|
|
30
|
-
code: string;
|
|
31
|
-
success?: undefined;
|
|
32
|
-
data?: undefined;
|
|
33
|
-
meta?: undefined;
|
|
34
|
-
message?: undefined;
|
|
35
|
-
modules_run?: undefined;
|
|
36
|
-
affected_zones?: undefined;
|
|
37
|
-
recommended_reviewers?: undefined;
|
|
38
|
-
risk_summary?: undefined;
|
|
39
|
-
risk_score?: undefined;
|
|
40
|
-
config?: undefined;
|
|
41
|
-
phase?: undefined;
|
|
42
|
-
} | {
|
|
43
|
-
success: boolean;
|
|
44
|
-
data: {
|
|
45
|
-
modules_run: string[];
|
|
46
|
-
affected_zones: string[];
|
|
47
|
-
regression_categories: string[];
|
|
48
|
-
test_gap_types: string[];
|
|
49
|
-
recommended_reviewers: string[];
|
|
50
|
-
risk_summary: string;
|
|
51
|
-
risk_score: number;
|
|
52
|
-
config: {
|
|
53
|
-
change_description: string;
|
|
54
|
-
scope: string;
|
|
55
|
-
files: string[];
|
|
56
|
-
modules_run: string[];
|
|
57
|
-
agents: (false | {
|
|
58
|
-
name: string;
|
|
59
|
-
role: string;
|
|
60
|
-
})[];
|
|
61
|
-
data: {
|
|
62
|
-
hotspots: string[];
|
|
63
|
-
known_failures: string[];
|
|
64
|
-
related_modules: string[];
|
|
65
|
-
volatile_zones: {
|
|
66
|
-
path: string;
|
|
67
|
-
stability: string;
|
|
68
|
-
}[];
|
|
69
|
-
fragile_patterns: number;
|
|
70
|
-
repo_memory_nodes: number;
|
|
71
|
-
regression_categories: string[];
|
|
72
|
-
past_regression_signals: string[];
|
|
73
|
-
test_gap_types: string[];
|
|
74
|
-
recommended_reviewers: string[];
|
|
75
|
-
trust_score: number | null;
|
|
76
|
-
trust_verdict: string;
|
|
77
|
-
prior_failures: string[];
|
|
78
|
-
};
|
|
79
|
-
risk_score: number;
|
|
80
|
-
risk_summary: string;
|
|
81
|
-
traversal_depth: number;
|
|
82
|
-
};
|
|
83
|
-
phase: number;
|
|
84
|
-
};
|
|
85
|
-
meta: {
|
|
86
|
-
formatted: string;
|
|
87
|
-
timestamp: string;
|
|
88
|
-
};
|
|
89
|
-
error?: undefined;
|
|
90
|
-
code?: undefined;
|
|
91
|
-
message?: undefined;
|
|
92
|
-
modules_run?: undefined;
|
|
93
|
-
affected_zones?: undefined;
|
|
94
|
-
recommended_reviewers?: undefined;
|
|
95
|
-
risk_summary?: undefined;
|
|
96
|
-
risk_score?: undefined;
|
|
97
|
-
config?: undefined;
|
|
98
|
-
phase?: undefined;
|
|
99
|
-
} | {
|
|
100
|
-
success: boolean;
|
|
101
|
-
message: string;
|
|
102
|
-
modules_run: string[];
|
|
103
|
-
affected_zones: string[];
|
|
104
|
-
recommended_reviewers: string[];
|
|
105
|
-
risk_summary: string;
|
|
106
|
-
risk_score: number;
|
|
107
|
-
config: {
|
|
108
|
-
change_description: string;
|
|
109
|
-
scope: string;
|
|
110
|
-
files: string[];
|
|
111
|
-
modules_run: string[];
|
|
112
|
-
agents: (false | {
|
|
113
|
-
name: string;
|
|
114
|
-
role: string;
|
|
115
|
-
})[];
|
|
116
|
-
data: {
|
|
117
|
-
hotspots: string[];
|
|
118
|
-
known_failures: string[];
|
|
119
|
-
related_modules: string[];
|
|
120
|
-
volatile_zones: {
|
|
121
|
-
path: string;
|
|
122
|
-
stability: string;
|
|
123
|
-
}[];
|
|
124
|
-
fragile_patterns: number;
|
|
125
|
-
repo_memory_nodes: number;
|
|
126
|
-
regression_categories: string[];
|
|
127
|
-
past_regression_signals: string[];
|
|
128
|
-
test_gap_types: string[];
|
|
129
|
-
recommended_reviewers: string[];
|
|
130
|
-
trust_score: number | null;
|
|
131
|
-
trust_verdict: string;
|
|
132
|
-
prior_failures: string[];
|
|
133
|
-
};
|
|
134
|
-
risk_score: number;
|
|
135
|
-
risk_summary: string;
|
|
136
|
-
traversal_depth: number;
|
|
137
|
-
};
|
|
138
|
-
phase: number;
|
|
139
|
-
meta: {
|
|
140
|
-
formatted: string;
|
|
141
|
-
timestamp: string;
|
|
142
|
-
};
|
|
143
|
-
error?: undefined;
|
|
144
|
-
code?: undefined;
|
|
145
|
-
data?: undefined;
|
|
146
|
-
}>;
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=analyze-change.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-change.d.ts","sourceRoot":"","sources":["../../../src/commands/analysis/analyze-change.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmCH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,eAAO,MAAM,oBAAoB;;;qBAGR,GAAG,SAAS,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoFjB,MAAM;mCAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAzB,MAAM;+BAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CAwI7D,CAAA"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* /fd-evaluate-risk — standalone risk assessment command
|
|
3
|
-
*
|
|
4
|
-
* Estimates change risk, confidence, likely regressions, whether
|
|
5
|
-
* approval is needed, and suggests safer alternatives when risk is high.
|
|
6
|
-
*
|
|
7
|
-
* Works without a --file if --change is provided (keyword-based analysis).
|
|
8
|
-
*/
|
|
9
|
-
type RiskLevel = "low" | "medium" | "high" | "critical";
|
|
10
|
-
export declare const evaluateRiskCommand: {
|
|
11
|
-
name: string;
|
|
12
|
-
description: string;
|
|
13
|
-
execute(context: any, args?: {
|
|
14
|
-
change?: string;
|
|
15
|
-
file?: string;
|
|
16
|
-
volatility?: boolean;
|
|
17
|
-
confidence?: boolean;
|
|
18
|
-
"risk-score"?: boolean;
|
|
19
|
-
json?: boolean;
|
|
20
|
-
}): Promise<{
|
|
21
|
-
error: string;
|
|
22
|
-
code: string;
|
|
23
|
-
success?: undefined;
|
|
24
|
-
data?: undefined;
|
|
25
|
-
meta?: undefined;
|
|
26
|
-
} | {
|
|
27
|
-
success: boolean;
|
|
28
|
-
data: {
|
|
29
|
-
agents: ({
|
|
30
|
-
name: string;
|
|
31
|
-
role: string;
|
|
32
|
-
} | null)[];
|
|
33
|
-
phase: number;
|
|
34
|
-
risk_score: number;
|
|
35
|
-
risk_level: RiskLevel;
|
|
36
|
-
confidence: number;
|
|
37
|
-
approval_needed: boolean;
|
|
38
|
-
likely_regressions: string[];
|
|
39
|
-
volatile_zones: number;
|
|
40
|
-
volatile_matches: string[];
|
|
41
|
-
safer_alternative: string | null;
|
|
42
|
-
trust_signals: string[];
|
|
43
|
-
};
|
|
44
|
-
meta: {
|
|
45
|
-
formatted: string;
|
|
46
|
-
timestamp: string;
|
|
47
|
-
};
|
|
48
|
-
error?: undefined;
|
|
49
|
-
code?: undefined;
|
|
50
|
-
} | {
|
|
51
|
-
agents: ({
|
|
52
|
-
name: string;
|
|
53
|
-
role: string;
|
|
54
|
-
} | null)[];
|
|
55
|
-
phase: number;
|
|
56
|
-
meta: {
|
|
57
|
-
formatted: string;
|
|
58
|
-
timestamp: string;
|
|
59
|
-
};
|
|
60
|
-
risk_score: number;
|
|
61
|
-
risk_level: RiskLevel;
|
|
62
|
-
confidence: number;
|
|
63
|
-
approval_needed: boolean;
|
|
64
|
-
likely_regressions: string[];
|
|
65
|
-
volatile_zones: number;
|
|
66
|
-
volatile_matches: string[];
|
|
67
|
-
safer_alternative: string | null;
|
|
68
|
-
trust_signals: string[];
|
|
69
|
-
success: boolean;
|
|
70
|
-
message: string;
|
|
71
|
-
error?: undefined;
|
|
72
|
-
code?: undefined;
|
|
73
|
-
data?: undefined;
|
|
74
|
-
}>;
|
|
75
|
-
};
|
|
76
|
-
export {};
|
|
77
|
-
//# sourceMappingURL=evaluate-risk.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate-risk.d.ts","sourceRoot":"","sources":["../../../src/commands/analysis/evaluate-risk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiCH,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAuDvD,eAAO,MAAM,mBAAmB;;;qBAGP,GAAG,SAAS;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2I1J,CAAA"}
|