@dv.nghiem/flowdeck 0.1.0
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/LICENSE +21 -0
- package/README.md +136 -0
- package/bin/flowdeck.js +108 -0
- package/dist/agents/architect.d.ts +3 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/code-explorer.d.ts +3 -0
- package/dist/agents/code-explorer.d.ts.map +1 -0
- package/dist/agents/coder.d.ts +3 -0
- package/dist/agents/coder.d.ts.map +1 -0
- package/dist/agents/debug.d.ts +4 -0
- package/dist/agents/debug.d.ts.map +1 -0
- package/dist/agents/doc-updater.d.ts +3 -0
- package/dist/agents/doc-updater.d.ts.map +1 -0
- package/dist/agents/flowdeck.d.ts +5 -0
- package/dist/agents/flowdeck.d.ts.map +1 -0
- package/dist/agents/index.d.ts +38 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/mapper.d.ts +3 -0
- package/dist/agents/mapper.d.ts.map +1 -0
- package/dist/agents/orchestrator.d.ts +10 -0
- package/dist/agents/orchestrator.d.ts.map +1 -0
- package/dist/agents/performance.d.ts +4 -0
- package/dist/agents/performance.d.ts.map +1 -0
- package/dist/agents/planner.d.ts +3 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/policy-enforcer.d.ts +3 -0
- package/dist/agents/policy-enforcer.d.ts.map +1 -0
- package/dist/agents/researcher.d.ts +3 -0
- package/dist/agents/researcher.d.ts.map +1 -0
- package/dist/agents/reviewer.d.ts +3 -0
- package/dist/agents/reviewer.d.ts.map +1 -0
- package/dist/agents/risk-analyst.d.ts +3 -0
- package/dist/agents/risk-analyst.d.ts.map +1 -0
- package/dist/agents/security-auditor.d.ts +3 -0
- package/dist/agents/security-auditor.d.ts.map +1 -0
- package/dist/agents/specialist.d.ts +5 -0
- package/dist/agents/specialist.d.ts.map +1 -0
- package/dist/agents/tester.d.ts +3 -0
- package/dist/agents/tester.d.ts.map +1 -0
- package/dist/agents/types.d.ts +20 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/writer.d.ts +3 -0
- package/dist/agents/writer.d.ts.map +1 -0
- package/dist/commands/analysis/analysis.test.d.ts +2 -0
- package/dist/commands/analysis/analysis.test.d.ts.map +1 -0
- package/dist/commands/analysis/analyze-change.d.ts +148 -0
- package/dist/commands/analysis/analyze-change.d.ts.map +1 -0
- package/dist/commands/analysis/evaluate-risk.d.ts +77 -0
- package/dist/commands/analysis/evaluate-risk.d.ts.map +1 -0
- package/dist/commands/analysis/guarded-edit.d.ts +72 -0
- package/dist/commands/analysis/guarded-edit.d.ts.map +1 -0
- package/dist/commands/execution/deploy-check.d.ts +91 -0
- package/dist/commands/execution/deploy-check.d.ts.map +1 -0
- package/dist/commands/execution/fix-bug.d.ts +187 -0
- package/dist/commands/execution/fix-bug.d.ts.map +1 -0
- package/dist/commands/execution/new-feature.d.ts +171 -0
- package/dist/commands/execution/new-feature.d.ts.map +1 -0
- package/dist/commands/execution/review-code.d.ts +130 -0
- package/dist/commands/execution/review-code.d.ts.map +1 -0
- package/dist/commands/execution/write-docs.d.ts +94 -0
- package/dist/commands/execution/write-docs.d.ts.map +1 -0
- package/dist/commands/governance/approve.d.ts +80 -0
- package/dist/commands/governance/approve.d.ts.map +1 -0
- package/dist/commands/intelligence/blast-radius.d.ts +67 -0
- package/dist/commands/intelligence/blast-radius.d.ts.map +1 -0
- package/dist/commands/intelligence/impact-radar.d.ts +71 -0
- package/dist/commands/intelligence/impact-radar.d.ts.map +1 -0
- package/dist/commands/intelligence/intelligence.test.d.ts +2 -0
- package/dist/commands/intelligence/intelligence.test.d.ts.map +1 -0
- package/dist/commands/intelligence/regression-predict.d.ts +75 -0
- package/dist/commands/intelligence/regression-predict.d.ts.map +1 -0
- package/dist/commands/intelligence/review-route.d.ts +65 -0
- package/dist/commands/intelligence/review-route.d.ts.map +1 -0
- package/dist/commands/intelligence/test-gap.d.ts +73 -0
- package/dist/commands/intelligence/test-gap.d.ts.map +1 -0
- package/dist/commands/intelligence/translate-intent.d.ts +87 -0
- package/dist/commands/intelligence/translate-intent.d.ts.map +1 -0
- package/dist/commands/intelligence/volatility-map-cmd.d.ts +68 -0
- package/dist/commands/intelligence/volatility-map-cmd.d.ts.map +1 -0
- package/dist/commands/planning/ask.d.ts +62 -0
- package/dist/commands/planning/ask.d.ts.map +1 -0
- package/dist/commands/planning/ask.test.d.ts +2 -0
- package/dist/commands/planning/ask.test.d.ts.map +1 -0
- package/dist/commands/planning/dashboard.d.ts +30 -0
- package/dist/commands/planning/dashboard.d.ts.map +1 -0
- package/dist/commands/planning/discuss.d.ts +39 -0
- package/dist/commands/planning/discuss.d.ts.map +1 -0
- package/dist/commands/planning/plan.d.ts +67 -0
- package/dist/commands/planning/plan.d.ts.map +1 -0
- package/dist/commands/planning/roadmap.d.ts +105 -0
- package/dist/commands/planning/roadmap.d.ts.map +1 -0
- package/dist/commands/setup/doctor.d.ts +10 -0
- package/dist/commands/setup/doctor.d.ts.map +1 -0
- package/dist/commands/setup/map-codebase.d.ts +62 -0
- package/dist/commands/setup/map-codebase.d.ts.map +1 -0
- package/dist/commands/setup/new-project.d.ts +19 -0
- package/dist/commands/setup/new-project.d.ts.map +1 -0
- package/dist/commands/setup/settings.d.ts +57 -0
- package/dist/commands/setup/settings.d.ts.map +1 -0
- package/dist/commands/state/checkpoint.d.ts +27 -0
- package/dist/commands/state/checkpoint.d.ts.map +1 -0
- package/dist/commands/state/multi-repo.d.ts +63 -0
- package/dist/commands/state/multi-repo.d.ts.map +1 -0
- package/dist/commands/state/progress.d.ts +57 -0
- package/dist/commands/state/progress.d.ts.map +1 -0
- package/dist/commands/state/resume.d.ts +11 -0
- package/dist/commands/state/resume.d.ts.map +1 -0
- package/dist/commands/state/workspace-commands.d.ts +207 -0
- package/dist/commands/state/workspace-commands.d.ts.map +1 -0
- package/dist/dashboard/lib/port-finder.d.ts +10 -0
- package/dist/dashboard/lib/port-finder.d.ts.map +1 -0
- package/dist/dashboard/lib/port-finder.test.d.ts +2 -0
- package/dist/dashboard/lib/port-finder.test.d.ts.map +1 -0
- package/dist/dashboard/lib/state-reader.d.ts +3 -0
- package/dist/dashboard/lib/state-reader.d.ts.map +1 -0
- package/dist/dashboard/server.d.ts +2 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.mjs +13649 -0
- package/dist/dashboard/types.d.ts +72 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/views/index.ejs +391 -0
- package/dist/dashboard/views/partials/blockers.ejs +10 -0
- package/dist/dashboard/views/partials/header.ejs +20 -0
- package/dist/dashboard/views/partials/phase-timeline.ejs +40 -0
- package/dist/dashboard/views/partials/progress.ejs +12 -0
- package/dist/hooks/approval-hook.d.ts +13 -0
- package/dist/hooks/approval-hook.d.ts.map +1 -0
- package/dist/hooks/compaction-hook.d.ts +23 -0
- package/dist/hooks/compaction-hook.d.ts.map +1 -0
- package/dist/hooks/context-window-monitor.d.ts +21 -0
- package/dist/hooks/context-window-monitor.d.ts.map +1 -0
- package/dist/hooks/decision-trace-hook.d.ts +13 -0
- package/dist/hooks/decision-trace-hook.d.ts.map +1 -0
- package/dist/hooks/file-tracker.d.ts +29 -0
- package/dist/hooks/file-tracker.d.ts.map +1 -0
- package/dist/hooks/guard-rails.d.ts +33 -0
- package/dist/hooks/guard-rails.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/notifications.d.ts +21 -0
- package/dist/hooks/notifications.d.ts.map +1 -0
- package/dist/hooks/patch-trust.d.ts +27 -0
- package/dist/hooks/patch-trust.d.ts.map +1 -0
- package/dist/hooks/patch-trust.test.d.ts +2 -0
- package/dist/hooks/patch-trust.test.d.ts.map +1 -0
- package/dist/hooks/session-events.d.ts +8 -0
- package/dist/hooks/session-events.d.ts.map +1 -0
- package/dist/hooks/session-idle-hook.d.ts +21 -0
- package/dist/hooks/session-idle-hook.d.ts.map +1 -0
- package/dist/hooks/session-start.d.ts +10 -0
- package/dist/hooks/session-start.d.ts.map +1 -0
- package/dist/hooks/shell-env-hook.d.ts +21 -0
- package/dist/hooks/shell-env-hook.d.ts.map +1 -0
- package/dist/hooks/telemetry-hook.d.ts +25 -0
- package/dist/hooks/telemetry-hook.d.ts.map +1 -0
- package/dist/hooks/todo-hook.d.ts +25 -0
- package/dist/hooks/todo-hook.d.ts.map +1 -0
- package/dist/hooks/tool-guard.d.ts +41 -0
- package/dist/hooks/tool-guard.d.ts.map +1 -0
- package/dist/hooks/tool-guard.test.d.ts +2 -0
- package/dist/hooks/tool-guard.test.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6639 -0
- package/dist/lib/confirmation.d.ts +20 -0
- package/dist/lib/confirmation.d.ts.map +1 -0
- package/dist/lib/impact-radar.d.ts +35 -0
- package/dist/lib/impact-radar.d.ts.map +1 -0
- package/dist/lib/signatures.d.ts +12 -0
- package/dist/lib/signatures.d.ts.map +1 -0
- package/dist/lib/timestamps.d.ts +23 -0
- package/dist/lib/timestamps.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +20 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/services/agent-performance.d.ts +29 -0
- package/dist/services/agent-performance.d.ts.map +1 -0
- package/dist/services/approval-manager.d.ts +30 -0
- package/dist/services/approval-manager.d.ts.map +1 -0
- package/dist/services/index.d.ts +7 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/model-router.d.ts +35 -0
- package/dist/services/model-router.d.ts.map +1 -0
- package/dist/services/policy-compiler.d.ts +27 -0
- package/dist/services/policy-compiler.d.ts.map +1 -0
- package/dist/services/run-trace.d.ts +34 -0
- package/dist/services/run-trace.d.ts.map +1 -0
- package/dist/services/services.test.d.ts +2 -0
- package/dist/services/services.test.d.ts.map +1 -0
- package/dist/services/telemetry.d.ts +34 -0
- package/dist/services/telemetry.d.ts.map +1 -0
- package/dist/tools/agent-dispatch.test.d.ts +2 -0
- package/dist/tools/agent-dispatch.test.d.ts.map +1 -0
- package/dist/tools/codebase-state.d.ts +4 -0
- package/dist/tools/codebase-state.d.ts.map +1 -0
- package/dist/tools/context-generator.d.ts +3 -0
- package/dist/tools/context-generator.d.ts.map +1 -0
- package/dist/tools/council.d.ts +4 -0
- package/dist/tools/council.d.ts.map +1 -0
- package/dist/tools/decision-trace.d.ts +16 -0
- package/dist/tools/decision-trace.d.ts.map +1 -0
- package/dist/tools/delegate.d.ts +4 -0
- package/dist/tools/delegate.d.ts.map +1 -0
- package/dist/tools/failure-replay.d.ts +19 -0
- package/dist/tools/failure-replay.d.ts.map +1 -0
- package/dist/tools/failure-replay.test.d.ts +2 -0
- package/dist/tools/failure-replay.test.d.ts.map +1 -0
- package/dist/tools/hash-edit.d.ts +3 -0
- package/dist/tools/hash-edit.d.ts.map +1 -0
- package/dist/tools/planning-state-lib.d.ts +65 -0
- package/dist/tools/planning-state-lib.d.ts.map +1 -0
- package/dist/tools/planning-state.d.ts +3 -0
- package/dist/tools/planning-state.d.ts.map +1 -0
- package/dist/tools/policy-engine.d.ts +19 -0
- package/dist/tools/policy-engine.d.ts.map +1 -0
- package/dist/tools/repo-memory.d.ts +20 -0
- package/dist/tools/repo-memory.d.ts.map +1 -0
- package/dist/tools/repo-memory.test.d.ts +2 -0
- package/dist/tools/repo-memory.test.d.ts.map +1 -0
- package/dist/tools/run-parallel.d.ts +4 -0
- package/dist/tools/run-parallel.d.ts.map +1 -0
- package/dist/tools/run-pipeline.d.ts +4 -0
- package/dist/tools/run-pipeline.d.ts.map +1 -0
- package/dist/tools/volatility-map.d.ts +18 -0
- package/dist/tools/volatility-map.d.ts.map +1 -0
- package/dist/tools/volatility-map.test.d.ts +2 -0
- package/dist/tools/volatility-map.test.d.ts.map +1 -0
- package/dist/tools/workspace-state.d.ts +3 -0
- package/dist/tools/workspace-state.d.ts.map +1 -0
- package/docs/USER_GUIDE.md +20 -0
- package/docs/agents.md +562 -0
- package/docs/best-practices.md +47 -0
- package/docs/command-migration.md +175 -0
- package/docs/commands/fd-analyze-change.md +107 -0
- package/docs/commands/fd-ask.md +51 -0
- package/docs/commands/fd-checkpoint.md +10 -0
- package/docs/commands/fd-dashboard.md +11 -0
- package/docs/commands/fd-deploy-check.md +11 -0
- package/docs/commands/fd-discuss.md +28 -0
- package/docs/commands/fd-evaluate-risk.md +134 -0
- package/docs/commands/fd-fix-bug.md +24 -0
- package/docs/commands/fd-guarded-edit.md +105 -0
- package/docs/commands/fd-map-codebase.md +27 -0
- package/docs/commands/fd-multi-repo.md +63 -0
- package/docs/commands/fd-new-feature.md +25 -0
- package/docs/commands/fd-new-project.md +24 -0
- package/docs/commands/fd-plan.md +33 -0
- package/docs/commands/fd-progress.md +11 -0
- package/docs/commands/fd-resume.md +10 -0
- package/docs/commands/fd-review-code.md +29 -0
- package/docs/commands/fd-roadmap.md +10 -0
- package/docs/commands/fd-settings.md +10 -0
- package/docs/commands/fd-write-docs.md +10 -0
- package/docs/commands.md +476 -0
- package/docs/configuration.md +211 -0
- package/docs/feature-integration-architecture.md +255 -0
- package/docs/index.md +75 -0
- package/docs/installation.md +134 -0
- package/docs/intelligence.md +294 -0
- package/docs/multi-repo.md +201 -0
- package/docs/notifications.md +170 -0
- package/docs/parallel-execution.md +227 -0
- package/docs/quick-start.md +174 -0
- package/docs/rules.md +459 -0
- package/docs/skills.md +408 -0
- package/docs/workflows.md +376 -0
- package/package.json +58 -0
- package/postinstall.mjs +102 -0
- package/src/rules/README.md +37 -0
- package/src/rules/common/agent-orchestration.md +86 -0
- package/src/rules/common/coding-style.md +120 -0
- package/src/rules/common/git-workflow.md +77 -0
- package/src/rules/common/security.md +94 -0
- package/src/rules/common/testing.md +105 -0
- package/src/rules/golang/patterns.md +187 -0
- package/src/rules/java/patterns.md +204 -0
- package/src/rules/python/patterns.md +141 -0
- package/src/rules/rust/patterns.md +210 -0
- package/src/rules/typescript/patterns.md +168 -0
- package/src/skills/api-design/SKILL.md +143 -0
- package/src/skills/arch-constraint-guard/SKILL.md +61 -0
- package/src/skills/blast-radius-preview/SKILL.md +65 -0
- package/src/skills/change-impact-radar/SKILL.md +63 -0
- package/src/skills/code-review/SKILL.md +108 -0
- package/src/skills/code-tour/SKILL.md +101 -0
- package/src/skills/codebase-mapping/SKILL.md +87 -0
- package/src/skills/codebase-onboarding/SKILL.md +133 -0
- package/src/skills/confidence-aware-planning/SKILL.md +67 -0
- package/src/skills/context-load/SKILL.md +63 -0
- package/src/skills/debug-flow/SKILL.md +75 -0
- package/src/skills/decision-trace/SKILL.md +72 -0
- package/src/skills/dependency-audit/SKILL.md +126 -0
- package/src/skills/deploy-check/SKILL.md +87 -0
- package/src/skills/documentation-writer/SKILL.md +154 -0
- package/src/skills/failure-replay-engine/SKILL.md +59 -0
- package/src/skills/git-release/SKILL.md +94 -0
- package/src/skills/git-workflow/SKILL.md +177 -0
- package/src/skills/golang-patterns/SKILL.md +511 -0
- package/src/skills/human-review-routing/SKILL.md +65 -0
- package/src/skills/intent-translator/SKILL.md +57 -0
- package/src/skills/java-patterns/SKILL.md +479 -0
- package/src/skills/multi-repo/SKILL.md +187 -0
- package/src/skills/parallel-execute/SKILL.md +92 -0
- package/src/skills/patch-trust-score/SKILL.md +44 -0
- package/src/skills/performance-profiling/SKILL.md +153 -0
- package/src/skills/plan-task/SKILL.md +101 -0
- package/src/skills/python-patterns/SKILL.md +529 -0
- package/src/skills/refactor-guide/SKILL.md +117 -0
- package/src/skills/regression-prediction/SKILL.md +57 -0
- package/src/skills/repo-memory-graph/SKILL.md +49 -0
- package/src/skills/rust-patterns/SKILL.md +492 -0
- package/src/skills/security-scan/SKILL.md +91 -0
- package/src/skills/self-healing-policies/SKILL.md +76 -0
- package/src/skills/tdd-workflow/SKILL.md +126 -0
- package/src/skills/test-coverage/SKILL.md +94 -0
- package/src/skills/test-gap-detector/SKILL.md +58 -0
- package/src/skills/volatility-map/SKILL.md +52 -0
- package/src/workflows/debug-flow.md +119 -0
- package/src/workflows/deploy-check-flow.md +98 -0
- package/src/workflows/discuss-flow.md +97 -0
- package/src/workflows/execute-flow.md +233 -0
- package/src/workflows/execute-phase.md +142 -0
- package/src/workflows/fix-bug-flow.md +210 -0
- package/src/workflows/map-codebase-flow.md +92 -0
- package/src/workflows/multi-repo-flow.md +226 -0
- package/src/workflows/parallel-execution-flow.md +236 -0
- package/src/workflows/plan-flow.md +126 -0
- package/src/workflows/plan-phase.md +101 -0
- package/src/workflows/refactor-flow.md +122 -0
- package/src/workflows/review-code-flow.md +105 -0
- package/src/workflows/spec-driven-flow.md +43 -0
- package/src/workflows/write-docs-flow.md +95 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Dang Van Nghiem
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# FlowDeck — OpenCode Plugin
|
|
2
|
+
|
|
3
|
+
> AI-powered multi-agent workflow orchestration with built-in safety intelligence for OpenCode
|
|
4
|
+
|
|
5
|
+
FlowDeck adds a structured, multi-agent development workflow to OpenCode. It coordinates 25 specialist agents through a four-phase cycle — discuss, plan, execute, review — with persistent state that survives session restarts, and a full AI safety layer that scores every change, predicts regressions, and enforces architectural constraints before anything is applied.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- 🤖 **25 agents** — architect, planner, coder, reviewer, tester, debugger, risk-analyst, policy-enforcer, and more
|
|
12
|
+
- 🛠️ **24 skills** — reusable workflow patterns (TDD, security scan, deploy check, code review, and more)
|
|
13
|
+
- ⚡ **24 commands** — 19 workflow commands + 4 umbrella analysis commands + `/fd-ask` smart dispatch
|
|
14
|
+
- 📋 **15 workflows** — pre-built orchestration flows including Spec-Driven Development (SDD)
|
|
15
|
+
- 🔄 **Persistent state** — resume exactly where you left off across sessions via `.planning/STATE.md`
|
|
16
|
+
- 🔀 **Parallel execution** — independent tasks run simultaneously in wave-structured batches
|
|
17
|
+
- 📐 **Language rules** — coding standards for TypeScript, Python, Go, Java, and Rust
|
|
18
|
+
- 🗂️ **Multi-repo support** — coordinate changes across multiple repositories in one session
|
|
19
|
+
- 🔔 **System notifications** — desktop alerts when long-running tasks complete
|
|
20
|
+
- 🛡️ **AI Safety layer** — patch trust scoring, edit gates, phase gating, arch constraint enforcement, failure replay, and regression prediction built into every workflow
|
|
21
|
+
- 🪝 **Deep System Hooks** — context window monitoring, session idle summaries, shell environment injection, and structured compaction to prevent context loss
|
|
22
|
+
- 🌐 **Built-in MCPs** — Context7 (docs), Exa (web search), and Grep.app (code search) included and enabled by default
|
|
23
|
+
- 💎 **Ensemble Reasoning** — `/fd-council` tool for synthesized consensus from multiple specialized agents
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Quick Install
|
|
28
|
+
|
|
29
|
+
### Method 1: curl (recommended)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
curl -fsSL https://raw.githubusercontent.com/DVNghiem/flowdeck/main/install.sh | bash
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Method 2: npx (no git required)
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx @dv.nghiem/flowdeck install
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
See [Installation](docs/installation.md) for prerequisites, verification steps, and environment variables.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Core Workflow
|
|
46
|
+
|
|
47
|
+
FlowDeck structures every feature through a four-step cycle:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/fd-new-project → /fd-discuss → /fd-plan → /fd-new-feature
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
| Step | Command | What happens |
|
|
54
|
+
|------|---------|--------------|
|
|
55
|
+
| **Initialize** | `/fd-new-project MyApp` | Creates `.planning/` directory with `PROJECT.md`, `STATE.md`, and `ROADMAP.md` |
|
|
56
|
+
| **Discuss** | `/fd-discuss 1` | `@discusser` runs structured Q&A, saves decisions to `DISCUSS.md` |
|
|
57
|
+
| **Plan** | `/fd-plan 1` | `@flowdeck-planner` builds a wave-structured `PLAN.md`; you type `CONFIRMED` to proceed |
|
|
58
|
+
| **Execute** | `/fd-new-feature "…"` | `@orchestrator` delegates to `@architect`, `@coder`, `@tester`, `@reviewer` in waves |
|
|
59
|
+
|
|
60
|
+
State is written to `.planning/STATE.md` after each phase. Use `/fd-checkpoint` to save mid-session and `/fd-resume` to reload context in a new session.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Command Reference
|
|
65
|
+
|
|
66
|
+
### Workflow commands
|
|
67
|
+
|
|
68
|
+
| Command | Purpose |
|
|
69
|
+
|---------|---------|
|
|
70
|
+
| `/fd-new-project` | Bootstrap a new project with PROJECT.md, ROADMAP.md, STATE.md |
|
|
71
|
+
| `/fd-map-codebase` | Analyse and index the codebase into ARCHITECTURE.md and MEMORY.json |
|
|
72
|
+
| `/fd-discuss` | Pre-planning discussion with impact radar integration |
|
|
73
|
+
| `/fd-plan` | Generate a wave-structured execution plan |
|
|
74
|
+
| `/fd-new-feature` | Implement a feature with failure replay and post-execution recording |
|
|
75
|
+
| `/fd-fix-bug` | Fix a bug with impact radar, failure replay, and 7-step workflow |
|
|
76
|
+
| `/fd-review-code` | Code review with impact radar and trust scoring |
|
|
77
|
+
| `/fd-write-docs` | Generate or update documentation |
|
|
78
|
+
| `/fd-deploy-check` | Pre-deploy safety and readiness check |
|
|
79
|
+
| `/fd-progress` | View project progress and completion metrics |
|
|
80
|
+
| `/fd-checkpoint` | Save a session checkpoint for resumption |
|
|
81
|
+
| `/fd-resume` | Resume from a previous checkpoint |
|
|
82
|
+
| `/fd-roadmap` | View and update the project roadmap |
|
|
83
|
+
| `/fd-dashboard` | Visual progress dashboard |
|
|
84
|
+
| `/fd-settings` | Configure FlowDeck settings and execution mode |
|
|
85
|
+
| `/fd-multi-repo` | Multi-repo management |
|
|
86
|
+
| `/fd-ask` | Smart agent dispatch — routes to the right agent by keyword |
|
|
87
|
+
| `/fd-doctor` | Check FlowDeck installation and environment health |
|
|
88
|
+
| `/fd-council` | Ensemble-based reasoning from multiple specialized agents |
|
|
89
|
+
|
|
90
|
+
### Analysis commands
|
|
91
|
+
|
|
92
|
+
These umbrella commands consolidate the full analysis surface into four focused entry points:
|
|
93
|
+
|
|
94
|
+
| Command | Purpose |
|
|
95
|
+
|---------|---------|
|
|
96
|
+
| `/fd-analyze-change` | Pre-change analysis — runs impact radar, blast radius, regression prediction, test gap detection, volatility mapping, and reviewer routing in one report |
|
|
97
|
+
| `/fd-guarded-edit` | Edit gate — returns auto-approve / require-confirmation / require-review / block based on policy, trust score, volatility, and arch constraints |
|
|
98
|
+
| `/fd-evaluate-risk` | Risk assessment — risk score, confidence, regression categories, approval needed, safer alternatives |
|
|
99
|
+
| `/fd-translate-intent` | Intent translator — converts vague requests into 3–5 ranked implementation options with assumptions and clarifying questions |
|
|
100
|
+
|
|
101
|
+
**Example pre-change workflow:**
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# 1. Understand the intent
|
|
105
|
+
/fd-translate-intent --intent "make checkout faster"
|
|
106
|
+
|
|
107
|
+
# 2. Full pre-change analysis
|
|
108
|
+
/fd-analyze-change --change "add Redis cache for checkout queries"
|
|
109
|
+
|
|
110
|
+
# 3. Gate decision for the specific file
|
|
111
|
+
/fd-guarded-edit --file "src/checkout/query.ts" --change "add Redis cache layer"
|
|
112
|
+
|
|
113
|
+
# 4. Quantified risk estimate
|
|
114
|
+
/fd-evaluate-risk --change "add Redis cache for checkout queries" --file "src/checkout/query.ts"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The individual analysis commands (`/fd-impact-radar`, `/fd-blast-radius`, `/fd-regression-predict`, `/fd-test-gap`, `/fd-volatility-map`, `/fd-review-route`) remain available for single-purpose use. See [docs/command-migration.md](docs/command-migration.md) for the full migration guide.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Documentation
|
|
122
|
+
|
|
123
|
+
| File | Description |
|
|
124
|
+
|------|-------------|
|
|
125
|
+
| [docs/index.md](docs/index.md) | Full documentation table of contents |
|
|
126
|
+
| [docs/installation.md](docs/installation.md) | Prerequisites, install methods, verification, and uninstall |
|
|
127
|
+
| [docs/quick-start.md](docs/quick-start.md) | First 15 minutes — step-by-step walkthrough |
|
|
128
|
+
| [docs/configuration.md](docs/configuration.md) | `opencode.json`, project config, environment variables, plugin tools |
|
|
129
|
+
| [docs/USER_GUIDE.md](docs/USER_GUIDE.md) | Full agent and skill usage reference with examples |
|
|
130
|
+
| [docs/command-migration.md](docs/command-migration.md) | Command map, architecture overview, and migration guide |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
|
|
136
|
+
MIT
|
package/bin/flowdeck.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// bin/flowdeck.js — FlowDeck CLI
|
|
3
|
+
// Usage: npx @dv.nghiem/flowdeck [--local] [--uninstall] [--help]
|
|
4
|
+
|
|
5
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
|
|
6
|
+
import { join, dirname } from "node:path";
|
|
7
|
+
import { homedir } from "node:os";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
9
|
+
|
|
10
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
const pkgRoot = join(__dirname, "..");
|
|
12
|
+
|
|
13
|
+
const args = process.argv.slice(2);
|
|
14
|
+
|
|
15
|
+
if (args.includes("--help") || args.includes("-h") || args.includes("help")) {
|
|
16
|
+
console.log(`
|
|
17
|
+
FlowDeck — structured planning and execution workflows for OpenCode
|
|
18
|
+
|
|
19
|
+
Usage:
|
|
20
|
+
npx @dv.nghiem/flowdeck Install FlowDeck globally (~/.config/opencode/)
|
|
21
|
+
npx @dv.nghiem/flowdeck --local Install to current project (.opencode/)
|
|
22
|
+
npx @dv.nghiem/flowdeck --uninstall Remove FlowDeck from opencode.json
|
|
23
|
+
npx @dv.nghiem/flowdeck --help Show this help
|
|
24
|
+
|
|
25
|
+
Agents and skills are managed by the npm package — no manual copy needed.
|
|
26
|
+
`);
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const isLocal = args.includes("--local");
|
|
31
|
+
const isUninstall = args.includes("--uninstall");
|
|
32
|
+
|
|
33
|
+
const configDir = isLocal
|
|
34
|
+
? join(process.cwd(), ".opencode")
|
|
35
|
+
: process.env.OPENCODE_CONFIG_DIR ||
|
|
36
|
+
(process.env.XDG_CONFIG_HOME
|
|
37
|
+
? join(process.env.XDG_CONFIG_HOME, "opencode")
|
|
38
|
+
: join(homedir(), ".config", "opencode"));
|
|
39
|
+
|
|
40
|
+
const configFile = join(configDir, "opencode.json");
|
|
41
|
+
|
|
42
|
+
if (isUninstall) {
|
|
43
|
+
console.log(`Uninstalling FlowDeck from: ${configDir}`);
|
|
44
|
+
|
|
45
|
+
if (existsSync(configFile)) {
|
|
46
|
+
try {
|
|
47
|
+
const cfg = JSON.parse(readFileSync(configFile, "utf-8"));
|
|
48
|
+
let changed = false;
|
|
49
|
+
|
|
50
|
+
if (Array.isArray(cfg.plugin)) {
|
|
51
|
+
const before = cfg.plugin.length;
|
|
52
|
+
cfg.plugin = cfg.plugin.filter(
|
|
53
|
+
(p) => p !== "@dv.nghiem/flowdeck" && !String(p).startsWith("@dv.nghiem/flowdeck@")
|
|
54
|
+
);
|
|
55
|
+
if (cfg.plugin.length < before) changed = true;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (cfg.default_agent === "orchestrator") {
|
|
59
|
+
delete cfg.default_agent;
|
|
60
|
+
changed = true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (changed) {
|
|
64
|
+
writeFileSync(configFile, JSON.stringify(cfg, null, 2) + "\n");
|
|
65
|
+
console.log(" ✓ Removed plugin from opencode.json");
|
|
66
|
+
} else {
|
|
67
|
+
console.log(" ✓ Plugin not found in opencode.json");
|
|
68
|
+
}
|
|
69
|
+
} catch { /* ignore parse errors */ }
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
console.log("✅ FlowDeck uninstalled from: " + configDir);
|
|
73
|
+
console.log(" To reinstall: npx @dv.nghiem/flowdeck");
|
|
74
|
+
process.exit(0);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Install — register plugin in opencode.json
|
|
78
|
+
console.log(`Installing FlowDeck to: ${configDir}\n`);
|
|
79
|
+
|
|
80
|
+
mkdirSync(configDir, { recursive: true });
|
|
81
|
+
|
|
82
|
+
let cfg = {};
|
|
83
|
+
if (existsSync(configFile)) {
|
|
84
|
+
try { cfg = JSON.parse(readFileSync(configFile, "utf-8")); } catch { /* ignore */ }
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!Array.isArray(cfg.plugin)) cfg.plugin = [];
|
|
88
|
+
const already = cfg.plugin.some(
|
|
89
|
+
(p) => p === "@dv.nghiem/flowdeck" || String(p).startsWith("@dv.nghiem/flowdeck@")
|
|
90
|
+
);
|
|
91
|
+
if (!already) {
|
|
92
|
+
cfg.plugin.push("@dv.nghiem/flowdeck");
|
|
93
|
+
console.log(" ✓ Added @dv.nghiem/flowdeck to plugin list");
|
|
94
|
+
} else {
|
|
95
|
+
console.log(" ✓ Plugin already registered");
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!cfg.default_agent) {
|
|
99
|
+
cfg.default_agent = "orchestrator";
|
|
100
|
+
console.log(" ✓ Set default_agent to orchestrator");
|
|
101
|
+
} else {
|
|
102
|
+
console.log(" ✓ default_agent already set");
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
writeFileSync(configFile, JSON.stringify(cfg, null, 2) + "\n");
|
|
106
|
+
|
|
107
|
+
console.log(`\n✅ FlowDeck installed! Restart OpenCode to activate.`);
|
|
108
|
+
console.log(` Config: ${configDir}`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agents/architect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA8I7D,eAAO,MAAM,oBAAoB,EAAE,YAiBlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-explorer.d.ts","sourceRoot":"","sources":["../../src/agents/code-explorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA8F7D,eAAO,MAAM,uBAAuB,EAAE,YAqBrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/agents/coder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAkH7D,eAAO,MAAM,gBAAgB,EAAE,YAiB9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/agents/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA4L7D,eAAO,MAAM,0BAA0B,EAAE,YAqBxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,YAqB3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-updater.d.ts","sourceRoot":"","sources":["../../src/agents/doc-updater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA4D7D,eAAO,MAAM,qBAAqB,EAAE,YAiBnC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentFactory } from './types';
|
|
2
|
+
export declare const createFlowdeckPlannerAgent: AgentFactory;
|
|
3
|
+
export declare const createFlowdeckExecutorAgent: AgentFactory;
|
|
4
|
+
export declare const createFlowdeckPlanCheckerAgent: AgentFactory;
|
|
5
|
+
//# sourceMappingURL=flowdeck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowdeck.d.ts","sourceRoot":"","sources":["../../src/agents/flowdeck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAsR7D,eAAO,MAAM,0BAA0B,EAAE,YAqBxC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,YAqBzC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,YAqB5C,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { AgentConfig } from '@opencode-ai/sdk/v2';
|
|
2
|
+
import type { AgentDefinition } from './types';
|
|
3
|
+
export { resolvePrompt } from './types';
|
|
4
|
+
export type { AgentDefinition, AgentFactory } from './types';
|
|
5
|
+
import { createOrchestratorAgent } from './orchestrator';
|
|
6
|
+
import { createPlannerAgent } from './planner';
|
|
7
|
+
import { createCoderAgent } from './coder';
|
|
8
|
+
import { createFlowdeckPlannerAgent, createFlowdeckExecutorAgent, createFlowdeckPlanCheckerAgent } from './flowdeck';
|
|
9
|
+
import { createTesterAgent } from './tester';
|
|
10
|
+
import { createReviewerAgent } from './reviewer';
|
|
11
|
+
import { createResearcherAgent } from './researcher';
|
|
12
|
+
import { createWriterAgent } from './writer';
|
|
13
|
+
import { createSecurityAuditorAgent } from './security-auditor';
|
|
14
|
+
import { createDocUpdaterAgent } from './doc-updater';
|
|
15
|
+
import { createMapperAgent } from './mapper';
|
|
16
|
+
import { createCodeExplorerAgent } from './code-explorer';
|
|
17
|
+
import { createDebugSpecialistAgent, createBuildErrorResolverAgent } from './debug';
|
|
18
|
+
import { createTaskSplitterAgent, createDiscusserAgent, createParallelCoordinatorAgent } from './specialist';
|
|
19
|
+
import { createArchitectAgent } from './architect';
|
|
20
|
+
import { createRiskAnalystAgent } from './risk-analyst';
|
|
21
|
+
import { createPolicyEnforcerAgent } from './policy-enforcer';
|
|
22
|
+
import { createPerformanceOptimizerAgent, createRefactorGuideAgent } from './performance';
|
|
23
|
+
export declare const DEFAULT_MODELS: Record<string, string>;
|
|
24
|
+
export type AgentMode = 'primary' | 'subagent' | 'all';
|
|
25
|
+
/**
|
|
26
|
+
* Create a single agent by name with optional custom prompts
|
|
27
|
+
*/
|
|
28
|
+
export declare function createAgent(name: string, model?: string, customPrompt?: string, customAppendPrompt?: string): AgentDefinition | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Create all agent definitions
|
|
31
|
+
*/
|
|
32
|
+
export declare function createAgents(): AgentDefinition[];
|
|
33
|
+
/**
|
|
34
|
+
* Get agent configurations formatted for the OpenCode SDK
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAgentConfigs(): Record<string, AgentConfig>;
|
|
37
|
+
export { createOrchestratorAgent, createPlannerAgent, createCoderAgent, createFlowdeckPlannerAgent, createFlowdeckExecutorAgent, createFlowdeckPlanCheckerAgent, createTesterAgent, createReviewerAgent, createResearcherAgent, createWriterAgent, createSecurityAuditorAgent, createDocUpdaterAgent, createMapperAgent, createCodeExplorerAgent, createDebugSpecialistAgent, createBuildErrorResolverAgent, createTaskSplitterAgent, createDiscusserAgent, createParallelCoordinatorAgent, createArchitectAgent, createRiskAnalystAgent, createPolicyEnforcerAgent, createPerformanceOptimizerAgent, createRefactorGuideAgent, };
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyBjD,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;AAmBvD;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,eAAe,GAAG,SAAS,CA4H7B;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,eAAe,EAAE,CAYhD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAyB7D;AAGD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,GACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/agents/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAsE7D,eAAO,MAAM,iBAAiB,EAAE,YAiB/B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AgentDefinition } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Build the orchestrator prompt with dynamic agent filtering.
|
|
4
|
+
*/
|
|
5
|
+
export declare function buildOrchestratorPrompt(disabledAgents?: Set<string>): string;
|
|
6
|
+
export declare function createOrchestratorAgent(model?: string | Array<string | {
|
|
7
|
+
id: string;
|
|
8
|
+
variant?: string;
|
|
9
|
+
}>, customPrompt?: string, customAppendPrompt?: string, disabledAgents?: Set<string>): AgentDefinition;
|
|
10
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2O/C;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAsB5E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,eAAe,CAuBjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/agents/performance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAuS7D,eAAO,MAAM,+BAA+B,EAAE,YAqB7C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAiBtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAyI7D,eAAO,MAAM,kBAAkB,EAAE,YAiBhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-enforcer.d.ts","sourceRoot":"","sources":["../../src/agents/policy-enforcer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAgE7D,eAAO,MAAM,yBAAyB,EAAE,YAqBvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"researcher.d.ts","sourceRoot":"","sources":["../../src/agents/researcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAiF7D,eAAO,MAAM,qBAAqB,EAAE,YAiBnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAyI7D,eAAO,MAAM,mBAAmB,EAAE,YAiBjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-analyst.d.ts","sourceRoot":"","sources":["../../src/agents/risk-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA2D7D,eAAO,MAAM,sBAAsB,EAAE,YAiBpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-auditor.d.ts","sourceRoot":"","sources":["../../src/agents/security-auditor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AA4G7D,eAAO,MAAM,0BAA0B,EAAE,YAqBxC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentFactory } from './types';
|
|
2
|
+
export declare const createTaskSplitterAgent: AgentFactory;
|
|
3
|
+
export declare const createDiscusserAgent: AgentFactory;
|
|
4
|
+
export declare const createParallelCoordinatorAgent: AgentFactory;
|
|
5
|
+
//# sourceMappingURL=specialist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specialist.d.ts","sourceRoot":"","sources":["../../src/agents/specialist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAwZ7D,eAAO,MAAM,uBAAuB,EAAE,YAqBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAiBlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,YAqB5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tester.d.ts","sourceRoot":"","sources":["../../src/agents/tester.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAqH7D,eAAO,MAAM,iBAAiB,EAAE,YAiB/B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AgentConfig } from '@opencode-ai/sdk/v2';
|
|
2
|
+
export interface AgentDefinition {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
config: AgentConfig;
|
|
7
|
+
/** Priority-ordered model entries for runtime fallback resolution. */
|
|
8
|
+
_modelArray?: Array<{
|
|
9
|
+
id: string;
|
|
10
|
+
variant?: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resolve agent prompt from base/custom/append inputs.
|
|
15
|
+
* If customPrompt is provided, it replaces the base entirely.
|
|
16
|
+
* Otherwise, customAppendPrompt is appended to the base.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolvePrompt(base: string, customPrompt?: string, customAppendPrompt?: string): string;
|
|
19
|
+
export type AgentFactory = (model: string, customPrompt?: string, customAppendPrompt?: string) => AgentDefinition;
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAIR;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,KACxB,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/agents/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAsF7D,eAAO,MAAM,iBAAiB,EAAE,YAiB/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.test.d.ts","sourceRoot":"","sources":["../../../src/commands/analysis/analysis.test.ts"],"names":[],"mappings":""}
|