@dv.nghiem/flowdeck 0.3.3 → 0.3.4
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/README.md +7 -6
- package/dist/hooks/orchestrator-guard-hook.d.ts +4 -1
- package/dist/hooks/orchestrator-guard-hook.d.ts.map +1 -1
- package/dist/hooks/session-idle-hook.d.ts.map +1 -1
- package/dist/hooks/telemetry-hook.d.ts +14 -1
- package/dist/hooks/telemetry-hook.d.ts.map +1 -1
- package/dist/hooks/telemetry-hook.test.d.ts +2 -0
- package/dist/hooks/telemetry-hook.test.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +466 -202
- package/dist/tools/council.d.ts.map +1 -1
- package/dist/tools/delegate.d.ts.map +1 -1
- package/dist/tools/dispatch-routing.d.ts +6 -0
- package/dist/tools/dispatch-routing.d.ts.map +1 -0
- package/dist/tools/run-pipeline.d.ts.map +1 -1
- package/docs/installation.md +6 -17
- package/docs/intelligence.md +18 -33
- package/docs/optimization-baseline.md +21 -0
- package/docs/rules.md +9 -36
- package/docs/workflows.md +8 -9
- package/package.json +4 -2
- package/src/rules/README.md +10 -0
- package/src/rules/common/coding-style.md +2 -2
- package/src/rules/typescript/patterns.md +1 -1
- package/src/skills/backend-patterns/SKILL.md +6 -0
- package/src/skills/clean-architecture/SKILL.md +6 -0
- package/src/skills/cqrs/SKILL.md +6 -0
- package/src/skills/ddd-architecture/SKILL.md +6 -0
- package/src/skills/event-driven-architecture/SKILL.md +6 -0
- package/src/skills/hexagonal-architecture/SKILL.md +6 -0
- package/src/skills/layered-architecture/SKILL.md +6 -0
- package/src/skills/postgres-patterns/SKILL.md +6 -0
- package/src/skills/saga-architecture/SKILL.md +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"council.d.ts","sourceRoot":"","sources":["../../src/tools/council.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"council.d.ts","sourceRoot":"","sources":["../../src/tools/council.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKtD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CA2ExE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAYtD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CA+HzE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TaskType } from "../services/model-router";
|
|
2
|
+
export declare function shouldRetry(promptRes: any): boolean;
|
|
3
|
+
export declare function isTransientError(text?: string): boolean;
|
|
4
|
+
export declare function normalizeTaskType(taskType: string | undefined, agent: string): TaskType;
|
|
5
|
+
export declare function isTaskType(value: string): value is TaskType;
|
|
6
|
+
//# sourceMappingURL=dispatch-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-routing.d.ts","sourceRoot":"","sources":["../../src/tools/dispatch-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,wBAAgB,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAOnD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAcvF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAY3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AA6BtD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAyH5E"}
|
package/docs/installation.md
CHANGED
|
@@ -20,7 +20,7 @@ If OpenCode is not yet installed, follow the [OpenCode installation guide](https
|
|
|
20
20
|
|
|
21
21
|
## Method 1: curl (recommended)
|
|
22
22
|
|
|
23
|
-
The install script
|
|
23
|
+
The install script registers `@dv.nghiem/flowdeck` as a plugin in `opencode.json` and sets `orchestrator` as default agent when missing.
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
26
|
curl -fsSL https://raw.githubusercontent.com/DVNghiem/flowdeck/main/install.sh | bash
|
|
@@ -29,11 +29,9 @@ curl -fsSL https://raw.githubusercontent.com/DVNghiem/flowdeck/main/install.sh |
|
|
|
29
29
|
What the script does:
|
|
30
30
|
|
|
31
31
|
1. Detects your config directory (`$OPENCODE_CONFIG_DIR` or `~/.config/opencode`)
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
35
|
-
5. Registers `@dv.nghiem/flowdeck` as a plugin in `opencode.json`
|
|
36
|
-
6. Sets `orchestrator` as the default agent
|
|
32
|
+
2. Creates the config directory if needed
|
|
33
|
+
3. Registers `@dv.nghiem/flowdeck` as a plugin in `opencode.json` if not present
|
|
34
|
+
4. Sets `orchestrator` as the default agent if not already configured
|
|
37
35
|
|
|
38
36
|
---
|
|
39
37
|
|
|
@@ -59,18 +57,9 @@ Steps explained:
|
|
|
59
57
|
|
|
60
58
|
## Verification
|
|
61
59
|
|
|
62
|
-
After any install method, run these commands to confirm
|
|
60
|
+
After any install method, run these commands to confirm registration:
|
|
63
61
|
|
|
64
62
|
```bash
|
|
65
|
-
# Should print 23 or more
|
|
66
|
-
ls ~/.config/opencode/agent/ | grep -c "\.md"
|
|
67
|
-
|
|
68
|
-
# Should list 24 or more directories
|
|
69
|
-
ls ~/.config/opencode/skills/
|
|
70
|
-
|
|
71
|
-
# Should list 16 or more files
|
|
72
|
-
ls ~/.config/opencode/command/
|
|
73
|
-
|
|
74
63
|
# Should print @dv.nghiem/flowdeck
|
|
75
64
|
cat ~/.config/opencode/opencode.json | grep flowdeck
|
|
76
65
|
```
|
|
@@ -81,7 +70,7 @@ Expected output for the last command:
|
|
|
81
70
|
"@dv.nghiem/flowdeck"
|
|
82
71
|
```
|
|
83
72
|
|
|
84
|
-
If
|
|
73
|
+
If the `opencode.json` line is missing, the plugin will not load — add it manually (see [Configuration](configuration.md)).
|
|
85
74
|
|
|
86
75
|
---
|
|
87
76
|
|
package/docs/intelligence.md
CHANGED
|
@@ -8,19 +8,19 @@ FlowDeck's intelligence layer adds safety-first AI editing, persistent architect
|
|
|
8
8
|
|
|
9
9
|
| Feature | Command / Hook | Storage |
|
|
10
10
|
|---------|---------------|---------|
|
|
11
|
-
| Change Impact Radar |
|
|
11
|
+
| Change Impact Radar | Integrated analysis workflow | VOLATILITY.json, MEMORY.json |
|
|
12
12
|
| Patch Trust Score | Hook (automatic) | VOLATILITY.json, FAILURES.json |
|
|
13
|
-
| Blast Radius Preview |
|
|
13
|
+
| Blast Radius Preview | Integrated analysis workflow | MEMORY.json, FAILURES.json |
|
|
14
14
|
| Repo Memory Graph | `repo-memory` tool | `.codebase/MEMORY.json` |
|
|
15
15
|
| Failure Replay Engine | `failure-replay` tool | `.codebase/FAILURES.json` |
|
|
16
16
|
| Safe Execution Modes | Hook (automatic) | `.planning/config.json` |
|
|
17
|
-
| Test Gap Detector |
|
|
17
|
+
| Test Gap Detector | Integrated analysis workflow | VOLATILITY.json |
|
|
18
18
|
| Architectural Constraint Guard | Hook (automatic) | `.codebase/CONSTRAINTS.md` |
|
|
19
19
|
| Intent-to-Change Translator | `/fd-translate-intent` | — |
|
|
20
20
|
| Confidence-Aware Planning | Skill | — |
|
|
21
|
-
| Codebase Volatility Map |
|
|
22
|
-
| Human Review Routing |
|
|
23
|
-
| Regression Prediction |
|
|
21
|
+
| Codebase Volatility Map | `volatility-map` tool | `.codebase/VOLATILITY.json` |
|
|
22
|
+
| Human Review Routing | Integrated analysis workflow | VOLATILITY.json, FAILURES.json |
|
|
23
|
+
| Regression Prediction | Integrated analysis workflow | — |
|
|
24
24
|
| Decision Trace | `decision-trace` tool + hook | `.codebase/DECISIONS.jsonl` |
|
|
25
25
|
| Self-Healing Policies | `policy-engine` tool | `.codebase/POLICIES.json` |
|
|
26
26
|
|
|
@@ -28,14 +28,11 @@ FlowDeck's intelligence layer adds safety-first AI editing, persistent architect
|
|
|
28
28
|
|
|
29
29
|
## Slash Commands
|
|
30
30
|
|
|
31
|
-
###
|
|
31
|
+
### Change Impact Radar
|
|
32
32
|
|
|
33
33
|
Predicts which files, modules, APIs, tests, and database paths are likely to be affected before the AI edits anything.
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
/fd-impact-radar --change "refactor auth token handling" --scope all
|
|
37
|
-
/fd-impact-radar --change "drop users table" --json
|
|
38
|
-
```
|
|
35
|
+
Use `/fd-suggest` or `/fd-translate-intent` when you need pre-change analysis with impact context.
|
|
39
36
|
|
|
40
37
|
**Arguments:**
|
|
41
38
|
- `--change` — describe the proposed change (free text)
|
|
@@ -46,13 +43,11 @@ Predicts which files, modules, APIs, tests, and database paths are likely to be
|
|
|
46
43
|
|
|
47
44
|
---
|
|
48
45
|
|
|
49
|
-
###
|
|
46
|
+
### Blast Radius Preview
|
|
50
47
|
|
|
51
48
|
Shows the likely downstream consequences of a proposed change — hidden dependencies, fragile integration points, and predicted test breakages.
|
|
52
49
|
|
|
53
|
-
|
|
54
|
-
/fd-blast-radius --change "delete legacy session table" --depth 3
|
|
55
|
-
```
|
|
50
|
+
Use `/fd-suggest` for broad risk discovery and `/fd-deploy-check` before release changes.
|
|
56
51
|
|
|
57
52
|
**Arguments:**
|
|
58
53
|
- `--change` — describe the proposed change
|
|
@@ -78,14 +73,11 @@ Converts a vague request like "make checkout faster" into concrete, ranked imple
|
|
|
78
73
|
|
|
79
74
|
---
|
|
80
75
|
|
|
81
|
-
###
|
|
76
|
+
### Volatility Map
|
|
82
77
|
|
|
83
78
|
Displays the Codebase Volatility Map — highlights unstable zones based on churn, hotfix frequency, and unresolved TODO clusters.
|
|
84
79
|
|
|
85
|
-
|
|
86
|
-
/fd-volatility-map
|
|
87
|
-
/fd-volatility-map --threshold volatile --limit 10
|
|
88
|
-
```
|
|
80
|
+
Use the `volatility-map` tool directly from delegated agents for incremental updates.
|
|
89
81
|
|
|
90
82
|
**Arguments:**
|
|
91
83
|
- `--threshold` — minimum stability level to show: `stable`, `moderate`, `volatile` (default), `critical`
|
|
@@ -96,13 +88,11 @@ Displays the Codebase Volatility Map — highlights unstable zones based on chur
|
|
|
96
88
|
|
|
97
89
|
---
|
|
98
90
|
|
|
99
|
-
###
|
|
91
|
+
### Regression Prediction
|
|
100
92
|
|
|
101
93
|
Estimates the most likely regression categories for a change — performance, auth, schema, UI states, async flows, etc.
|
|
102
94
|
|
|
103
|
-
|
|
104
|
-
/fd-regression-predict --change "add webhook retry logic" --categories all
|
|
105
|
-
```
|
|
95
|
+
FlowDeck derives regression risk from historical failures plus volatility data during analysis-oriented workflows.
|
|
106
96
|
|
|
107
97
|
**Arguments:**
|
|
108
98
|
- `--change` — describe the proposed change
|
|
@@ -111,14 +101,11 @@ Estimates the most likely regression categories for a change — performance, au
|
|
|
111
101
|
|
|
112
102
|
---
|
|
113
103
|
|
|
114
|
-
###
|
|
104
|
+
### Test Gap Detector
|
|
115
105
|
|
|
116
106
|
Identifies which areas of a proposed change are weakly covered by tests, and suggests the minimum high-value tests to add first.
|
|
117
107
|
|
|
118
|
-
|
|
119
|
-
/fd-test-gap --change "add payment webhook handler"
|
|
120
|
-
/fd-test-gap --change "update user schema" --scope unit
|
|
121
|
-
```
|
|
108
|
+
Use `/fd-verify` and `/fd-deploy-check` for current test-gap surfacing in production workflows.
|
|
122
109
|
|
|
123
110
|
**Arguments:**
|
|
124
111
|
- `--change` — describe the proposed change
|
|
@@ -127,13 +114,11 @@ Identifies which areas of a proposed change are weakly covered by tests, and sug
|
|
|
127
114
|
|
|
128
115
|
---
|
|
129
116
|
|
|
130
|
-
###
|
|
117
|
+
### Human Review Routing
|
|
131
118
|
|
|
132
119
|
Routes risky patches to the right reviewer type — security, backend, infra, domain-owner, frontend, data, or devops — based on the file paths and change description.
|
|
133
120
|
|
|
134
|
-
|
|
135
|
-
/fd-review-route --files "src/auth/token.ts,src/api/routes.ts" --change "new JWT rotation logic"
|
|
136
|
-
```
|
|
121
|
+
Routing to reviewer profiles is integrated into verification and deployment checks.
|
|
137
122
|
|
|
138
123
|
**Arguments:**
|
|
139
124
|
- `--files` — comma-separated file paths being changed
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# FlowDeck Optimization Baseline
|
|
2
|
+
|
|
3
|
+
Captured on 2026-05-07 before deep optimization implementation.
|
|
4
|
+
|
|
5
|
+
## Dispatch Baseline
|
|
6
|
+
|
|
7
|
+
- Command: `bun test src/tools/agent-dispatch.test.ts`
|
|
8
|
+
- Result: 8 passing, 0 failing
|
|
9
|
+
- Suite runtime (bun): 135ms
|
|
10
|
+
- Wall clock runtime: 0.17s
|
|
11
|
+
|
|
12
|
+
## Observability Baseline
|
|
13
|
+
|
|
14
|
+
- `.codebase/` does not exist yet in a clean repo checkout.
|
|
15
|
+
- Telemetry hooks emitted `status: "ok"` for all tool completions and did not classify failures.
|
|
16
|
+
- Session/run IDs defaulted to `session-0` and `run-0` when runtime env variables were not set.
|
|
17
|
+
|
|
18
|
+
## Routing and Cost Baseline
|
|
19
|
+
|
|
20
|
+
- Dispatch tools did not call model routing or agent performance tracking.
|
|
21
|
+
- `src/services/model-router.ts` and `src/services/agent-performance.ts` were present but not wired into `delegate`/`run-pipeline`.
|
package/docs/rules.md
CHANGED
|
@@ -1,47 +1,20 @@
|
|
|
1
1
|
# FlowDeck Rules
|
|
2
2
|
|
|
3
|
-
Rules are coding
|
|
3
|
+
Rules are coding standards used by FlowDeck agents for style, testing, security, and language-specific guidance.
|
|
4
4
|
|
|
5
|
-
## How
|
|
5
|
+
## How Rules Load
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
FlowDeck loads all markdown files under `src/rules/` automatically through plugin startup. You do not need to manually copy or symlink rule files.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Precedence
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
{
|
|
13
|
-
"instructions": [
|
|
14
|
-
".flowdeck-rules/common/coding-style.md",
|
|
15
|
-
".flowdeck-rules/common/testing.md",
|
|
16
|
-
".flowdeck-rules/common/security.md",
|
|
17
|
-
".flowdeck-rules/typescript/patterns.md"
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Where `.flowdeck-rules/` is a symlink or copy of the FlowDeck rules directory:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
ln -s ~/.config/opencode/node_modules/@dv.nghiem/flowdeck/rules .flowdeck-rules
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Method 2 — Per-session
|
|
29
|
-
|
|
30
|
-
Reference a rule file directly in your prompt:
|
|
11
|
+
When guidance conflicts, precedence is:
|
|
31
12
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Method 3 — Copy to project
|
|
37
|
-
|
|
38
|
-
Copy the rules directory into your project for version-controlled standards:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
cp -r ~/.config/opencode/node_modules/@dv.nghiem/flowdeck/rules ./flowdeck-rules
|
|
42
|
-
```
|
|
13
|
+
1. `AGENTS.md` and `CLAUDE.md` in the repository
|
|
14
|
+
2. FlowDeck plugin rules in `src/rules/**`
|
|
15
|
+
3. Runtime policy rules in `.codebase/POLICIES.json`
|
|
43
16
|
|
|
44
|
-
|
|
17
|
+
This keeps repository-specific conventions authoritative and lets policy learning add guardrails without overriding project intent.
|
|
45
18
|
|
|
46
19
|
---
|
|
47
20
|
|
package/docs/workflows.md
CHANGED
|
@@ -38,36 +38,35 @@ Each step gates the next. `/fd-discuss` requires a defined feature. `/fd-plan` r
|
|
|
38
38
|
|---------|---------|------------|
|
|
39
39
|
| `/fd-new-project` | Bootstrap a new project | @orchestrator |
|
|
40
40
|
| `/fd-map-codebase` | Analyse and index the codebase | @mapper (×6 parallel) |
|
|
41
|
-
| `/fd-settings` | Configure FlowDeck settings | @orchestrator |
|
|
42
41
|
| `/fd-new-feature` | Initialize a new feature | @orchestrator |
|
|
43
42
|
| `/fd-discuss` | Pre-planning discussion | @discusser |
|
|
44
43
|
| `/fd-plan` | Generate a phase plan | @planner, @plan-checker |
|
|
45
|
-
| `/fd-roadmap` | View / update project roadmap | @orchestrator |
|
|
46
|
-
| `/fd-dashboard` | Visual progress dashboard | — |
|
|
47
44
|
| `/fd-ask` | Smart agent dispatch | various |
|
|
48
45
|
| `/fd-execute` | Implement feature via TDD | @orchestrator, @coder, @tester, @reviewer |
|
|
49
46
|
| `/fd-verify` | Verify feature completion | @tester, @reviewer, @security-auditor |
|
|
50
47
|
| `/fd-fix-bug` | Fix a bug with TDD | @debug-specialist, @tester, @coder |
|
|
51
|
-
| `/fd-review-code` | Code review | @reviewer, @researcher, @tester |
|
|
52
48
|
| `/fd-write-docs` | Generate documentation | @writer, @reviewer |
|
|
53
49
|
| `/fd-deploy-check` | Pre-deploy safety check | @tester, @security-auditor, @reviewer |
|
|
54
|
-
| `/fd-
|
|
50
|
+
| `/fd-status` | View project progress | — |
|
|
55
51
|
| `/fd-checkpoint` | Save a session checkpoint | — |
|
|
56
52
|
| `/fd-resume` | Resume from checkpoint | — |
|
|
57
53
|
| `/fd-multi-repo` | Multi-repo orchestration | @multi-repo-coordinator, @architect |
|
|
54
|
+
| `/fd-translate-intent` | Convert vague requests to ranked implementation options | @architect, @researcher |
|
|
55
|
+
| `/fd-suggest` | Suggest high-value feature opportunities from codebase signals | @researcher, @architect |
|
|
56
|
+
| `/fd-quick` | Fast focused task execution | @coder or selected specialist |
|
|
57
|
+
| `/fd-reflect` | Post-session reflection and skill capture | @auto-learner |
|
|
58
|
+
| `/fd-doctor` | Installation and environment diagnostics | @orchestrator |
|
|
58
59
|
|
|
59
60
|
---
|
|
60
61
|
|
|
61
62
|
## Analysis Commands
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
Analysis workflows are currently exposed through:
|
|
64
65
|
|
|
65
66
|
| Command | Purpose | Flags |
|
|
66
67
|
|---------|---------|-------|
|
|
67
|
-
| `/fd-analyze-change` | Combined impact analysis | `--impact`, `--blast-radius`, `--regression`, `--test-gap`, `--volatility` |
|
|
68
|
-
| `/fd-guarded-edit` | Edit gate decision | auto/confirm/review/block |
|
|
69
|
-
| `/fd-evaluate-risk` | Standalone risk assessment | — |
|
|
70
68
|
| `/fd-translate-intent` | Intent to concrete options | `assumptions`, `recommended_option` |
|
|
69
|
+
| `/fd-suggest` | Suggest feature opportunities from volatility, failures, and decisions | `--category`, `--limit` |
|
|
71
70
|
|
|
72
71
|
---
|
|
73
72
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dv.nghiem/flowdeck",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "FlowDeck — structured planning and execution workflows for OpenCode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,7 +29,9 @@
|
|
|
29
29
|
"postinstall": "node postinstall.mjs",
|
|
30
30
|
"prepublishOnly": "bun run clean && bun run build",
|
|
31
31
|
"test": "bun test",
|
|
32
|
-
"typecheck": "tsc --noEmit"
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"validate:skills": "node scripts/validate-skills.mjs",
|
|
34
|
+
"validate:docs": "node scripts/validate-docs.mjs"
|
|
33
35
|
},
|
|
34
36
|
"keywords": ["opencode", "plugin", "ai", "workflow", "planning"],
|
|
35
37
|
"author": "DVNghiem",
|
package/src/rules/README.md
CHANGED
|
@@ -6,6 +6,16 @@ Coding standards for projects using FlowDeck. These define conventions that Flow
|
|
|
6
6
|
|
|
7
7
|
Rules are loaded **automatically** by the FlowDeck plugin. No manual configuration is needed — when FlowDeck is installed, all rule files in this directory are injected into OpenCode's `instructions` at startup.
|
|
8
8
|
|
|
9
|
+
## Rule Precedence
|
|
10
|
+
|
|
11
|
+
When guidance conflicts, FlowDeck resolves precedence in this order:
|
|
12
|
+
|
|
13
|
+
1. Repository governance files (`AGENTS.md`, `CLAUDE.md`)
|
|
14
|
+
2. FlowDeck plugin rules from `src/rules/**`
|
|
15
|
+
3. Runtime policies from `.codebase/POLICIES.json`
|
|
16
|
+
|
|
17
|
+
This keeps repository-specific expectations authoritative while still allowing runtime policy learning.
|
|
18
|
+
|
|
9
19
|
## Selective Rules (Optional)
|
|
10
20
|
|
|
11
21
|
If you want to override the default set and load only specific rules, add them to `opencode.json` under `instructions`:
|
|
@@ -9,8 +9,8 @@ Language-agnostic coding conventions followed by all FlowDeck agents.
|
|
|
9
9
|
| 1 | **No Redundant Code** | No redundant arguments, methods, or attributes. Each piece of code must serve a purpose. |
|
|
10
10
|
| 2 | **Simplicity** | Code should be simple and easy to understand. Prefer clarity over cleverness. |
|
|
11
11
|
| 3 | **Clear Commands** | Code should have clear, explicit commands. No ambiguity in intent. |
|
|
12
|
-
| 4 | **Extensibility** |
|
|
13
|
-
| 5 | **Documentation** |
|
|
12
|
+
| 4 | **Extensibility** | Prefer minimal designs for current requirements. Add extension points only when required by active scope. |
|
|
13
|
+
| 5 | **Documentation** | Add comments when needed to explain non-obvious tradeoffs or constraints; avoid boilerplate file headers. |
|
|
14
14
|
| 6 | **Information Security** | Comply with information security best practices. No secrets, no injections, no XSS. |
|
|
15
15
|
| 7 | **Memory Optimization** | Optimize memory usage to the minimum possible. Avoid unnecessary allocations. |
|
|
16
16
|
| 8 | **Speed** | Process speed should be as fast as possible. Prefer efficient algorithms and data structures. |
|
|
@@ -102,7 +102,7 @@ class UserService {
|
|
|
102
102
|
|
|
103
103
|
## Result Types for Error Handling
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Prefer explicit error contracts (Result types or typed exceptions) for business logic. Use one pattern consistently within a module.
|
|
106
106
|
|
|
107
107
|
```typescript
|
|
108
108
|
type Ok<T> = { ok: true; value: T };
|
package/src/skills/cqrs/SKILL.md
CHANGED