@winspan/claude-forge 8.41.0 → 8.50.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CLAUDE.md +17 -0
- package/.eslintrc.js +23 -0
- package/.prettierrc +8 -0
- package/ARCHITECTURE_ISSUES.md +249 -0
- package/CLAUDE.md +265 -0
- package/CLAUDE.md.backup +488 -0
- package/DEVELOPMENT.md +310 -0
- package/dist/claudemd/claudemd-generator.d.ts +38 -3
- package/dist/claudemd/claudemd-generator.d.ts.map +1 -1
- package/dist/claudemd/claudemd-generator.js +629 -11
- package/dist/claudemd/claudemd-generator.js.map +1 -1
- package/dist/claudemd/index.d.ts +2 -2
- package/dist/claudemd/index.d.ts.map +1 -1
- package/dist/claudemd/index.js.map +1 -1
- package/dist/claudemd/resume-manager.d.ts.map +1 -1
- package/dist/claudemd/resume-manager.js +5 -2
- package/dist/claudemd/resume-manager.js.map +1 -1
- package/dist/claudemd/tech-detector.d.ts +1 -0
- package/dist/claudemd/tech-detector.d.ts.map +1 -1
- package/dist/claudemd/tech-detector.js +53 -0
- package/dist/claudemd/tech-detector.js.map +1 -1
- package/dist/cli/commands/claudemd.js +2 -2
- package/dist/cli/commands/claudemd.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +28 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +200 -8
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -35
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/menu.js +10 -10
- package/dist/cli/commands/menu.js.map +1 -1
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +8 -2
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +0 -17
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/trace.d.ts +9 -0
- package/dist/cli/commands/trace.d.ts.map +1 -0
- package/dist/cli/commands/trace.js +137 -0
- package/dist/cli/commands/trace.js.map +1 -0
- package/dist/cli/index.js +2 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/core/ai/provider.d.ts +10 -2
- package/dist/core/ai/provider.d.ts.map +1 -1
- package/dist/core/ai/provider.js.map +1 -1
- package/dist/core/ai/types.d.ts +1 -19
- package/dist/core/ai/types.d.ts.map +1 -1
- package/dist/core/ai/types.js +1 -1
- package/dist/core/config.d.ts +2 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +23 -6
- package/dist/core/config.js.map +1 -1
- package/dist/core/constants.d.ts +2 -2
- package/dist/core/constants.js +2 -2
- package/dist/core/constants.js.map +1 -1
- package/dist/core/queue/index.d.ts +52 -0
- package/dist/core/queue/index.d.ts.map +1 -0
- package/dist/core/queue/index.js +176 -0
- package/dist/core/queue/index.js.map +1 -0
- package/dist/core/storage/base.d.ts +33 -0
- package/dist/core/storage/base.d.ts.map +1 -0
- package/dist/core/storage/base.js +211 -0
- package/dist/core/storage/base.js.map +1 -0
- package/dist/core/storage/events.d.ts +52 -0
- package/dist/core/storage/events.d.ts.map +1 -0
- package/dist/core/storage/events.js +201 -0
- package/dist/core/storage/events.js.map +1 -0
- package/dist/core/storage/injections.d.ts +27 -0
- package/dist/core/storage/injections.d.ts.map +1 -0
- package/dist/core/storage/injections.js +51 -0
- package/dist/core/storage/injections.js.map +1 -0
- package/dist/core/storage/maintenance.d.ts +21 -0
- package/dist/core/storage/maintenance.d.ts.map +1 -0
- package/dist/core/storage/maintenance.js +52 -0
- package/dist/core/storage/maintenance.js.map +1 -0
- package/dist/core/storage/routing.d.ts +71 -0
- package/dist/core/storage/routing.d.ts.map +1 -0
- package/dist/core/storage/routing.js +141 -0
- package/dist/core/storage/routing.js.map +1 -0
- package/dist/core/storage/rows.d.ts +0 -47
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +74 -136
- package/dist/core/storage/sessions.d.ts +34 -0
- package/dist/core/storage/sessions.d.ts.map +1 -0
- package/dist/core/storage/sessions.js +78 -0
- package/dist/core/storage/sessions.js.map +1 -0
- package/dist/core/storage/skills.d.ts +40 -0
- package/dist/core/storage/skills.d.ts.map +1 -0
- package/dist/core/storage/skills.js +107 -0
- package/dist/core/storage/skills.js.map +1 -0
- package/dist/core/storage/sqlite.d.ts +63 -265
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +102 -759
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +64 -0
- package/dist/core/storage/tasks.d.ts.map +1 -0
- package/dist/core/storage/tasks.js +134 -0
- package/dist/core/storage/tasks.js.map +1 -0
- package/dist/core/storage/token-usage.d.ts +36 -0
- package/dist/core/storage/token-usage.d.ts.map +1 -0
- package/dist/core/storage/token-usage.js +59 -0
- package/dist/core/storage/token-usage.js.map +1 -0
- package/dist/core/types.d.ts +60 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +24 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/format.d.ts +28 -0
- package/dist/core/utils/format.d.ts.map +1 -0
- package/dist/core/utils/format.js +68 -0
- package/dist/core/utils/format.js.map +1 -0
- package/dist/core/utils/logger.d.ts +6 -1
- package/dist/core/utils/logger.d.ts.map +1 -1
- package/dist/core/utils/logger.js +72 -2
- package/dist/core/utils/logger.js.map +1 -1
- package/dist/core/utils/session.d.ts +16 -0
- package/dist/core/utils/session.d.ts.map +1 -0
- package/dist/core/utils/session.js +25 -0
- package/dist/core/utils/session.js.map +1 -0
- package/dist/core/utils/time.d.ts +22 -0
- package/dist/core/utils/time.d.ts.map +1 -0
- package/dist/core/utils/time.js +38 -0
- package/dist/core/utils/time.js.map +1 -0
- package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
- package/dist/daemon/handlers/history-exporter.js +6 -4
- package/dist/daemon/handlers/history-exporter.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +5 -12
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +21 -79
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +24 -12
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +141 -42
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +18 -19
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +103 -227
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/index.d.ts +6 -2
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +76 -120
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/launchd/com.claude-forge.daemon.plist.template +47 -0
- package/dist/daemon/launchd-installer.d.ts +61 -0
- package/dist/daemon/launchd-installer.d.ts.map +1 -0
- package/dist/daemon/launchd-installer.js +182 -0
- package/dist/daemon/launchd-installer.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +11 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +44 -0
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/router.d.ts +9 -2
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +27 -3
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +6 -5
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/services/anti-pattern-detector.d.ts +50 -0
- package/dist/daemon/services/anti-pattern-detector.d.ts.map +1 -0
- package/dist/daemon/services/anti-pattern-detector.js +357 -0
- package/dist/daemon/services/anti-pattern-detector.js.map +1 -0
- package/dist/daemon/services/drift-detector.d.ts +64 -0
- package/dist/daemon/services/drift-detector.d.ts.map +1 -0
- package/dist/daemon/services/drift-detector.js +201 -0
- package/dist/daemon/services/drift-detector.js.map +1 -0
- package/dist/{intelligence → daemon/services}/task-segmenter.d.ts +7 -1
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -0
- package/dist/{intelligence → daemon/services}/task-segmenter.js +29 -6
- package/dist/daemon/services/task-segmenter.js.map +1 -0
- package/dist/daemon/services/weekly-report.d.ts +91 -0
- package/dist/daemon/services/weekly-report.d.ts.map +1 -0
- package/dist/daemon/services/weekly-report.js +327 -0
- package/dist/daemon/services/weekly-report.js.map +1 -0
- package/dist/hooks/hook-lib.sh +81 -0
- package/dist/hooks/notification.sh +7 -3
- package/dist/hooks/post-tool-use.sh +8 -4
- package/dist/hooks/pre-tool-use.sh +7 -4
- package/dist/hooks/stop.sh +1 -1
- package/dist/hooks/user-prompt-submit.sh +8 -9
- package/dist/mcp/server.d.ts +2 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +71 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/invocation-guard.d.ts +20 -0
- package/dist/skills/invocation-guard.d.ts.map +1 -1
- package/dist/skills/invocation-guard.js +63 -0
- package/dist/skills/invocation-guard.js.map +1 -1
- package/dist/skills/matcher.d.ts.map +1 -1
- package/dist/skills/matcher.js +12 -3
- package/dist/skills/matcher.js.map +1 -1
- package/dist/skills/official/code-simplifier.md +16 -0
- package/dist/skills/official/find-skills.md +23 -0
- package/dist/skills/official/official-api-design.md +17 -0
- package/dist/skills/official/official-architecture-decision.md +20 -0
- package/dist/skills/official/official-bmad.md +118 -0
- package/dist/skills/official/official-db-schema-design.md +16 -0
- package/dist/skills/official/official-debug.md +17 -0
- package/dist/skills/official/official-doc-driven.md +31 -0
- package/dist/skills/official/official-harness-engineering.md +108 -0
- package/dist/skills/official/official-performance-optimization.md +30 -0
- package/dist/skills/official/official-pr-review.md +35 -0
- package/dist/skills/official/official-release-checklist.md +30 -0
- package/dist/skills/official/official-security-hardening.md +26 -0
- package/dist/skills/official/official-spec-driven-design.md +31 -0
- package/dist/skills/official/planning-with-files.md +37 -0
- package/dist/skills/official/ui-ux-pro-max.md +18 -0
- package/dist/skills/official/webapp-testing.md +12 -0
- package/dist/skills/official-skills.d.ts +8 -4
- package/dist/skills/official-skills.d.ts.map +1 -1
- package/dist/skills/official-skills.js +48 -704
- package/dist/skills/official-skills.js.map +1 -1
- package/dist/skills/registry.d.ts +5 -0
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +48 -15
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.d.ts +30 -0
- package/dist/skills/tools/pipeline-suggest.d.ts.map +1 -0
- package/dist/skills/tools/pipeline-suggest.js +178 -0
- package/dist/skills/tools/pipeline-suggest.js.map +1 -0
- package/dist/web/routes/ai.d.ts.map +1 -1
- package/dist/web/routes/ai.js +16 -22
- package/dist/web/routes/ai.js.map +1 -1
- package/dist/web/routes/drift.d.ts +10 -0
- package/dist/web/routes/drift.d.ts.map +1 -0
- package/dist/web/routes/drift.js +21 -0
- package/dist/web/routes/drift.js.map +1 -0
- package/dist/web/routes/error-handler.d.ts +43 -0
- package/dist/web/routes/error-handler.d.ts.map +1 -0
- package/dist/web/routes/error-handler.js +99 -0
- package/dist/web/routes/error-handler.js.map +1 -0
- package/dist/web/routes/insights.d.ts +9 -0
- package/dist/web/routes/insights.d.ts.map +1 -0
- package/dist/web/routes/insights.js +34 -0
- package/dist/web/routes/insights.js.map +1 -0
- package/dist/web/routes/patch.js +2 -2
- package/dist/web/routes/patch.js.map +1 -1
- package/dist/web/routes/reports.d.ts +10 -0
- package/dist/web/routes/reports.d.ts.map +1 -0
- package/dist/web/routes/reports.js +27 -0
- package/dist/web/routes/reports.js.map +1 -0
- package/dist/web/routes/rules.d.ts +10 -3
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +80 -95
- package/dist/web/routes/rules.js.map +1 -1
- package/dist/web/routes/sessions.d.ts +1 -2
- package/dist/web/routes/sessions.d.ts.map +1 -1
- package/dist/web/routes/sessions.js +27 -39
- package/dist/web/routes/sessions.js.map +1 -1
- package/dist/web/routes/skill-stats.d.ts.map +1 -1
- package/dist/web/routes/skill-stats.js +38 -0
- package/dist/web/routes/skill-stats.js.map +1 -1
- package/dist/web/routes/skills.d.ts.map +1 -1
- package/dist/web/routes/skills.js +34 -0
- package/dist/web/routes/skills.js.map +1 -1
- package/dist/web/routes/stats.d.ts +7 -0
- package/dist/web/routes/stats.d.ts.map +1 -0
- package/dist/web/routes/stats.js +44 -0
- package/dist/web/routes/stats.js.map +1 -0
- package/dist/web/routes/status.js +1 -1
- package/dist/web/routes/status.js.map +1 -1
- package/dist/web/routes/tasks.d.ts +4 -0
- package/dist/web/routes/tasks.d.ts.map +1 -0
- package/dist/web/routes/tasks.js +181 -0
- package/dist/web/routes/tasks.js.map +1 -0
- package/dist/web/routes/trace.d.ts +10 -0
- package/dist/web/routes/trace.d.ts.map +1 -0
- package/dist/web/routes/trace.js +123 -0
- package/dist/web/routes/trace.js.map +1 -0
- package/dist/web/routes/types.d.ts +1 -14
- package/dist/web/routes/types.d.ts.map +1 -1
- package/dist/web/routes/types.js +8 -17
- package/dist/web/routes/types.js.map +1 -1
- package/dist/web/server.d.ts +1 -9
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +28 -28
- package/dist/web/server.js.map +1 -1
- package/dist/web/static/assets/AIConfig-BQCAQE9D.js +2 -0
- package/dist/web/static/assets/AIConfig-BQCAQE9D.js.map +1 -0
- package/dist/web/static/assets/Dashboard-D7Bo6Kan.js +2 -0
- package/dist/web/static/assets/Dashboard-D7Bo6Kan.js.map +1 -0
- package/dist/web/static/assets/{Drawer-DcU3ln98.js → Drawer-BeHRQxUS.js} +2 -2
- package/dist/web/static/assets/{Drawer-DcU3ln98.js.map → Drawer-BeHRQxUS.js.map} +1 -1
- package/dist/web/static/assets/Events-K_tCY2ti.js +2 -0
- package/dist/web/static/assets/Events-K_tCY2ti.js.map +1 -0
- package/dist/web/static/assets/Reports-BJCmBnc_.js +2 -0
- package/dist/web/static/assets/Reports-BJCmBnc_.js.map +1 -0
- package/dist/web/static/assets/SearchInput-BX2KhMkw.js +2 -0
- package/dist/web/static/assets/SearchInput-BX2KhMkw.js.map +1 -0
- package/dist/web/static/assets/SessionDetail-Bkr-kC7V.js +2 -0
- package/dist/web/static/assets/SessionDetail-Bkr-kC7V.js.map +1 -0
- package/dist/web/static/assets/Sessions-Chx9OCLH.js +2 -0
- package/dist/web/static/assets/Sessions-Chx9OCLH.js.map +1 -0
- package/dist/web/static/assets/Skills-O0GT1i7m.js +2 -0
- package/dist/web/static/assets/Skills-O0GT1i7m.js.map +1 -0
- package/dist/web/static/assets/TaskDetail-5SR8zGzv.js +2 -0
- package/dist/web/static/assets/TaskDetail-5SR8zGzv.js.map +1 -0
- package/dist/web/static/assets/Tasks-DCgDqvOZ.js +2 -0
- package/dist/web/static/assets/Tasks-DCgDqvOZ.js.map +1 -0
- package/dist/web/static/assets/export-L_VBD2p1.js +4 -0
- package/dist/web/static/assets/export-L_VBD2p1.js.map +1 -0
- package/dist/web/static/assets/index-D8AKj26b.css +1 -0
- package/dist/web/static/assets/index-DxIbmNmr.js +3 -0
- package/dist/web/static/assets/index-DxIbmNmr.js.map +1 -0
- package/dist/web/static/assets/{lucide-53bR2rki.js → lucide-fJlPI3H7.js} +68 -38
- package/dist/web/static/assets/lucide-fJlPI3H7.js.map +1 -0
- package/dist/web/static/assets/time-Bxuk0M-C.js +2 -0
- package/dist/web/static/assets/time-Bxuk0M-C.js.map +1 -0
- package/dist/web/static/index.html +3 -3
- package/docs/concurrent-agents.md +129 -0
- package/docs/design/architecture-review-20260516.md +232 -0
- package/docs/design/fix-skills-data-and-set-leak-spec-20260516-1300.md +219 -0
- package/docs/design/hook-failure-queue-spec-20260516-1530.md +204 -0
- package/docs/design/refactor-phase1-spec-20260515-1600.md +543 -0
- package/docs/design/refactor-phase2-spec-20260515-1700.md +424 -0
- package/docs/design/tasks-list-filter-pagination-spec-20260518-0930.md +208 -0
- package/docs/implementation/fix-skills-data-and-set-leak-changelog-20260516-1300.md +104 -0
- package/docs/implementation/hook-failure-queue-changelog-20260516-1530.md +196 -0
- package/docs/implementation/hotfix-daemon-event-reject-20260516-1430.md +56 -0
- package/docs/implementation/refactor-phase1-changelog-20260515-1630.md +354 -0
- package/docs/implementation/refactor-phase2-changelog-20260515-1705.md +421 -0
- package/docs/implementation/tasks-list-filter-pagination-changelog-20260518-0930.md +72 -0
- package/docs/reviews/claudemd-template-sync.md +54 -0
- package/docs/reviews/tasks-filter-pagination.md +80 -0
- package/docs/ruflo-learning-strategy.md +322 -0
- package/docs/skills-deduplication-analysis.md +83 -0
- package/docs/skills-multiformat-support.md +177 -0
- package/docs/skills-third-party.md +183 -0
- package/docs/testing/tasks-filter-pagination-test-report.md +86 -0
- package/forge +321 -0
- package/package.json +28 -62
- package/playwright.config.ts +40 -0
- package/scripts/demo-v2.ts +91 -0
- package/scripts/dev-daemon.sh +232 -0
- package/scripts/dev-web.ts +109 -0
- package/scripts/e2e-mcp-link.ts +423 -0
- package/scripts/e2e-methodology-quality.ts +253 -0
- package/scripts/e2e-routing.ts +456 -0
- package/scripts/e2e-user-methodology.ts +326 -0
- package/scripts/e2e-web-workflows.ts +299 -0
- package/scripts/migrate-legacy-to-dynamic.sql +108 -0
- package/scripts/regenerate-execution-docs.ts +116 -0
- package/scripts/sync-agent-skills.ts +193 -0
- package/scripts/test-hook.sh +71 -0
- package/scripts/verify-skill-loading.ts +62 -0
- package/src/claudemd/claudemd-generator.ts +777 -0
- package/src/claudemd/convention-extractor.ts +69 -0
- package/src/claudemd/index.ts +35 -0
- package/src/claudemd/persona-manager.ts +88 -0
- package/src/claudemd/resume-manager.ts +236 -0
- package/src/claudemd/tech-detector.ts +220 -0
- package/src/cli/commands/claudemd.ts +84 -0
- package/src/cli/commands/config.ts +46 -0
- package/src/cli/commands/daemon.ts +310 -0
- package/src/cli/commands/executions.ts +114 -0
- package/src/cli/commands/init.ts +204 -0
- package/src/cli/commands/logs.ts +181 -0
- package/src/cli/commands/mcp.ts +244 -0
- package/src/cli/commands/menu.ts +356 -0
- package/src/cli/commands/skills.ts +185 -0
- package/src/cli/commands/stats.ts +74 -0
- package/src/cli/commands/status.ts +69 -0
- package/src/cli/commands/template.ts +77 -0
- package/src/cli/commands/trace.ts +164 -0
- package/src/cli/index.ts +42 -0
- package/src/cli/init/hook-manager.ts +132 -0
- package/src/core/ai/provider.ts +308 -0
- package/src/core/ai/types.ts +51 -0
- package/src/core/config.ts +124 -0
- package/src/core/constants.ts +45 -0
- package/src/core/queue/index.ts +193 -0
- package/src/core/storage/base.ts +226 -0
- package/src/core/storage/events.ts +255 -0
- package/src/core/storage/injections.ts +78 -0
- package/src/core/storage/maintenance.ts +59 -0
- package/src/core/storage/migrations/002_add_skill_tracking.sql +6 -0
- package/src/core/storage/migrations/003_add_skill_invocations.sql +23 -0
- package/src/core/storage/performance-indexes.sql +23 -0
- package/src/core/storage/routing.ts +194 -0
- package/src/core/storage/rows.ts +112 -0
- package/src/core/storage/schema.sql +214 -0
- package/src/core/storage/sessions.ts +104 -0
- package/src/core/storage/skills.ts +164 -0
- package/src/core/storage/sqlite.ts +194 -0
- package/src/core/storage/tasks.ts +170 -0
- package/src/core/storage/token-usage.ts +93 -0
- package/src/core/types.ts +154 -0
- package/src/core/utils/error-handler.ts +256 -0
- package/src/core/utils/forge-resume-block.ts +74 -0
- package/src/core/utils/format.ts +69 -0
- package/src/core/utils/logger.ts +119 -0
- package/src/core/utils/lru-cache.ts +50 -0
- package/src/core/utils/path.ts +19 -0
- package/src/core/utils/session.ts +26 -0
- package/src/core/utils/time.ts +37 -0
- package/src/core/utils/token-tracker.ts +97 -0
- package/src/daemon/event-parser.ts +35 -0
- package/src/daemon/handlers/history-exporter.ts +117 -0
- package/src/daemon/handlers/post-tool-use.ts +50 -0
- package/src/daemon/handlers/stop.ts +215 -0
- package/src/daemon/handlers/user-prompt.ts +188 -0
- package/src/daemon/index.ts +278 -0
- package/src/daemon/launchd/com.claude-forge.daemon.plist.template +47 -0
- package/src/daemon/launchd-installer.ts +260 -0
- package/src/daemon/lifecycle.ts +128 -0
- package/src/daemon/router.ts +40 -0
- package/src/daemon/server.ts +209 -0
- package/src/daemon/services/anti-pattern-detector.ts +412 -0
- package/src/daemon/services/drift-detector.ts +232 -0
- package/src/daemon/services/task-segmenter.ts +112 -0
- package/src/daemon/services/weekly-report.ts +454 -0
- package/src/hooks/hook-lib.sh +81 -0
- package/src/hooks/notification.sh +35 -0
- package/src/hooks/post-tool-use.sh +61 -0
- package/src/hooks/pre-tool-use.sh +63 -0
- package/src/hooks/stop.sh +40 -0
- package/src/hooks/user-prompt-submit.sh +69 -0
- package/src/mcp/server.ts +322 -0
- package/src/skills/index.ts +2 -0
- package/src/skills/invocation-guard.ts +177 -0
- package/src/skills/matcher.ts +148 -0
- package/src/skills/official/code-simplifier.md +16 -0
- package/src/skills/official/find-skills.md +23 -0
- package/src/skills/official/official-api-design.md +17 -0
- package/src/skills/official/official-architecture-decision.md +20 -0
- package/src/skills/official/official-bmad.md +118 -0
- package/src/skills/official/official-db-schema-design.md +16 -0
- package/src/skills/official/official-debug.md +17 -0
- package/src/skills/official/official-doc-driven.md +31 -0
- package/src/skills/official/official-harness-engineering.md +108 -0
- package/src/skills/official/official-performance-optimization.md +30 -0
- package/src/skills/official/official-pr-review.md +35 -0
- package/src/skills/official/official-release-checklist.md +30 -0
- package/src/skills/official/official-security-hardening.md +26 -0
- package/src/skills/official/official-spec-driven-design.md +31 -0
- package/src/skills/official/planning-with-files.md +37 -0
- package/src/skills/official/ui-ux-pro-max.md +18 -0
- package/src/skills/official/webapp-testing.md +12 -0
- package/src/skills/official-skills.ts +89 -0
- package/src/skills/registry.ts +355 -0
- package/src/skills/semantic-matcher.ts +231 -0
- package/src/skills/tools/pipeline-suggest.ts +226 -0
- package/src/skills/tools/skill-invoke.ts +168 -0
- package/src/skills/tools/skill-list.ts +59 -0
- package/src/templates/go.yaml +53 -0
- package/src/templates/python.yaml +59 -0
- package/src/templates/react.yaml +55 -0
- package/src/templates/template-manager.ts +170 -0
- package/src/web/auth-middleware.ts +55 -0
- package/src/web/routes/ai.ts +204 -0
- package/src/web/routes/auth.ts +22 -0
- package/src/web/routes/drift.ts +25 -0
- package/src/web/routes/error-handler.ts +120 -0
- package/src/web/routes/events.ts +47 -0
- package/src/web/routes/insights.ts +43 -0
- package/src/web/routes/patch.ts +117 -0
- package/src/web/routes/reports.ts +34 -0
- package/src/web/routes/rules.ts +101 -0
- package/src/web/routes/sessions.ts +262 -0
- package/src/web/routes/skill-stats.ts +132 -0
- package/src/web/routes/skills.ts +349 -0
- package/src/web/routes/static.ts +67 -0
- package/src/web/routes/stats.ts +60 -0
- package/src/web/routes/status.ts +30 -0
- package/src/web/routes/tasks.ts +218 -0
- package/src/web/routes/token-usage.ts +20 -0
- package/src/web/routes/trace.ts +138 -0
- package/src/web/routes/types.ts +56 -0
- package/src/web/server.ts +134 -0
- package/src/web/ssrf-guard.ts +112 -0
- package/src/web/static/index.html +3251 -0
- package/src/web/static/vendor/chart.umd.min.js +20 -0
- package/tests/e2e/dashboard.spec.ts +205 -0
- package/tests/e2e/routing-skill-e2e.test.ts +39 -0
- package/tests/helpers/mock-ai.ts +92 -0
- package/tests/helpers/mock-storage.ts +159 -0
- package/tests/integration/queue-replay.integration.test.ts +193 -0
- package/tests/integration/tasks-filter.integration.test.ts +154 -0
- package/tests/performance/database.benchmark.ts +161 -0
- package/tests/semantic-matcher.test.ts +99 -0
- package/tests/skill-matcher.test.ts +110 -0
- package/tests/unit/ai-provider-retry.test.ts +194 -0
- package/tests/unit/ai-provider-vision.test.ts +224 -0
- package/tests/unit/claudemd-generator.test.ts +68 -0
- package/tests/unit/cli-mcp.test.ts +141 -0
- package/tests/unit/handlers.test.ts +171 -0
- package/tests/unit/invocation-guard.test.ts +125 -0
- package/tests/unit/queue.test.ts +272 -0
- package/tests/unit/router.test.ts +138 -0
- package/tests/unit/security.test.ts +128 -0
- package/tests/unit/skill-invocations-workflow.test.ts +495 -0
- package/tests/unit/skill-registry.test.ts +94 -0
- package/tests/unit/skills/invocation-guard-ttl.test.ts +211 -0
- package/tests/unit/skills/official-skills-loader.test.ts +126 -0
- package/tests/unit/skills/registry-multiformat.test.ts +92 -0
- package/tests/unit/storage/sessions-aggregate.test.ts +435 -0
- package/tests/unit/storage/sqlite-refactor-harness.test.ts +314 -0
- package/tests/unit/storage.test.ts +172 -0
- package/tests/unit/token-usage.test.ts +144 -0
- package/tests/unit/type-guards.test.ts +201 -0
- package/tests/unit/utils/format.test.ts +189 -0
- package/tests/unit/utils/session.test.ts +89 -0
- package/tests/unit/utils/time.test.ts +112 -0
- package/tests/unit/web/routes-auth.test.ts +93 -0
- package/tests/unit/web/routes-events.test.ts +101 -0
- package/tests/unit/web/routes-sessions.test.ts +181 -0
- package/tests/unit/web/routes-skill-stats.test.ts +179 -0
- package/tests/unit/web/routes-stats.test.ts +92 -0
- package/tests/unit/web/routes-tasks.test.ts +351 -0
- package/tsconfig.json +22 -0
- package/vitest.config.ts +21 -0
- package/vitest.integration.config.ts +16 -0
- package/web/CLAUDE.md +20 -0
- package/web/index.html +13 -0
- package/web/package-lock.json +4854 -0
- package/web/package.json +35 -0
- package/web/postcss.config.js +6 -0
- package/web/src/App.tsx +110 -0
- package/web/src/components/CodeBlock.tsx +31 -0
- package/web/src/components/Confirm.tsx +96 -0
- package/web/src/components/Drawer.tsx +60 -0
- package/web/src/components/Layout.tsx +145 -0
- package/web/src/components/MarkdownRenderer.tsx +77 -0
- package/web/src/components/SearchInput.tsx +31 -0
- package/web/src/components/SessionDetailContent.tsx +157 -0
- package/web/src/components/Toast.tsx +92 -0
- package/web/src/index.css +19 -0
- package/web/src/main.tsx +31 -0
- package/web/src/pages/AIConfig.tsx +233 -0
- package/web/src/pages/Dashboard.tsx +572 -0
- package/web/src/pages/Events.tsx +271 -0
- package/web/src/pages/Reports.tsx +428 -0
- package/web/src/pages/SessionDetail.tsx +162 -0
- package/web/src/pages/Sessions.tsx +205 -0
- package/web/src/pages/Skills.tsx +180 -0
- package/web/src/pages/TaskDetail.tsx +511 -0
- package/web/src/pages/Tasks.tsx +150 -0
- package/web/src/utils/auth.ts +59 -0
- package/web/src/utils/export.ts +54 -0
- package/web/src/utils/time.ts +13 -0
- package/web/tailwind.config.js +11 -0
- package/web/tsconfig.json +21 -0
- package/web/tsconfig.node.json +10 -0
- package/web/vite.config.ts +76 -0
- package/winspan-claude-forge-8.43.0.tgz +0 -0
- package/dist/agents/definition.d.ts +0 -62
- package/dist/agents/definition.d.ts.map +0 -1
- package/dist/agents/definition.js +0 -27
- package/dist/agents/definition.js.map +0 -1
- package/dist/agents/distributor.d.ts +0 -23
- package/dist/agents/distributor.d.ts.map +0 -1
- package/dist/agents/distributor.js +0 -85
- package/dist/agents/distributor.js.map +0 -1
- package/dist/agents/index.d.ts +0 -5
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -5
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/methodologies/agent-builder.d.ts +0 -21
- package/dist/agents/methodologies/agent-builder.d.ts.map +0 -1
- package/dist/agents/methodologies/agent-builder.js +0 -149
- package/dist/agents/methodologies/agent-builder.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/analyze.d.ts +0 -3
- package/dist/agents/methodologies/phases/bmad/analyze.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/analyze.js +0 -19
- package/dist/agents/methodologies/phases/bmad/analyze.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/design.d.ts +0 -3
- package/dist/agents/methodologies/phases/bmad/design.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/design.js +0 -18
- package/dist/agents/methodologies/phases/bmad/design.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/implement.d.ts +0 -3
- package/dist/agents/methodologies/phases/bmad/implement.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/implement.js +0 -17
- package/dist/agents/methodologies/phases/bmad/implement.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/index.d.ts +0 -6
- package/dist/agents/methodologies/phases/bmad/index.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/index.js +0 -6
- package/dist/agents/methodologies/phases/bmad/index.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/review.d.ts +0 -3
- package/dist/agents/methodologies/phases/bmad/review.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/review.js +0 -17
- package/dist/agents/methodologies/phases/bmad/review.js.map +0 -1
- package/dist/agents/methodologies/phases/bmad/test.d.ts +0 -3
- package/dist/agents/methodologies/phases/bmad/test.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/bmad/test.js +0 -21
- package/dist/agents/methodologies/phases/bmad/test.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/fix.d.ts +0 -3
- package/dist/agents/methodologies/phases/harness/fix.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/fix.js +0 -17
- package/dist/agents/methodologies/phases/harness/fix.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/index.d.ts +0 -6
- package/dist/agents/methodologies/phases/harness/index.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/index.js +0 -6
- package/dist/agents/methodologies/phases/harness/index.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/reproduce.d.ts +0 -3
- package/dist/agents/methodologies/phases/harness/reproduce.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/reproduce.js +0 -20
- package/dist/agents/methodologies/phases/harness/reproduce.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/root-cause.d.ts +0 -3
- package/dist/agents/methodologies/phases/harness/root-cause.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/root-cause.js +0 -21
- package/dist/agents/methodologies/phases/harness/root-cause.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/safety-net.d.ts +0 -3
- package/dist/agents/methodologies/phases/harness/safety-net.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/safety-net.js +0 -17
- package/dist/agents/methodologies/phases/harness/safety-net.js.map +0 -1
- package/dist/agents/methodologies/phases/harness/verify.d.ts +0 -3
- package/dist/agents/methodologies/phases/harness/verify.d.ts.map +0 -1
- package/dist/agents/methodologies/phases/harness/verify.js +0 -22
- package/dist/agents/methodologies/phases/harness/verify.js.map +0 -1
- package/dist/agents/methodologies/presets.d.ts +0 -10
- package/dist/agents/methodologies/presets.d.ts.map +0 -1
- package/dist/agents/methodologies/presets.js +0 -79
- package/dist/agents/methodologies/presets.js.map +0 -1
- package/dist/agents/methodologies/types.d.ts +0 -45
- package/dist/agents/methodologies/types.d.ts.map +0 -1
- package/dist/agents/methodologies/types.js +0 -10
- package/dist/agents/methodologies/types.js.map +0 -1
- package/dist/agents/methodologies/user-config-loader.d.ts +0 -30
- package/dist/agents/methodologies/user-config-loader.d.ts.map +0 -1
- package/dist/agents/methodologies/user-config-loader.js +0 -159
- package/dist/agents/methodologies/user-config-loader.js.map +0 -1
- package/dist/agents/official-agents.d.ts +0 -4
- package/dist/agents/official-agents.d.ts.map +0 -1
- package/dist/agents/official-agents.js +0 -559
- package/dist/agents/official-agents.js.map +0 -1
- package/dist/agents/registry.d.ts +0 -57
- package/dist/agents/registry.d.ts.map +0 -1
- package/dist/agents/registry.js +0 -271
- package/dist/agents/registry.js.map +0 -1
- package/dist/capability/index.d.ts +0 -10
- package/dist/capability/index.d.ts.map +0 -1
- package/dist/capability/index.js +0 -10
- package/dist/capability/index.js.map +0 -1
- package/dist/capability/types.d.ts +0 -10
- package/dist/capability/types.d.ts.map +0 -1
- package/dist/capability/types.js +0 -10
- package/dist/capability/types.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -3
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -62
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/rules.d.ts +0 -8
- package/dist/cli/commands/rules.d.ts.map +0 -1
- package/dist/cli/commands/rules.js +0 -89
- package/dist/cli/commands/rules.js.map +0 -1
- package/dist/daemon/auto-disable-scheduler.d.ts +0 -53
- package/dist/daemon/auto-disable-scheduler.d.ts.map +0 -1
- package/dist/daemon/auto-disable-scheduler.js +0 -114
- package/dist/daemon/auto-disable-scheduler.js.map +0 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +0 -39
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +0 -1
- package/dist/daemon/handlers/pre-tool-use.js +0 -166
- package/dist/daemon/handlers/pre-tool-use.js.map +0 -1
- package/dist/daemon/routing-observer.d.ts +0 -42
- package/dist/daemon/routing-observer.d.ts.map +0 -1
- package/dist/daemon/routing-observer.js +0 -264
- package/dist/daemon/routing-observer.js.map +0 -1
- package/dist/daemon/routing-state.d.ts +0 -64
- package/dist/daemon/routing-state.d.ts.map +0 -1
- package/dist/daemon/routing-state.js +0 -240
- package/dist/daemon/routing-state.js.map +0 -1
- package/dist/engine/agent-router.d.ts +0 -142
- package/dist/engine/agent-router.d.ts.map +0 -1
- package/dist/engine/agent-router.js +0 -276
- package/dist/engine/agent-router.js.map +0 -1
- package/dist/engine/context-builder.d.ts +0 -23
- package/dist/engine/context-builder.d.ts.map +0 -1
- package/dist/engine/context-builder.js +0 -63
- package/dist/engine/context-builder.js.map +0 -1
- package/dist/engine/conventions/basic-security.yaml +0 -109
- package/dist/engine/conventions/code-quality.yaml +0 -123
- package/dist/engine/conventions/database-safety.yaml +0 -74
- package/dist/engine/conventions/dependency-safety.yaml +0 -132
- package/dist/engine/conventions/docker-safety.yaml +0 -69
- package/dist/engine/conventions/git-safety.yaml +0 -118
- package/dist/engine/conventions/go-best-practices.yaml +0 -84
- package/dist/engine/conventions/python-best-practices.yaml +0 -96
- package/dist/engine/conventions/react-best-practices.yaml +0 -96
- package/dist/engine/conventions/routing.yaml +0 -378
- package/dist/engine/conventions/strict-security.yaml +0 -30
- package/dist/engine/conventions/ts-quality.yaml +0 -49
- package/dist/engine/dsl/compiler.d.ts +0 -34
- package/dist/engine/dsl/compiler.d.ts.map +0 -1
- package/dist/engine/dsl/compiler.js +0 -702
- package/dist/engine/dsl/compiler.js.map +0 -1
- package/dist/engine/dsl/parser.d.ts +0 -25
- package/dist/engine/dsl/parser.d.ts.map +0 -1
- package/dist/engine/dsl/parser.js +0 -208
- package/dist/engine/dsl/parser.js.map +0 -1
- package/dist/engine/dsl/runtime.d.ts +0 -46
- package/dist/engine/dsl/runtime.d.ts.map +0 -1
- package/dist/engine/dsl/runtime.js +0 -173
- package/dist/engine/dsl/runtime.js.map +0 -1
- package/dist/engine/dsl/types.d.ts +0 -139
- package/dist/engine/dsl/types.d.ts.map +0 -1
- package/dist/engine/dsl/types.js +0 -11
- package/dist/engine/dsl/types.js.map +0 -1
- package/dist/engine/evidence-store.d.ts +0 -44
- package/dist/engine/evidence-store.d.ts.map +0 -1
- package/dist/engine/evidence-store.js +0 -109
- package/dist/engine/evidence-store.js.map +0 -1
- package/dist/engine/experiment-router.d.ts +0 -102
- package/dist/engine/experiment-router.d.ts.map +0 -1
- package/dist/engine/experiment-router.js +0 -289
- package/dist/engine/experiment-router.js.map +0 -1
- package/dist/engine/recommender.d.ts +0 -52
- package/dist/engine/recommender.d.ts.map +0 -1
- package/dist/engine/recommender.js +0 -162
- package/dist/engine/recommender.js.map +0 -1
- package/dist/engine/rule-engine.d.ts +0 -33
- package/dist/engine/rule-engine.d.ts.map +0 -1
- package/dist/engine/rule-engine.js +0 -250
- package/dist/engine/rule-engine.js.map +0 -1
- package/dist/engine/security-gates.d.ts +0 -42
- package/dist/engine/security-gates.d.ts.map +0 -1
- package/dist/engine/security-gates.js +0 -210
- package/dist/engine/security-gates.js.map +0 -1
- package/dist/intelligence/classifier.d.ts +0 -75
- package/dist/intelligence/classifier.d.ts.map +0 -1
- package/dist/intelligence/classifier.js +0 -352
- package/dist/intelligence/classifier.js.map +0 -1
- package/dist/intelligence/context-gatherer.d.ts +0 -101
- package/dist/intelligence/context-gatherer.d.ts.map +0 -1
- package/dist/intelligence/context-gatherer.js +0 -417
- package/dist/intelligence/context-gatherer.js.map +0 -1
- package/dist/intelligence/cot-classifier.d.ts +0 -95
- package/dist/intelligence/cot-classifier.d.ts.map +0 -1
- package/dist/intelligence/cot-classifier.js +0 -391
- package/dist/intelligence/cot-classifier.js.map +0 -1
- package/dist/intelligence/distiller.d.ts +0 -22
- package/dist/intelligence/distiller.d.ts.map +0 -1
- package/dist/intelligence/distiller.js +0 -108
- package/dist/intelligence/distiller.js.map +0 -1
- package/dist/intelligence/execution-doc-builder.d.ts +0 -151
- package/dist/intelligence/execution-doc-builder.d.ts.map +0 -1
- package/dist/intelligence/execution-doc-builder.js +0 -1018
- package/dist/intelligence/execution-doc-builder.js.map +0 -1
- package/dist/intelligence/intent-types.d.ts +0 -13
- package/dist/intelligence/intent-types.d.ts.map +0 -1
- package/dist/intelligence/intent-types.js +0 -19
- package/dist/intelligence/intent-types.js.map +0 -1
- package/dist/intelligence/multimodal-parser.d.ts +0 -105
- package/dist/intelligence/multimodal-parser.d.ts.map +0 -1
- package/dist/intelligence/multimodal-parser.js +0 -425
- package/dist/intelligence/multimodal-parser.js.map +0 -1
- package/dist/intelligence/quality-gate.d.ts +0 -45
- package/dist/intelligence/quality-gate.d.ts.map +0 -1
- package/dist/intelligence/quality-gate.js +0 -193
- package/dist/intelligence/quality-gate.js.map +0 -1
- package/dist/intelligence/task-segmenter.d.ts.map +0 -1
- package/dist/intelligence/task-segmenter.js.map +0 -1
- package/dist/web/routes/agents.d.ts +0 -7
- package/dist/web/routes/agents.d.ts.map +0 -1
- package/dist/web/routes/agents.js +0 -209
- package/dist/web/routes/agents.js.map +0 -1
- package/dist/web/routes/execution-trace.d.ts +0 -21
- package/dist/web/routes/execution-trace.d.ts.map +0 -1
- package/dist/web/routes/execution-trace.js +0 -353
- package/dist/web/routes/execution-trace.js.map +0 -1
- package/dist/web/routes/experiments.d.ts +0 -15
- package/dist/web/routes/experiments.d.ts.map +0 -1
- package/dist/web/routes/experiments.js +0 -187
- package/dist/web/routes/experiments.js.map +0 -1
- package/dist/web/routes/routing.d.ts +0 -17
- package/dist/web/routes/routing.d.ts.map +0 -1
- package/dist/web/routes/routing.js +0 -592
- package/dist/web/routes/routing.js.map +0 -1
- package/dist/web/routes/workflows.d.ts +0 -19
- package/dist/web/routes/workflows.d.ts.map +0 -1
- package/dist/web/routes/workflows.js +0 -86
- package/dist/web/routes/workflows.js.map +0 -1
- package/dist/web/static/assets/AIConfig-R5wZ3ZKT.js +0 -2
- package/dist/web/static/assets/AIConfig-R5wZ3ZKT.js.map +0 -1
- package/dist/web/static/assets/Agents-Beg34V1g.js +0 -2
- package/dist/web/static/assets/Agents-Beg34V1g.js.map +0 -1
- package/dist/web/static/assets/CodeBlock--H53gk46.js +0 -2
- package/dist/web/static/assets/CodeBlock--H53gk46.js.map +0 -1
- package/dist/web/static/assets/Dashboard-Cy1xsj1J.js +0 -2
- package/dist/web/static/assets/Dashboard-Cy1xsj1J.js.map +0 -1
- package/dist/web/static/assets/Events-mFhXl4zI.js +0 -2
- package/dist/web/static/assets/Events-mFhXl4zI.js.map +0 -1
- package/dist/web/static/assets/ExecutionTrace-DG901hLR.js +0 -3
- package/dist/web/static/assets/ExecutionTrace-DG901hLR.js.map +0 -1
- package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js +0 -2
- package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js.map +0 -1
- package/dist/web/static/assets/Routing-B7BFLfjh.js +0 -2
- package/dist/web/static/assets/Routing-B7BFLfjh.js.map +0 -1
- package/dist/web/static/assets/SessionDetail-BT0l4RrK.js +0 -2
- package/dist/web/static/assets/SessionDetail-BT0l4RrK.js.map +0 -1
- package/dist/web/static/assets/Sessions-C6J_HQ_u.js +0 -2
- package/dist/web/static/assets/Sessions-C6J_HQ_u.js.map +0 -1
- package/dist/web/static/assets/Skills-4DQWLaTv.js +0 -2
- package/dist/web/static/assets/Skills-4DQWLaTv.js.map +0 -1
- package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js +0 -2
- package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js.map +0 -1
- package/dist/web/static/assets/Workflows-Btvi-lGw.js +0 -2
- package/dist/web/static/assets/Workflows-Btvi-lGw.js.map +0 -1
- package/dist/web/static/assets/export-BQQZLaHV.js +0 -4
- package/dist/web/static/assets/export-BQQZLaHV.js.map +0 -1
- package/dist/web/static/assets/index-Cgr9qMtq.js +0 -3
- package/dist/web/static/assets/index-Cgr9qMtq.js.map +0 -1
- package/dist/web/static/assets/index-CngWb5gC.css +0 -1
- package/dist/web/static/assets/lucide-53bR2rki.js.map +0 -1
|
@@ -1,559 +0,0 @@
|
|
|
1
|
-
import { METHODOLOGY_PRESETS } from './methodologies/presets.js';
|
|
2
|
-
import { buildMethodologyAgent } from './methodologies/agent-builder.js';
|
|
3
|
-
const PLANNER_BODY = `
|
|
4
|
-
# Planner Agent
|
|
5
|
-
|
|
6
|
-
你是需求分析与设计专家。目标:把模糊的需求转成可执行的结构化方案,**不负责写代码**。
|
|
7
|
-
|
|
8
|
-
## 触发场景
|
|
9
|
-
|
|
10
|
-
- 用户请求含"设计 / 规划 / 怎么做 / 架构 / 接口 / 数据模型"等表述
|
|
11
|
-
- 被 classifier 路由的 taskType:\`analyze_requirement\` / \`design_architecture\` / \`design_api\` / \`design_schema\`
|
|
12
|
-
|
|
13
|
-
## 执行流程
|
|
14
|
-
|
|
15
|
-
1. **需求澄清**
|
|
16
|
-
- 扫一遍用户输入与项目上下文
|
|
17
|
-
- 如发现关键歧义,提 2~3 个精确问题(不超过 3 个)
|
|
18
|
-
- 歧义不严重时跳过澄清直接给方案
|
|
19
|
-
|
|
20
|
-
2. **结构化输出**(根据 taskType 选其一)
|
|
21
|
-
- 需求分析:用户故事列表 + 验收标准 + 非目标
|
|
22
|
-
- 架构设计:模块划分 + 数据流 + 关键决策(含理由)
|
|
23
|
-
- API 设计:Endpoint 表(Method / Path / 入参 / 出参 / 错误码)
|
|
24
|
-
- Schema 设计:表结构 + 索引 + 迁移影响面
|
|
25
|
-
|
|
26
|
-
3. **可选:ADR 草稿**
|
|
27
|
-
- 涉及较大技术选型时,输出一份 markdown 格式的 ADR
|
|
28
|
-
- 明确 Status / Context / Decision / Consequences 四段
|
|
29
|
-
|
|
30
|
-
## 边界
|
|
31
|
-
|
|
32
|
-
- **不写代码**,不调用 Edit/Write。只产出文档性内容。
|
|
33
|
-
- 输出尽量用 markdown 表格与代码块,避免长段落
|
|
34
|
-
- 对外部依赖或未知库需要先查文档再下结论
|
|
35
|
-
`;
|
|
36
|
-
const CODER_BODY = `
|
|
37
|
-
# Coder Agent
|
|
38
|
-
|
|
39
|
-
你是代码实现专家。目标:根据已明确的需求/设计,写出能跑、易读、符合项目规范的代码。
|
|
40
|
-
|
|
41
|
-
## 触发场景
|
|
42
|
-
|
|
43
|
-
- 用户请求含"写代码 / 实现 / 修复 bug"等表述
|
|
44
|
-
- 被 classifier 路由的 taskType:\`write_code\`、\`fix_bug\`、\`optimize_perf\`
|
|
45
|
-
- 复杂度:simple 或 moderate(单文件或少量文件的改动)
|
|
46
|
-
|
|
47
|
-
## 执行流程
|
|
48
|
-
|
|
49
|
-
1. **理解需求**
|
|
50
|
-
- 读取相关代码和上下文
|
|
51
|
-
- 确认需求边界和约束
|
|
52
|
-
|
|
53
|
-
2. **实现代码**
|
|
54
|
-
- 遵循项目现有代码风格
|
|
55
|
-
- 保持代码简洁清晰
|
|
56
|
-
- 添加必要的错误处理
|
|
57
|
-
|
|
58
|
-
3. **验证**
|
|
59
|
-
- 运行相关测试
|
|
60
|
-
- 检查代码质量
|
|
61
|
-
|
|
62
|
-
## 边界
|
|
63
|
-
|
|
64
|
-
- **适用**:单文件或少量文件的代码实现、bug 修复、小范围重构
|
|
65
|
-
- **不适用**:跨多个模块的复杂功能(应该用 feature-developer)
|
|
66
|
-
- **不适用**:大规模重构(应该用 refactor-specialist)
|
|
67
|
-
- **不适用**:需求不明确的任务(应该先用 planner)
|
|
68
|
-
`;
|
|
69
|
-
const FULL_SYSTEM_BUILDER_BODY = `
|
|
70
|
-
# Full System Builder Agent
|
|
71
|
-
|
|
72
|
-
你是端到端系统构建专家。目标:从零搭建完整的功能模块或子系统(前后端 + 数据库 + 测试)。
|
|
73
|
-
|
|
74
|
-
## 触发场景
|
|
75
|
-
|
|
76
|
-
- 用户请求含"搭建 / 实现一个完整的 / 端到端 / 全栈"等表述
|
|
77
|
-
- 被 classifier 路由的 taskType:\`build_system\`
|
|
78
|
-
|
|
79
|
-
## 执行流程
|
|
80
|
-
|
|
81
|
-
1. **需求拆解**
|
|
82
|
-
- 调用 planner agent 产出架构设计与接口定义
|
|
83
|
-
- 等 planner 完成后,基于其输出规划实施顺序(通常:数据层 → 后端 → 前端 → 测试)
|
|
84
|
-
|
|
85
|
-
2. **分步实施**(每步调用 coder agent)
|
|
86
|
-
- 数据层:schema 定义 + migration 脚本
|
|
87
|
-
- 后端:API 实现 + 业务逻辑
|
|
88
|
-
- 前端:UI 组件 + 状态管理
|
|
89
|
-
- 测试:单元测试 + 集成测试
|
|
90
|
-
|
|
91
|
-
3. **集成验证**
|
|
92
|
-
- 跑完整的端到端测试流程
|
|
93
|
-
- 检查 API 响应、UI 渲染、数据持久化是否符合预期
|
|
94
|
-
|
|
95
|
-
## 边界
|
|
96
|
-
|
|
97
|
-
- **不做需求澄清**,假设需求已明确。如需求模糊,先转给 planner
|
|
98
|
-
- 每个子步骤完成后暂停,向用户汇报进度并等待确认再继续
|
|
99
|
-
- 如遇到技术选型分歧(如用 REST 还是 GraphQL),暂停并向用户确认
|
|
100
|
-
`;
|
|
101
|
-
const FEATURE_DEVELOPER_BODY = `
|
|
102
|
-
# Feature Developer Agent
|
|
103
|
-
|
|
104
|
-
你是复杂功能开发专家。目标:实现跨多个模块、需要协调多个组件的中大型功能。
|
|
105
|
-
|
|
106
|
-
## 触发场景
|
|
107
|
-
|
|
108
|
-
- 用户请求含"开发功能 / 添加功能 / 实现复杂需求"等表述
|
|
109
|
-
- 被 classifier 路由的 taskType:\`add_feature\`、\`write_code\`(复杂度 complex)
|
|
110
|
-
- 复杂度:complex(涉及多个文件或模块)
|
|
111
|
-
|
|
112
|
-
## 执行流程
|
|
113
|
-
|
|
114
|
-
1. **分析功能**
|
|
115
|
-
- 理解功能需求和边界
|
|
116
|
-
- 识别涉及的模块和组件
|
|
117
|
-
- 规划实现步骤
|
|
118
|
-
|
|
119
|
-
2. **分步实现**
|
|
120
|
-
- 按模块逐步实现
|
|
121
|
-
- 保持各模块间的协调
|
|
122
|
-
- 确保接口一致性
|
|
123
|
-
|
|
124
|
-
3. **集成验证**
|
|
125
|
-
- 运行集成测试
|
|
126
|
-
- 验证功能完整性
|
|
127
|
-
|
|
128
|
-
## 边界
|
|
129
|
-
|
|
130
|
-
- **适用**:跨多个模块的功能开发、需要协调多个组件的任务
|
|
131
|
-
- **不适用**:简单的单文件改动(应该用 coder)
|
|
132
|
-
- **不适用**:从零搭建整个系统(应该用 full-system-builder)
|
|
133
|
-
- **不适用**:需求不明确的任务(应该先用 planner)
|
|
134
|
-
`;
|
|
135
|
-
const REFACTOR_SPECIALIST_BODY = `
|
|
136
|
-
# Refactor Specialist Agent
|
|
137
|
-
|
|
138
|
-
你是大规模重构专家。目标:在保持行为不变的前提下,改善代码结构、消除技术债、提升可维护性。
|
|
139
|
-
|
|
140
|
-
## 触发场景
|
|
141
|
-
|
|
142
|
-
- 用户请求含"重构 / 优化结构 / 消除重复 / 改善设计"等表述
|
|
143
|
-
- 被 classifier 路由的 taskType:\`refactor\`
|
|
144
|
-
|
|
145
|
-
## 执行流程
|
|
146
|
-
|
|
147
|
-
1. **建立安全网**
|
|
148
|
-
- 先跑现有测试确保全绿
|
|
149
|
-
- 如测试覆盖不足,补充 characterization test(记录当前行为)
|
|
150
|
-
|
|
151
|
-
2. **小步快跑**
|
|
152
|
-
- 每次只改一个维度(如:提取函数 / 重命名 / 移动文件)
|
|
153
|
-
- 改完立刻跑测试,绿了再继续下一步
|
|
154
|
-
- 不在重构过程中加新功能或修 bug
|
|
155
|
-
|
|
156
|
-
3. **提交策略**
|
|
157
|
-
- 每个独立的重构步骤单独提交(如"extract validateUser function")
|
|
158
|
-
- 提交信息用 \`refactor:\` 前缀,说明动机而非细节
|
|
159
|
-
|
|
160
|
-
## 边界
|
|
161
|
-
|
|
162
|
-
- **不改行为**,重构前后的输入输出必须完全一致
|
|
163
|
-
- 如发现 bug,记录下来但不在重构中修复(重构与修 bug 分离)
|
|
164
|
-
- 跨仓库的重构不在范围内
|
|
165
|
-
`;
|
|
166
|
-
const MIGRATION_PLANNER_BODY = `
|
|
167
|
-
# Migration Planner Agent
|
|
168
|
-
|
|
169
|
-
你是技术栈迁移专家。目标:规划大规模技术迁移(如框架升级、语言切换、数据库迁移)的可行路径。
|
|
170
|
-
|
|
171
|
-
## 触发场景
|
|
172
|
-
|
|
173
|
-
- 用户请求含"迁移 / 升级 / 从 X 切换到 Y"等表述
|
|
174
|
-
- 被 classifier 路由的 taskType:\`migrate\`
|
|
175
|
-
|
|
176
|
-
## 执行流程
|
|
177
|
-
|
|
178
|
-
1. **现状盘点**
|
|
179
|
-
- 扫描代码库,统计待迁移的文件数、依赖项、API 调用点
|
|
180
|
-
- 识别高风险区域(如核心业务逻辑、外部集成点)
|
|
181
|
-
|
|
182
|
-
2. **迁移策略**
|
|
183
|
-
- 提出 2~3 种可选方案(如:一次性切换 vs 渐进式迁移 vs 双写并行)
|
|
184
|
-
- 对比各方案的风险、工作量、回滚难度
|
|
185
|
-
- 推荐最优方案并说明理由
|
|
186
|
-
|
|
187
|
-
3. **分阶段路线图**
|
|
188
|
-
- 拆解成 5~10 个里程碑,每个里程碑可独立验证
|
|
189
|
-
- 标注每个阶段的验收标准与回滚点
|
|
190
|
-
- 估算每个阶段的工作量(人天)
|
|
191
|
-
|
|
192
|
-
## 边界
|
|
193
|
-
|
|
194
|
-
- **只做规划,不执行迁移**。实际迁移由 coder 或 feature-developer 执行
|
|
195
|
-
- 输出必须包含回滚预案
|
|
196
|
-
- 如迁移涉及数据丢失风险,必须明确标注并建议备份策略
|
|
197
|
-
`;
|
|
198
|
-
const TESTER_BODY = `
|
|
199
|
-
# Tester Agent
|
|
200
|
-
|
|
201
|
-
你是测试编写专家。目标:为现有代码补充单元测试、集成测试,提升测试覆盖率。
|
|
202
|
-
|
|
203
|
-
## 触发场景
|
|
204
|
-
|
|
205
|
-
- 用户请求含"写测试 / 补测试 / 测试覆盖"等表述
|
|
206
|
-
- 被 classifier 路由的 taskType:\`write_test\`
|
|
207
|
-
|
|
208
|
-
## 执行流程
|
|
209
|
-
|
|
210
|
-
1. **测试策略**
|
|
211
|
-
- 读目标代码,识别关键路径与边界条件
|
|
212
|
-
- 确定测试类型(单元 / 集成 / E2E)与测试框架(如 vitest / jest / playwright)
|
|
213
|
-
|
|
214
|
-
2. **用例设计**
|
|
215
|
-
- 正常路径:典型输入 → 预期输出
|
|
216
|
-
- 边界条件:空值、极值、边界值
|
|
217
|
-
- 异常路径:错误输入、网络失败、权限不足
|
|
218
|
-
|
|
219
|
-
3. **可测试性改进**
|
|
220
|
-
- 如代码难以测试(如硬编码依赖、全局状态),提出重构建议
|
|
221
|
-
- 但不在测试编写过程中直接重构,先记录技术债
|
|
222
|
-
|
|
223
|
-
## 边界
|
|
224
|
-
|
|
225
|
-
- **不改业务逻辑**,只加测试
|
|
226
|
-
- 测试必须能独立运行(不依赖外部服务、数据库状态)
|
|
227
|
-
- 如需 mock,优先用轻量级 stub 而非重型 mock 框架
|
|
228
|
-
`;
|
|
229
|
-
const REVIEWER_BODY = `
|
|
230
|
-
# Reviewer Agent
|
|
231
|
-
|
|
232
|
-
你是代码评审专家。目标:对 PR 或代码变更进行全面评审,发现潜在问题并提出改进建议。
|
|
233
|
-
|
|
234
|
-
## 触发场景
|
|
235
|
-
|
|
236
|
-
- 用户请求含"评审 / review / 检查代码质量"等表述
|
|
237
|
-
- 被 classifier 路由的 taskType:\`review\`、\`audit_security\`、\`check_quality\`
|
|
238
|
-
|
|
239
|
-
## 执行流程
|
|
240
|
-
|
|
241
|
-
1. **变更理解**
|
|
242
|
-
- 读 PR 描述或用户说明,理解变更意图
|
|
243
|
-
- 对比变更前后的代码,识别核心改动点
|
|
244
|
-
|
|
245
|
-
2. **多维度检查**
|
|
246
|
-
- 正确性:逻辑是否正确,边界条件是否处理
|
|
247
|
-
- 可读性:命名、注释、代码结构是否清晰
|
|
248
|
-
- 性能:是否有明显的性能问题
|
|
249
|
-
- 安全性:是否有注入风险、权限绕过、敏感信息泄露
|
|
250
|
-
- 测试:是否有测试覆盖,测试是否充分
|
|
251
|
-
|
|
252
|
-
3. **反馈输出**
|
|
253
|
-
- 分级:Critical(必须修复)/ Major(强烈建议)/ Minor(可选优化)
|
|
254
|
-
- 每条反馈包含:问题描述 + 代码位置 + 改进建议
|
|
255
|
-
- 如无问题,明确说"LGTM"并简述亮点
|
|
256
|
-
|
|
257
|
-
## 边界
|
|
258
|
-
|
|
259
|
-
- **适用**:代码评审、质量检查、安全审计
|
|
260
|
-
- **不适用**:代码审查/清理(应该用 general-purpose 或 refactor-specialist)
|
|
261
|
-
- **不直接改代码**,只提建议。如需示例代码,用代码块展示
|
|
262
|
-
- 评审聚焦在变更部分,不对整个代码库提意见
|
|
263
|
-
`;
|
|
264
|
-
const RESEARCHER_BODY = `
|
|
265
|
-
# Researcher Agent
|
|
266
|
-
|
|
267
|
-
你是技术调研专家。目标:深度调研技术方案、库选型、最佳实践,产出结构化的调研报告。
|
|
268
|
-
|
|
269
|
-
## 触发场景
|
|
270
|
-
|
|
271
|
-
- 用户请求含"调研 / 对比 / 选型 / 有什么方案"等表述
|
|
272
|
-
- 被 classifier 路由的 taskType:\`research\`、\`investigate\`、\`compare_solutions\`、\`explain\`
|
|
273
|
-
|
|
274
|
-
## 执行流程
|
|
275
|
-
|
|
276
|
-
1. **信息收集**
|
|
277
|
-
- WebSearch 搜索相关技术文档、博客、GitHub 仓库
|
|
278
|
-
- WebFetch 读取官方文档、RFC、技术白皮书
|
|
279
|
-
- 读项目现有代码,了解技术栈与约束
|
|
280
|
-
|
|
281
|
-
2. **方案对比**
|
|
282
|
-
- 列出 2~5 个候选方案
|
|
283
|
-
- 对比表:功能完整度、性能、社区活跃度、学习曲线、许可证
|
|
284
|
-
- 标注每个方案的适用场景与不适用场景
|
|
285
|
-
|
|
286
|
-
3. **推荐与理由**
|
|
287
|
-
- 基于项目实际情况(团队技能、时间预算、长期维护)给出推荐
|
|
288
|
-
- 说明推荐理由与权衡考量
|
|
289
|
-
- 如无明显最优解,列出决策树帮助用户选择
|
|
290
|
-
|
|
291
|
-
## 边界
|
|
292
|
-
|
|
293
|
-
- **只做调研,不做决策**。最终选择由用户或团队决定
|
|
294
|
-
- 调研深度适中:不需要读完整份源码,但要超越"看 README"的浅层了解
|
|
295
|
-
- 输出必须包含信息来源(链接、文档版本号)
|
|
296
|
-
`;
|
|
297
|
-
const SPEC_WRITER_BODY = `
|
|
298
|
-
# Spec Writer Agent
|
|
299
|
-
|
|
300
|
-
你是技术规格文档专家。目标:将需求、设计、实现细节整理成结构化的技术规格文档。
|
|
301
|
-
|
|
302
|
-
## 触发场景
|
|
303
|
-
|
|
304
|
-
- 用户请求含"写规格 / 写 spec / PRD / 技术方案"等表述
|
|
305
|
-
- 被 classifier 路由的 taskType:\`write_spec\`、\`write_doc\`
|
|
306
|
-
|
|
307
|
-
## 执行流程
|
|
308
|
-
|
|
309
|
-
1. **信息采集**
|
|
310
|
-
- 读用户输入、相关代码、已有文档
|
|
311
|
-
- 如信息不足,列出缺失项并向用户确认
|
|
312
|
-
|
|
313
|
-
2. **文档结构**(根据类型选择模板)
|
|
314
|
-
- PRD:背景 + 目标用户 + 功能列表 + 验收标准 + 非功能需求
|
|
315
|
-
- 技术方案:背景 + 现状 + 方案设计 + 实施计划 + 风险与缓解
|
|
316
|
-
- API 规格:Endpoint 列表 + 请求/响应示例 + 错误码 + 认证方式
|
|
317
|
-
|
|
318
|
-
3. **可读性优化**
|
|
319
|
-
- 用 markdown 表格、代码块、流程图(mermaid)增强可读性
|
|
320
|
-
- 避免长段落,多用列表与小标题
|
|
321
|
-
- 关键决策附上理由(Why)而非只写结论(What)
|
|
322
|
-
|
|
323
|
-
## 边界
|
|
324
|
-
|
|
325
|
-
- **不做需求分析**,假设需求已明确。如需求模糊,先转给 planner
|
|
326
|
-
- 不写实现代码,只写文档
|
|
327
|
-
- 文档输出为 markdown 格式,存放在 \`docs/\` 目录
|
|
328
|
-
`;
|
|
329
|
-
const DOC_REVIEWER_BODY = `
|
|
330
|
-
# Doc Reviewer Agent
|
|
331
|
-
|
|
332
|
-
你是文档审校专家。目标:审查技术文档的准确性、完整性、可读性。
|
|
333
|
-
|
|
334
|
-
## 触发场景
|
|
335
|
-
|
|
336
|
-
- 用户请求含"审查文档 / 看看这份文档"等表述
|
|
337
|
-
- 被 classifier 路由的 taskType:\`review_doc\`
|
|
338
|
-
|
|
339
|
-
## 执行流程
|
|
340
|
-
|
|
341
|
-
1. **准确性检查**
|
|
342
|
-
- 对照代码验证文档中的 API 签名、配置项、命令示例是否正确
|
|
343
|
-
- 检查版本号、依赖版本是否与实际一致
|
|
344
|
-
|
|
345
|
-
2. **完整性检查**
|
|
346
|
-
- 是否缺少关键章节(如安装步骤、配置说明、故障排查)
|
|
347
|
-
- 代码示例是否完整可运行
|
|
348
|
-
- 是否有断链或失效的外部引用
|
|
349
|
-
|
|
350
|
-
3. **可读性检查**
|
|
351
|
-
- 结构是否清晰(目录、标题层级)
|
|
352
|
-
- 语言是否简洁(避免冗余、术语过载)
|
|
353
|
-
- 格式是否一致(代码块语言标注、列表符号)
|
|
354
|
-
|
|
355
|
-
4. **反馈输出**
|
|
356
|
-
- 分级:Critical(影响理解)/ Major(建议改进)/ Minor(锦上添花)
|
|
357
|
-
- 每条反馈包含:问题描述 + 位置 + 改进建议
|
|
358
|
-
|
|
359
|
-
## 边界
|
|
360
|
-
|
|
361
|
-
- **不重写文档**,只提审查意见
|
|
362
|
-
- 审查聚焦在技术准确性与可用性,不做文学性润色
|
|
363
|
-
`;
|
|
364
|
-
const GENERAL_PURPOSE_BODY = `
|
|
365
|
-
# General Purpose Agent
|
|
366
|
-
|
|
367
|
-
你是通用任务处理 agent。目标:处理复杂、跨领域或不确定的任务,能够灵活使用所有可用工具。
|
|
368
|
-
|
|
369
|
-
## 触发场景
|
|
370
|
-
|
|
371
|
-
- 任务涉及多个领域或不确定具体类型
|
|
372
|
-
- 需要探索性分析或全面调研
|
|
373
|
-
- 任务复杂度高,需要多步骤推理
|
|
374
|
-
- 其他专门 agent 无法覆盖的场景
|
|
375
|
-
- 被 classifier 路由的 taskType:\`analyze_codebase\`、\`multi_domain\`
|
|
376
|
-
|
|
377
|
-
## 执行流程
|
|
378
|
-
|
|
379
|
-
1. **理解任务**
|
|
380
|
-
- 分析用户需求,识别关键目标
|
|
381
|
-
- 确定任务范围和边界
|
|
382
|
-
- 识别可能的子任务
|
|
383
|
-
|
|
384
|
-
2. **制定计划**
|
|
385
|
-
- 根据任务复杂度决定是否需要进入 plan mode
|
|
386
|
-
- 识别需要使用的工具和资源
|
|
387
|
-
- 确定执行顺序
|
|
388
|
-
|
|
389
|
-
3. **执行与反馈**
|
|
390
|
-
- 按计划执行任务
|
|
391
|
-
- 持续验证结果
|
|
392
|
-
- 根据反馈调整策略
|
|
393
|
-
|
|
394
|
-
## 能力范围
|
|
395
|
-
|
|
396
|
-
- 可以使用所有可用工具
|
|
397
|
-
- 可以调用其他专门 agent 处理子任务
|
|
398
|
-
- 可以进行探索性分析和调研
|
|
399
|
-
- 可以处理跨领域的复杂任务
|
|
400
|
-
|
|
401
|
-
## 边界
|
|
402
|
-
|
|
403
|
-
- **适用**:复杂分析、跨领域任务、探索性调研、不确定类型的任务
|
|
404
|
-
- **不适用**:明确属于某个专门领域的任务(应该委托给对应的专门 agent)
|
|
405
|
-
- 不要过度复杂化简单任务
|
|
406
|
-
- 保持灵活性,但也要有清晰的执行路径
|
|
407
|
-
`;
|
|
408
|
-
const PR_CREATOR_BODY = `
|
|
409
|
-
# PR Creator Agent
|
|
410
|
-
|
|
411
|
-
你是 Pull Request 创建专家。目标:基于当前分支的变更,生成高质量的 PR 标题与描述。
|
|
412
|
-
|
|
413
|
-
## 触发场景
|
|
414
|
-
|
|
415
|
-
- 用户请求含"创建 PR / 开 PR / pull request"等表述
|
|
416
|
-
- 被 classifier 路由的 taskType:\`create_pr\`
|
|
417
|
-
|
|
418
|
-
## 执行流程
|
|
419
|
-
|
|
420
|
-
1. **变更分析**
|
|
421
|
-
- 运行 \`git diff main...HEAD\` 查看完整变更
|
|
422
|
-
- 读所有相关 commit message 理解变更意图
|
|
423
|
-
- 识别变更类型(feature / fix / refactor / docs / test)
|
|
424
|
-
|
|
425
|
-
2. **PR 标题**(不超过 70 字符)
|
|
426
|
-
- 格式:\`type(scope): brief description\`
|
|
427
|
-
- 示例:\`feat(auth): add OAuth2 login support\`
|
|
428
|
-
|
|
429
|
-
3. **PR 描述**(markdown 格式)
|
|
430
|
-
- Summary:1~3 句话概述变更
|
|
431
|
-
- Changes:分点列出主要改动
|
|
432
|
-
- Test Plan:如何验证这个 PR
|
|
433
|
-
- Breaking Changes:如有破坏性变更,明确标注
|
|
434
|
-
- Screenshots:如涉及 UI 变更,提示用户补充截图
|
|
435
|
-
|
|
436
|
-
4. **创建 PR**
|
|
437
|
-
- 使用 \`gh pr create\` 命令创建 PR
|
|
438
|
-
- 返回 PR URL 给用户
|
|
439
|
-
|
|
440
|
-
## 边界
|
|
441
|
-
|
|
442
|
-
- **不推送代码**,假设分支已推送。如未推送,提示用户先推送
|
|
443
|
-
- 不合并 PR,只创建
|
|
444
|
-
- 如当前分支无变更,提示用户先提交代码
|
|
445
|
-
`;
|
|
446
|
-
export const OFFICIAL_AGENTS = [
|
|
447
|
-
{
|
|
448
|
-
name: 'planner',
|
|
449
|
-
description: '需求分析 + 架构/接口/数据模型设计(不写代码)',
|
|
450
|
-
category: 'core',
|
|
451
|
-
version: '0.2.0',
|
|
452
|
-
tools: ['Read', 'Grep', 'Glob', 'WebFetch', 'WebSearch'],
|
|
453
|
-
content: PLANNER_BODY,
|
|
454
|
-
},
|
|
455
|
-
{
|
|
456
|
-
name: 'coder',
|
|
457
|
-
description: '实现明确需求的代码,做小范围重构和性能优化',
|
|
458
|
-
category: 'core',
|
|
459
|
-
version: '0.3.0',
|
|
460
|
-
tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
|
|
461
|
-
content: CODER_BODY,
|
|
462
|
-
},
|
|
463
|
-
{
|
|
464
|
-
name: 'full-system-builder',
|
|
465
|
-
description: '端到端系统构建(前后端 + 数据库 + 测试)',
|
|
466
|
-
category: 'pipeline',
|
|
467
|
-
version: '0.2.0',
|
|
468
|
-
tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash', 'Agent'],
|
|
469
|
-
content: FULL_SYSTEM_BUILDER_BODY,
|
|
470
|
-
},
|
|
471
|
-
{
|
|
472
|
-
name: 'feature-developer',
|
|
473
|
-
description: '开发跨模块的复杂功能',
|
|
474
|
-
category: 'pipeline',
|
|
475
|
-
version: '0.3.0',
|
|
476
|
-
tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
|
|
477
|
-
content: FEATURE_DEVELOPER_BODY,
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
name: 'refactor-specialist',
|
|
481
|
-
description: '大规模重构与技术债消除',
|
|
482
|
-
category: 'specialist',
|
|
483
|
-
version: '0.3.0',
|
|
484
|
-
tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
|
|
485
|
-
skills: ['official-refactor', 'official-harness-engineering'],
|
|
486
|
-
content: REFACTOR_SPECIALIST_BODY,
|
|
487
|
-
},
|
|
488
|
-
{
|
|
489
|
-
name: 'migration-planner',
|
|
490
|
-
description: '技术栈迁移规划(框架升级、语言切换、数据库迁移)',
|
|
491
|
-
category: 'specialist',
|
|
492
|
-
version: '0.2.0',
|
|
493
|
-
tools: ['Read', 'Grep', 'Glob', 'WebFetch', 'WebSearch'],
|
|
494
|
-
content: MIGRATION_PLANNER_BODY,
|
|
495
|
-
},
|
|
496
|
-
{
|
|
497
|
-
name: 'tester',
|
|
498
|
-
description: '测试编写与覆盖率提升',
|
|
499
|
-
category: 'quality',
|
|
500
|
-
version: '0.3.0',
|
|
501
|
-
tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
|
|
502
|
-
skills: ['official-tdd'],
|
|
503
|
-
content: TESTER_BODY,
|
|
504
|
-
},
|
|
505
|
-
{
|
|
506
|
-
name: 'reviewer',
|
|
507
|
-
description: '代码评审和质量检查',
|
|
508
|
-
category: 'quality',
|
|
509
|
-
version: '0.4.0',
|
|
510
|
-
tools: ['Read', 'Grep', 'Glob'],
|
|
511
|
-
skills: ['official-pr-review'],
|
|
512
|
-
content: REVIEWER_BODY,
|
|
513
|
-
},
|
|
514
|
-
{
|
|
515
|
-
name: 'researcher',
|
|
516
|
-
description: '技术调研与方案对比',
|
|
517
|
-
category: 'research',
|
|
518
|
-
version: '0.2.0',
|
|
519
|
-
tools: ['Read', 'Grep', 'Glob', 'WebFetch', 'WebSearch'],
|
|
520
|
-
content: RESEARCHER_BODY,
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
name: 'spec-writer',
|
|
524
|
-
description: '技术规格文档编写(PRD / 技术方案 / API 规格)',
|
|
525
|
-
category: 'documentation',
|
|
526
|
-
version: '0.2.0',
|
|
527
|
-
tools: ['Read', 'Write', 'Grep', 'Glob'],
|
|
528
|
-
content: SPEC_WRITER_BODY,
|
|
529
|
-
},
|
|
530
|
-
{
|
|
531
|
-
name: 'doc-reviewer',
|
|
532
|
-
description: '文档审校(准确性 + 完整性 + 可读性)',
|
|
533
|
-
category: 'documentation',
|
|
534
|
-
version: '0.2.0',
|
|
535
|
-
tools: ['Read', 'Grep', 'Glob'],
|
|
536
|
-
content: DOC_REVIEWER_BODY,
|
|
537
|
-
},
|
|
538
|
-
{
|
|
539
|
-
name: 'general-purpose',
|
|
540
|
-
description: '通用任务处理,适用于复杂、跨领域或不确定的任务',
|
|
541
|
-
category: 'research',
|
|
542
|
-
version: '0.2.0',
|
|
543
|
-
tools: ['*'],
|
|
544
|
-
content: GENERAL_PURPOSE_BODY,
|
|
545
|
-
},
|
|
546
|
-
{
|
|
547
|
-
name: 'pr-creator',
|
|
548
|
-
description: 'Pull Request 创建与描述生成',
|
|
549
|
-
category: 'workflow',
|
|
550
|
-
version: '0.2.0',
|
|
551
|
-
tools: ['Read', 'Grep', 'Bash'],
|
|
552
|
-
content: PR_CREATOR_BODY,
|
|
553
|
-
},
|
|
554
|
-
...METHODOLOGY_PRESETS.map(buildMethodologyAgent),
|
|
555
|
-
];
|
|
556
|
-
export function findOfficialAgent(name) {
|
|
557
|
-
return OFFICIAL_AGENTS.find((a) => a.name === name);
|
|
558
|
-
}
|
|
559
|
-
//# sourceMappingURL=official-agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"official-agents.js","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentRegistry — discovers and loads agents from multiple layers.
|
|
3
|
-
*
|
|
4
|
-
* Resolution order (later overrides earlier on the same name):
|
|
5
|
-
* 1. builtin (OFFICIAL_AGENTS embedded, includes 6 official methodology presets)
|
|
6
|
-
* 2. user-methodology (~/.claude-forge/methodologies.yaml — user-defined preset compositions)
|
|
7
|
-
* 3. preset (~/.claude-forge/presets/* agents/) — Phase 3
|
|
8
|
-
* 4. user (~/.claude/agents/*.md)
|
|
9
|
-
* 5. project (<projectPath>/.claude/agents/*.md)
|
|
10
|
-
*
|
|
11
|
-
* Phase 1 ships builtin + user + project; preset layer plugs in at Phase 3.
|
|
12
|
-
* Methodology presets from `methodologies.yaml` load between builtin and user
|
|
13
|
-
* so users can override official compositions (e.g. `bmad-feature-quick`) but
|
|
14
|
-
* still get superseded by their own freeform agent files.
|
|
15
|
-
*/
|
|
16
|
-
import type { AgentRecord } from './definition.js';
|
|
17
|
-
import type { SkillRegistry } from '../skills/registry.js';
|
|
18
|
-
export declare class AgentRegistry {
|
|
19
|
-
private readonly projectPath?;
|
|
20
|
-
private agents;
|
|
21
|
-
private skillRegistry;
|
|
22
|
-
constructor(projectPath?: string | undefined, skillRegistry?: SkillRegistry);
|
|
23
|
-
private scan;
|
|
24
|
-
private loadBuiltin;
|
|
25
|
-
/**
|
|
26
|
-
* Load user-defined methodology presets from ~/.claude-forge/methodologies.yaml
|
|
27
|
-
* and register each as an AgentRecord with source 'user-methodology'.
|
|
28
|
-
*
|
|
29
|
-
* Loaded after builtin so a user-defined preset with the same id (e.g.
|
|
30
|
-
* `bmad-feature-quick`) overrides the official one. A warning is logged
|
|
31
|
-
* when an override happens so the behaviour is not silent.
|
|
32
|
-
*/
|
|
33
|
-
private loadUserMethodologies;
|
|
34
|
-
private loadFromDir;
|
|
35
|
-
/** Find an agent by exact name. */
|
|
36
|
-
get(name: string): AgentRecord | undefined;
|
|
37
|
-
/** Return all loaded agents. */
|
|
38
|
-
getAll(): AgentRecord[];
|
|
39
|
-
/** Re-scan layers. */
|
|
40
|
-
reload(): void;
|
|
41
|
-
/**
|
|
42
|
-
* Inject skill content as methodology reference into agent content.
|
|
43
|
-
* If skills are declared but SkillRegistry is not available, log warning.
|
|
44
|
-
*/
|
|
45
|
-
private injectSkillContent;
|
|
46
|
-
/**
|
|
47
|
-
* Inject a dynamic skill manifest (id + description only) at the end of agent content.
|
|
48
|
-
* This tells the Agent which skills are available for on-demand invocation via
|
|
49
|
-
* the `skill_invoke` MCP tool (registered through the claude-forge MCP server),
|
|
50
|
-
* without injecting the full skill bodies (to save tokens).
|
|
51
|
-
*
|
|
52
|
-
* Skills already statically injected via injectSkillContent() are excluded from
|
|
53
|
-
* the manifest to avoid duplication.
|
|
54
|
-
*/
|
|
55
|
-
private injectDynamicSkillManifest;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAiB,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAJ/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAA8B;gBAGhC,WAAW,CAAC,EAAE,MAAM,YAAA,EACrC,aAAa,CAAC,EAAE,aAAa;IAM/B,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,WAAW;IAyBnB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,WAAW;IAgEnB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,gCAAgC;IAChC,MAAM,IAAI,WAAW,EAAE;IAIvB,sBAAsB;IACtB,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;CAuDnC"}
|