@dragonflymcp/plugin 1.0.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/.claude-plugin/plugin.json +26 -0
- package/LICENSE +21 -0
- package/README.md +126 -0
- package/dist/core/annotations.d.ts +71 -0
- package/dist/core/annotations.d.ts.map +1 -0
- package/dist/core/annotations.js +61 -0
- package/dist/core/annotations.js.map +1 -0
- package/dist/core/config.d.ts +66 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +131 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/dispatcher.d.ts +77 -0
- package/dist/core/dispatcher.d.ts.map +1 -0
- package/dist/core/dispatcher.js +132 -0
- package/dist/core/dispatcher.js.map +1 -0
- package/dist/core/server.d.ts +24 -0
- package/dist/core/server.d.ts.map +1 -0
- package/dist/core/server.js +41 -0
- package/dist/core/server.js.map +1 -0
- package/dist/core/store.d.ts +91 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +157 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/types.d.ts +128 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/test-utils/store-harness.d.ts +41 -0
- package/dist/test-utils/store-harness.d.ts.map +1 -0
- package/dist/test-utils/store-harness.js +61 -0
- package/dist/test-utils/store-harness.js.map +1 -0
- package/dist/tools/analytics/aggregators.d.ts +18 -0
- package/dist/tools/analytics/aggregators.d.ts.map +1 -0
- package/dist/tools/analytics/aggregators.js +260 -0
- package/dist/tools/analytics/aggregators.js.map +1 -0
- package/dist/tools/analytics/aggregators.test.d.ts +2 -0
- package/dist/tools/analytics/aggregators.test.d.ts.map +1 -0
- package/dist/tools/analytics/aggregators.test.js +177 -0
- package/dist/tools/analytics/aggregators.test.js.map +1 -0
- package/dist/tools/analytics/drift.d.ts +15 -0
- package/dist/tools/analytics/drift.d.ts.map +1 -0
- package/dist/tools/analytics/drift.js +135 -0
- package/dist/tools/analytics/drift.js.map +1 -0
- package/dist/tools/analytics/drift.test.d.ts +2 -0
- package/dist/tools/analytics/drift.test.d.ts.map +1 -0
- package/dist/tools/analytics/drift.test.js +99 -0
- package/dist/tools/analytics/drift.test.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +10 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +192 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/analytics/learner.d.ts +29 -0
- package/dist/tools/analytics/learner.d.ts.map +1 -0
- package/dist/tools/analytics/learner.js +135 -0
- package/dist/tools/analytics/learner.js.map +1 -0
- package/dist/tools/analytics/learner.test.d.ts +2 -0
- package/dist/tools/analytics/learner.test.d.ts.map +1 -0
- package/dist/tools/analytics/learner.test.js +118 -0
- package/dist/tools/analytics/learner.test.js.map +1 -0
- package/dist/tools/analytics/observe.d.ts +22 -0
- package/dist/tools/analytics/observe.d.ts.map +1 -0
- package/dist/tools/analytics/observe.js +143 -0
- package/dist/tools/analytics/observe.js.map +1 -0
- package/dist/tools/analytics/observe.test.d.ts +2 -0
- package/dist/tools/analytics/observe.test.d.ts.map +1 -0
- package/dist/tools/analytics/observe.test.js +95 -0
- package/dist/tools/analytics/observe.test.js.map +1 -0
- package/dist/tools/analytics/store.d.ts +29 -0
- package/dist/tools/analytics/store.d.ts.map +1 -0
- package/dist/tools/analytics/store.js +192 -0
- package/dist/tools/analytics/store.js.map +1 -0
- package/dist/tools/analytics/types.d.ts +290 -0
- package/dist/tools/analytics/types.d.ts.map +1 -0
- package/dist/tools/analytics/types.js +7 -0
- package/dist/tools/analytics/types.js.map +1 -0
- package/dist/tools/ast/index.d.ts +8 -0
- package/dist/tools/ast/index.d.ts.map +1 -0
- package/dist/tools/ast/index.js +242 -0
- package/dist/tools/ast/index.js.map +1 -0
- package/dist/tools/ast/indexer.d.ts +41 -0
- package/dist/tools/ast/indexer.d.ts.map +1 -0
- package/dist/tools/ast/indexer.js +617 -0
- package/dist/tools/ast/indexer.js.map +1 -0
- package/dist/tools/ast/store.d.ts +87 -0
- package/dist/tools/ast/store.d.ts.map +1 -0
- package/dist/tools/ast/store.js +280 -0
- package/dist/tools/ast/store.js.map +1 -0
- package/dist/tools/ast/store.test.d.ts +6 -0
- package/dist/tools/ast/store.test.d.ts.map +1 -0
- package/dist/tools/ast/store.test.js +257 -0
- package/dist/tools/ast/store.test.js.map +1 -0
- package/dist/tools/bridge/bridge.d.ts +37 -0
- package/dist/tools/bridge/bridge.d.ts.map +1 -0
- package/dist/tools/bridge/bridge.js +82 -0
- package/dist/tools/bridge/bridge.js.map +1 -0
- package/dist/tools/bridge/bridge.test.d.ts +2 -0
- package/dist/tools/bridge/bridge.test.d.ts.map +1 -0
- package/dist/tools/bridge/bridge.test.js +119 -0
- package/dist/tools/bridge/bridge.test.js.map +1 -0
- package/dist/tools/bridge/index.d.ts +8 -0
- package/dist/tools/bridge/index.d.ts.map +1 -0
- package/dist/tools/bridge/index.js +153 -0
- package/dist/tools/bridge/index.js.map +1 -0
- package/dist/tools/bridge/store.d.ts +45 -0
- package/dist/tools/bridge/store.d.ts.map +1 -0
- package/dist/tools/bridge/store.js +307 -0
- package/dist/tools/bridge/store.js.map +1 -0
- package/dist/tools/bridge/store.test.d.ts +2 -0
- package/dist/tools/bridge/store.test.d.ts.map +1 -0
- package/dist/tools/bridge/store.test.js +180 -0
- package/dist/tools/bridge/store.test.js.map +1 -0
- package/dist/tools/bridge/types.d.ts +44 -0
- package/dist/tools/bridge/types.d.ts.map +1 -0
- package/dist/tools/bridge/types.js +6 -0
- package/dist/tools/bridge/types.js.map +1 -0
- package/dist/tools/evolve/algorithm.d.ts +33 -0
- package/dist/tools/evolve/algorithm.d.ts.map +1 -0
- package/dist/tools/evolve/algorithm.js +64 -0
- package/dist/tools/evolve/algorithm.js.map +1 -0
- package/dist/tools/evolve/algorithm.test.d.ts +6 -0
- package/dist/tools/evolve/algorithm.test.d.ts.map +1 -0
- package/dist/tools/evolve/algorithm.test.js +138 -0
- package/dist/tools/evolve/algorithm.test.js.map +1 -0
- package/dist/tools/evolve/index.d.ts +11 -0
- package/dist/tools/evolve/index.d.ts.map +1 -0
- package/dist/tools/evolve/index.js +300 -0
- package/dist/tools/evolve/index.js.map +1 -0
- package/dist/tools/evolve/store.d.ts +27 -0
- package/dist/tools/evolve/store.d.ts.map +1 -0
- package/dist/tools/evolve/store.js +147 -0
- package/dist/tools/evolve/store.js.map +1 -0
- package/dist/tools/evolve/store.test.d.ts +6 -0
- package/dist/tools/evolve/store.test.d.ts.map +1 -0
- package/dist/tools/evolve/store.test.js +162 -0
- package/dist/tools/evolve/store.test.js.map +1 -0
- package/dist/tools/evolve/types.d.ts +38 -0
- package/dist/tools/evolve/types.d.ts.map +1 -0
- package/dist/tools/evolve/types.js +6 -0
- package/dist/tools/evolve/types.js.map +1 -0
- package/dist/tools/framework/content-loader.d.ts +45 -0
- package/dist/tools/framework/content-loader.d.ts.map +1 -0
- package/dist/tools/framework/content-loader.js +258 -0
- package/dist/tools/framework/content-loader.js.map +1 -0
- package/dist/tools/framework/content-loader.test.d.ts +5 -0
- package/dist/tools/framework/content-loader.test.d.ts.map +1 -0
- package/dist/tools/framework/content-loader.test.js +262 -0
- package/dist/tools/framework/content-loader.test.js.map +1 -0
- package/dist/tools/framework/index.d.ts +30 -0
- package/dist/tools/framework/index.d.ts.map +1 -0
- package/dist/tools/framework/index.js +517 -0
- package/dist/tools/framework/index.js.map +1 -0
- package/dist/tools/framework/session.d.ts +85 -0
- package/dist/tools/framework/session.d.ts.map +1 -0
- package/dist/tools/framework/session.js +311 -0
- package/dist/tools/framework/session.js.map +1 -0
- package/dist/tools/framework/session.test.d.ts +5 -0
- package/dist/tools/framework/session.test.d.ts.map +1 -0
- package/dist/tools/framework/session.test.js +291 -0
- package/dist/tools/framework/session.test.js.map +1 -0
- package/dist/tools/framework/sync-evaluator.d.ts +41 -0
- package/dist/tools/framework/sync-evaluator.d.ts.map +1 -0
- package/dist/tools/framework/sync-evaluator.js +298 -0
- package/dist/tools/framework/sync-evaluator.js.map +1 -0
- package/dist/tools/framework/sync-evaluator.test.d.ts +5 -0
- package/dist/tools/framework/sync-evaluator.test.d.ts.map +1 -0
- package/dist/tools/framework/sync-evaluator.test.js +288 -0
- package/dist/tools/framework/sync-evaluator.test.js.map +1 -0
- package/dist/tools/framework/types.d.ts +279 -0
- package/dist/tools/framework/types.d.ts.map +1 -0
- package/dist/tools/framework/types.js +6 -0
- package/dist/tools/framework/types.js.map +1 -0
- package/dist/tools/framework/workflow-intelligence.d.ts +55 -0
- package/dist/tools/framework/workflow-intelligence.d.ts.map +1 -0
- package/dist/tools/framework/workflow-intelligence.js +199 -0
- package/dist/tools/framework/workflow-intelligence.js.map +1 -0
- package/dist/tools/framework/workflow-intelligence.test.d.ts +6 -0
- package/dist/tools/framework/workflow-intelligence.test.d.ts.map +1 -0
- package/dist/tools/framework/workflow-intelligence.test.js +257 -0
- package/dist/tools/framework/workflow-intelligence.test.js.map +1 -0
- package/dist/tools/framework/workflow-planner.d.ts +10 -0
- package/dist/tools/framework/workflow-planner.d.ts.map +1 -0
- package/dist/tools/framework/workflow-planner.js +214 -0
- package/dist/tools/framework/workflow-planner.js.map +1 -0
- package/dist/tools/framework/workflow-planner.test.d.ts +5 -0
- package/dist/tools/framework/workflow-planner.test.d.ts.map +1 -0
- package/dist/tools/framework/workflow-planner.test.js +137 -0
- package/dist/tools/framework/workflow-planner.test.js.map +1 -0
- package/dist/tools/knowledge/bridge.d.ts +34 -0
- package/dist/tools/knowledge/bridge.d.ts.map +1 -0
- package/dist/tools/knowledge/bridge.js +249 -0
- package/dist/tools/knowledge/bridge.js.map +1 -0
- package/dist/tools/knowledge/bridge.test.d.ts +5 -0
- package/dist/tools/knowledge/bridge.test.d.ts.map +1 -0
- package/dist/tools/knowledge/bridge.test.js +221 -0
- package/dist/tools/knowledge/bridge.test.js.map +1 -0
- package/dist/tools/knowledge/extractor.d.ts +22 -0
- package/dist/tools/knowledge/extractor.d.ts.map +1 -0
- package/dist/tools/knowledge/extractor.js +154 -0
- package/dist/tools/knowledge/extractor.js.map +1 -0
- package/dist/tools/knowledge/index.d.ts +12 -0
- package/dist/tools/knowledge/index.d.ts.map +1 -0
- package/dist/tools/knowledge/index.js +505 -0
- package/dist/tools/knowledge/index.js.map +1 -0
- package/dist/tools/knowledge/retrieval.d.ts +28 -0
- package/dist/tools/knowledge/retrieval.d.ts.map +1 -0
- package/dist/tools/knowledge/retrieval.js +164 -0
- package/dist/tools/knowledge/retrieval.js.map +1 -0
- package/dist/tools/knowledge/store.d.ts +96 -0
- package/dist/tools/knowledge/store.d.ts.map +1 -0
- package/dist/tools/knowledge/store.js +562 -0
- package/dist/tools/knowledge/store.js.map +1 -0
- package/dist/tools/knowledge/store.test.d.ts +6 -0
- package/dist/tools/knowledge/store.test.d.ts.map +1 -0
- package/dist/tools/knowledge/store.test.js +385 -0
- package/dist/tools/knowledge/store.test.js.map +1 -0
- package/dist/tools/knowledge/types.d.ts +168 -0
- package/dist/tools/knowledge/types.d.ts.map +1 -0
- package/dist/tools/knowledge/types.js +6 -0
- package/dist/tools/knowledge/types.js.map +1 -0
- package/dist/tools/memory/evolution.d.ts +31 -0
- package/dist/tools/memory/evolution.d.ts.map +1 -0
- package/dist/tools/memory/evolution.js +130 -0
- package/dist/tools/memory/evolution.js.map +1 -0
- package/dist/tools/memory/index.d.ts +11 -0
- package/dist/tools/memory/index.d.ts.map +1 -0
- package/dist/tools/memory/index.js +239 -0
- package/dist/tools/memory/index.js.map +1 -0
- package/dist/tools/memory/store.d.ts +75 -0
- package/dist/tools/memory/store.d.ts.map +1 -0
- package/dist/tools/memory/store.js +398 -0
- package/dist/tools/memory/store.js.map +1 -0
- package/dist/tools/memory/store.test.d.ts +6 -0
- package/dist/tools/memory/store.test.d.ts.map +1 -0
- package/dist/tools/memory/store.test.js +429 -0
- package/dist/tools/memory/store.test.js.map +1 -0
- package/dist/tools/memory/types.d.ts +171 -0
- package/dist/tools/memory/types.d.ts.map +1 -0
- package/dist/tools/memory/types.js +6 -0
- package/dist/tools/memory/types.js.map +1 -0
- package/dist/tools/pipeline/composer.d.ts +29 -0
- package/dist/tools/pipeline/composer.d.ts.map +1 -0
- package/dist/tools/pipeline/composer.js +225 -0
- package/dist/tools/pipeline/composer.js.map +1 -0
- package/dist/tools/pipeline/composer.test.d.ts +2 -0
- package/dist/tools/pipeline/composer.test.d.ts.map +1 -0
- package/dist/tools/pipeline/composer.test.js +162 -0
- package/dist/tools/pipeline/composer.test.js.map +1 -0
- package/dist/tools/pipeline/index.d.ts +8 -0
- package/dist/tools/pipeline/index.d.ts.map +1 -0
- package/dist/tools/pipeline/index.js +102 -0
- package/dist/tools/pipeline/index.js.map +1 -0
- package/dist/tools/pipeline/planner.d.ts +10 -0
- package/dist/tools/pipeline/planner.d.ts.map +1 -0
- package/dist/tools/pipeline/planner.js +147 -0
- package/dist/tools/pipeline/planner.js.map +1 -0
- package/dist/tools/pipeline/planner.test.d.ts +2 -0
- package/dist/tools/pipeline/planner.test.d.ts.map +1 -0
- package/dist/tools/pipeline/planner.test.js +96 -0
- package/dist/tools/pipeline/planner.test.js.map +1 -0
- package/dist/tools/pipeline/preconditions.d.ts +14 -0
- package/dist/tools/pipeline/preconditions.d.ts.map +1 -0
- package/dist/tools/pipeline/preconditions.js +65 -0
- package/dist/tools/pipeline/preconditions.js.map +1 -0
- package/dist/tools/pipeline/preconditions.test.d.ts +2 -0
- package/dist/tools/pipeline/preconditions.test.d.ts.map +1 -0
- package/dist/tools/pipeline/preconditions.test.js +74 -0
- package/dist/tools/pipeline/preconditions.test.js.map +1 -0
- package/dist/tools/pipeline/types.d.ts +105 -0
- package/dist/tools/pipeline/types.d.ts.map +1 -0
- package/dist/tools/pipeline/types.js +6 -0
- package/dist/tools/pipeline/types.js.map +1 -0
- package/dist/tools/repair/index.d.ts +8 -0
- package/dist/tools/repair/index.d.ts.map +1 -0
- package/dist/tools/repair/index.js +384 -0
- package/dist/tools/repair/index.js.map +1 -0
- package/dist/tools/repair/repairer.d.ts +67 -0
- package/dist/tools/repair/repairer.d.ts.map +1 -0
- package/dist/tools/repair/repairer.js +257 -0
- package/dist/tools/repair/repairer.js.map +1 -0
- package/dist/tools/repair/repairer.test.d.ts +6 -0
- package/dist/tools/repair/repairer.test.d.ts.map +1 -0
- package/dist/tools/repair/repairer.test.js +159 -0
- package/dist/tools/repair/repairer.test.js.map +1 -0
- package/dist/tools/semantic/chunker.d.ts +23 -0
- package/dist/tools/semantic/chunker.d.ts.map +1 -0
- package/dist/tools/semantic/chunker.js +244 -0
- package/dist/tools/semantic/chunker.js.map +1 -0
- package/dist/tools/semantic/embedder.d.ts +16 -0
- package/dist/tools/semantic/embedder.d.ts.map +1 -0
- package/dist/tools/semantic/embedder.js +88 -0
- package/dist/tools/semantic/embedder.js.map +1 -0
- package/dist/tools/semantic/index.d.ts +8 -0
- package/dist/tools/semantic/index.d.ts.map +1 -0
- package/dist/tools/semantic/index.js +144 -0
- package/dist/tools/semantic/index.js.map +1 -0
- package/dist/tools/semantic/store.d.ts +31 -0
- package/dist/tools/semantic/store.d.ts.map +1 -0
- package/dist/tools/semantic/store.js +168 -0
- package/dist/tools/semantic/store.js.map +1 -0
- package/dist/tools/semantic/store.test.d.ts +6 -0
- package/dist/tools/semantic/store.test.d.ts.map +1 -0
- package/dist/tools/semantic/store.test.js +240 -0
- package/dist/tools/semantic/store.test.js.map +1 -0
- package/dist/tools/spec/generator.d.ts +32 -0
- package/dist/tools/spec/generator.d.ts.map +1 -0
- package/dist/tools/spec/generator.js +278 -0
- package/dist/tools/spec/generator.js.map +1 -0
- package/dist/tools/spec/generator.test.d.ts +6 -0
- package/dist/tools/spec/generator.test.d.ts.map +1 -0
- package/dist/tools/spec/generator.test.js +208 -0
- package/dist/tools/spec/generator.test.js.map +1 -0
- package/dist/tools/spec/index.d.ts +11 -0
- package/dist/tools/spec/index.d.ts.map +1 -0
- package/dist/tools/spec/index.js +426 -0
- package/dist/tools/spec/index.js.map +1 -0
- package/dist/tools/spec/store.d.ts +24 -0
- package/dist/tools/spec/store.d.ts.map +1 -0
- package/dist/tools/spec/store.js +104 -0
- package/dist/tools/spec/store.js.map +1 -0
- package/dist/tools/spec/store.test.d.ts +6 -0
- package/dist/tools/spec/store.test.d.ts.map +1 -0
- package/dist/tools/spec/store.test.js +173 -0
- package/dist/tools/spec/store.test.js.map +1 -0
- package/dist/tools/spec/types.d.ts +61 -0
- package/dist/tools/spec/types.d.ts.map +1 -0
- package/dist/tools/spec/types.js +6 -0
- package/dist/tools/spec/types.js.map +1 -0
- package/dist/tools/state/index.d.ts +11 -0
- package/dist/tools/state/index.d.ts.map +1 -0
- package/dist/tools/state/index.js +386 -0
- package/dist/tools/state/index.js.map +1 -0
- package/dist/tools/state/migrate.d.ts +39 -0
- package/dist/tools/state/migrate.d.ts.map +1 -0
- package/dist/tools/state/migrate.js +242 -0
- package/dist/tools/state/migrate.js.map +1 -0
- package/dist/tools/state/migrate.test.d.ts +2 -0
- package/dist/tools/state/migrate.test.d.ts.map +1 -0
- package/dist/tools/state/migrate.test.js +265 -0
- package/dist/tools/state/migrate.test.js.map +1 -0
- package/dist/tools/state/store.d.ts +107 -0
- package/dist/tools/state/store.d.ts.map +1 -0
- package/dist/tools/state/store.js +365 -0
- package/dist/tools/state/store.js.map +1 -0
- package/dist/tools/state/store.test.d.ts +5 -0
- package/dist/tools/state/store.test.d.ts.map +1 -0
- package/dist/tools/state/store.test.js +293 -0
- package/dist/tools/state/store.test.js.map +1 -0
- package/dist/tools/state/types.d.ts +90 -0
- package/dist/tools/state/types.d.ts.map +1 -0
- package/dist/tools/state/types.js +6 -0
- package/dist/tools/state/types.js.map +1 -0
- package/dist/tools/testing/analyzer.d.ts +44 -0
- package/dist/tools/testing/analyzer.d.ts.map +1 -0
- package/dist/tools/testing/analyzer.js +280 -0
- package/dist/tools/testing/analyzer.js.map +1 -0
- package/dist/tools/testing/generator.d.ts +57 -0
- package/dist/tools/testing/generator.d.ts.map +1 -0
- package/dist/tools/testing/generator.js +478 -0
- package/dist/tools/testing/generator.js.map +1 -0
- package/dist/tools/testing/generator.test.d.ts +6 -0
- package/dist/tools/testing/generator.test.d.ts.map +1 -0
- package/dist/tools/testing/generator.test.js +285 -0
- package/dist/tools/testing/generator.test.js.map +1 -0
- package/dist/tools/testing/index.d.ts +8 -0
- package/dist/tools/testing/index.d.ts.map +1 -0
- package/dist/tools/testing/index.js +373 -0
- package/dist/tools/testing/index.js.map +1 -0
- package/dist/utils/embedder.d.ts +7 -0
- package/dist/utils/embedder.d.ts.map +1 -0
- package/dist/utils/embedder.js +13 -0
- package/dist/utils/embedder.js.map +1 -0
- package/dist/utils/execution.d.ts +68 -0
- package/dist/utils/execution.d.ts.map +1 -0
- package/dist/utils/execution.js +467 -0
- package/dist/utils/execution.js.map +1 -0
- package/dist/utils/graph.d.ts +26 -0
- package/dist/utils/graph.d.ts.map +1 -0
- package/dist/utils/graph.js +32 -0
- package/dist/utils/graph.js.map +1 -0
- package/dist/utils/guards.d.ts +32 -0
- package/dist/utils/guards.d.ts.map +1 -0
- package/dist/utils/guards.js +40 -0
- package/dist/utils/guards.js.map +1 -0
- package/dist/utils/ids.d.ts +5 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +7 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/languages.d.ts +34 -0
- package/dist/utils/languages.d.ts.map +1 -0
- package/dist/utils/languages.js +153 -0
- package/dist/utils/languages.js.map +1 -0
- package/dist/utils/lazy.d.ts +17 -0
- package/dist/utils/lazy.d.ts.map +1 -0
- package/dist/utils/lazy.js +35 -0
- package/dist/utils/lazy.js.map +1 -0
- package/dist/utils/project.d.ts +41 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +82 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/utils/responses.d.ts +27 -0
- package/dist/utils/responses.d.ts.map +1 -0
- package/dist/utils/responses.js +72 -0
- package/dist/utils/responses.js.map +1 -0
- package/dist/utils/vectors.d.ts +33 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/dist/utils/vectors.js +80 -0
- package/dist/utils/vectors.js.map +1 -0
- package/dist/utils/vectors.test.d.ts +6 -0
- package/dist/utils/vectors.test.d.ts.map +1 -0
- package/dist/utils/vectors.test.js +96 -0
- package/dist/utils/vectors.test.js.map +1 -0
- package/package.json +69 -0
- package/scripts/init.js +142 -0
- package/templates/CLAUDE.md.template +96 -0
- package/templates/agents/architecture-concept.md +237 -0
- package/templates/agents/checkpoint-concept.md +218 -0
- package/templates/agents/code-analysis-concept.md +171 -0
- package/templates/agents/compete-control.md +44 -0
- package/templates/agents/compete-evaluator.md +87 -0
- package/templates/agents/compete-treatment.md +55 -0
- package/templates/agents/context-concept.md +254 -0
- package/templates/agents/debate-advocate.md +127 -0
- package/templates/agents/debate-critic.md +119 -0
- package/templates/agents/debate-synthesis.md +160 -0
- package/templates/agents/documentation-concept.md +294 -0
- package/templates/agents/implementation-concept.md +165 -0
- package/templates/agents/quality-concept.md +299 -0
- package/templates/agents/research-concept.md +169 -0
- package/templates/agents/security-concept.md +255 -0
- package/templates/agents/story-concept.md +207 -0
- package/templates/agents/verification-concept.md +456 -0
- package/templates/agents/version-concept.md +163 -0
- package/templates/anchors/directory.anchor.yaml.template +53 -0
- package/templates/anchors/rules.anchor.yaml.template +70 -0
- package/templates/anchors/safety.anchor.yaml.template +96 -0
- package/templates/claude-md-managed.template +105 -0
- package/templates/commands/cache.md.template +439 -0
- package/templates/commands/checkpoint.md.template +121 -0
- package/templates/commands/classify.md.template +138 -0
- package/templates/commands/compete.md.template +90 -0
- package/templates/commands/costs.md.template +111 -0
- package/templates/commands/estimate.md.template +196 -0
- package/templates/commands/explore.md.template +186 -0
- package/templates/commands/feature.md.template +216 -0
- package/templates/commands/forget.md.template +104 -0
- package/templates/commands/global-recall.md.template +250 -0
- package/templates/commands/global-remember.md.template +187 -0
- package/templates/commands/health.md.template +107 -0
- package/templates/commands/help.md.template +253 -0
- package/templates/commands/observe.md.template +211 -0
- package/templates/commands/pr-review.md.template +164 -0
- package/templates/commands/predict-cost.md.template +251 -0
- package/templates/commands/profile.md.template +142 -0
- package/templates/commands/reasoning.md.template +228 -0
- package/templates/commands/recall.md.template +197 -0
- package/templates/commands/remember.md.template +148 -0
- package/templates/commands/replay.md.template +449 -0
- package/templates/commands/restore.md.template +87 -0
- package/templates/commands/retrospective.md.template +47 -0
- package/templates/commands/slo.md.template +286 -0
- package/templates/commands/spec.md.template +164 -0
- package/templates/commands/status.md.template +53 -0
- package/templates/commands/sync.md.template +321 -0
- package/templates/commands/task.md.template +86 -0
- package/templates/commands/trace.md.template +86 -0
- package/templates/commands/visualize.md.template +216 -0
- package/templates/commands/workflow.md.template +375 -0
- package/templates/concepts/README.md +329 -0
- package/templates/concepts/architecture.md.template +74 -0
- package/templates/concepts/code-analysis.md.template +186 -0
- package/templates/concepts/context-compactor.md.template +393 -0
- package/templates/concepts/context.md.template +62 -0
- package/templates/concepts/documentation.md.template +452 -0
- package/templates/concepts/estimator.md.template +214 -0
- package/templates/concepts/exploration.md.template +257 -0
- package/templates/concepts/global-memory.md.template +222 -0
- package/templates/concepts/implementation.md.template +62 -0
- package/templates/concepts/pr-review.md.template +277 -0
- package/templates/concepts/project-profile.md.template +358 -0
- package/templates/concepts/quality.md.template +63 -0
- package/templates/concepts/react-fallback.md.template +286 -0
- package/templates/concepts/research.md.template +221 -0
- package/templates/concepts/retrospective.md.template +93 -0
- package/templates/concepts/security.md.template +442 -0
- package/templates/concepts/slo.md.template +274 -0
- package/templates/concepts/spec.md.template +71 -0
- package/templates/concepts/story.md.template +50 -0
- package/templates/concepts/tool-router.md.template +289 -0
- package/templates/concepts/verification-synthesizer.md.template +279 -0
- package/templates/concepts/version.md.template +61 -0
- package/templates/config.yaml.template +347 -0
- package/templates/examples/README.md +77 -0
- package/templates/examples/architecture/api-design.yaml.template +286 -0
- package/templates/examples/architecture/oauth-authentication.yaml.template +305 -0
- package/templates/health/status.yaml.template +120 -0
- package/templates/hooks/concept-complete.sh.template +45 -0
- package/templates/hooks/lib/common.sh.template +160 -0
- package/templates/hooks/post-commit.sh.template +37 -0
- package/templates/hooks/post-concept-action.template +39 -0
- package/templates/hooks/post-tool-structure-check.sh.template +138 -0
- package/templates/hooks/post-tool-use.sh.template +51 -0
- package/templates/hooks/pre-compact.sh.template +48 -0
- package/templates/hooks/pre-tool-grounding.template +148 -0
- package/templates/hooks/session-exit-checkpoint.sh.template +35 -0
- package/templates/hooks/session-start.sh.template +67 -0
- package/templates/hooks/statusline.sh.template +148 -0
- package/templates/hooks/stop.sh.template +45 -0
- package/templates/hooks/subagent-stop.sh.template +40 -0
- package/templates/hooks/sync-blocked.sh.template +45 -0
- package/templates/hooks/timeout.sh.template +48 -0
- package/templates/hooks/user-prompt-submit.sh.template +68 -0
- package/templates/koan/README.md +58 -0
- package/templates/memory/index.yaml.template +48 -0
- package/templates/memory/procedural/debugging.yaml.template +24 -0
- package/templates/memory/procedural/workflows.yaml.template +22 -0
- package/templates/memory/semantic/architecture.yaml.template +21 -0
- package/templates/memory/semantic/conventions.yaml.template +18 -0
- package/templates/memory/semantic/patterns.yaml.template +21 -0
- package/templates/memory/semantic/preferences.yaml.template +18 -0
- package/templates/prompts/architecture.yaml.template +349 -0
- package/templates/prompts/context.yaml.template +384 -0
- package/templates/prompts/implementation.yaml.template +365 -0
- package/templates/prompts/planning.yaml.template +303 -0
- package/templates/prompts/quality.yaml.template +345 -0
- package/templates/prompts/retrospective.yaml.template +231 -0
- package/templates/prompts/slo.yaml.template +360 -0
- package/templates/prompts/story.yaml.template +236 -0
- package/templates/prompts/tree-of-thoughts.yaml.template +299 -0
- package/templates/prompts/verification.yaml.template +286 -0
- package/templates/prompts/version.yaml.template +279 -0
- package/templates/schemas/agent-schema.json +98 -0
- package/templates/schemas/architecture.schema.json +69 -0
- package/templates/schemas/config-schema.json +165 -0
- package/templates/schemas/implementation.schema.json +75 -0
- package/templates/schemas/planning.schema.json +243 -0
- package/templates/schemas/provenance.schema.json +111 -0
- package/templates/schemas/retrospective.schema.json +174 -0
- package/templates/schemas/review.schema.json +284 -0
- package/templates/schemas/slo.schema.json +443 -0
- package/templates/schemas/story.schema.json +68 -0
- package/templates/schemas/sync-schema.json +196 -0
- package/templates/schemas/task.schema.json +127 -0
- package/templates/schemas/tree-of-thoughts.schema.json +175 -0
- package/templates/schemas/verification.schema.json +106 -0
- package/templates/settings.full.json.template +135 -0
- package/templates/settings.minimal.json.template +68 -0
- package/templates/settings.standard.json.template +135 -0
- package/templates/skills/acceptance-criteria-generation.md.template +330 -0
- package/templates/skills/accessibility-checking.md.template +341 -0
- package/templates/skills/api-design-patterns.md.template +395 -0
- package/templates/skills/batch-processing.md.template +605 -0
- package/templates/skills/branch-strategy.md.template +362 -0
- package/templates/skills/changelog-generation.md.template +403 -0
- package/templates/skills/code-coverage-analysis.md.template +362 -0
- package/templates/skills/code-style-enforcement.md.template +294 -0
- package/templates/skills/code-template-patterns.md.template +419 -0
- package/templates/skills/concept-development.md.template +159 -0
- package/templates/skills/context-prioritization.md.template +306 -0
- package/templates/skills/cost-optimization.md.template +482 -0
- package/templates/skills/cross-project-knowledge.md.template +316 -0
- package/templates/skills/dependency-impact-analysis.md.template +263 -0
- package/templates/skills/documentation-generation.md.template +409 -0
- package/templates/skills/effort-estimation.md.template +350 -0
- package/templates/skills/error-classification.md.template +709 -0
- package/templates/skills/error-messages.md.template +339 -0
- package/templates/skills/ide-diagnostics.md.template +480 -0
- package/templates/skills/incremental-loading.md.template +574 -0
- package/templates/skills/output-caching.md.template +524 -0
- package/templates/skills/performance-estimation.md.template +325 -0
- package/templates/skills/performance-testing-patterns.md.template +341 -0
- package/templates/skills/phase2-optimizations-summary.md.template +458 -0
- package/templates/skills/progressive-disclosure-pattern.md.template +190 -0
- package/templates/skills/project-structure.md.template +372 -0
- package/templates/skills/provenance-analysis.md.template +609 -0
- package/templates/skills/react-executor.md.template +366 -0
- package/templates/skills/refactoring-patterns.md.template +422 -0
- package/templates/skills/release-management.md.template +373 -0
- package/templates/skills/requirement-prioritization.md.template +357 -0
- package/templates/skills/schema-validation.md.template +321 -0
- package/templates/skills/security-design-patterns.md.template +692 -0
- package/templates/skills/security-vulnerability-scanning.md.template +663 -0
- package/templates/skills/semantic-memory.md.template +266 -0
- package/templates/skills/semantic-versioning.md.template +371 -0
- package/templates/skills/smart-retry.md.template +676 -0
- package/templates/skills/smart-summarization.md.template +358 -0
- package/templates/skills/story-decomposition.md.template +278 -0
- package/templates/skills/synchronization-patterns.md.template +303 -0
- package/templates/skills/test-generation-strategy.md.template +247 -0
- package/templates/skills/workflow-replay.md.template +478 -0
- package/templates/skills/wysiwid-principles.md.template +364 -0
- package/templates/skills-manifest.yaml.template +526 -0
- package/templates/stubs/agents/architecture-concept.md +20 -0
- package/templates/stubs/agents/checkpoint-concept.md +19 -0
- package/templates/stubs/agents/code-analysis-concept.md +36 -0
- package/templates/stubs/agents/context-concept.md +37 -0
- package/templates/stubs/agents/debate-advocate.md +12 -0
- package/templates/stubs/agents/debate-critic.md +12 -0
- package/templates/stubs/agents/debate-synthesis.md +12 -0
- package/templates/stubs/agents/documentation-concept.md +39 -0
- package/templates/stubs/agents/implementation-concept.md +41 -0
- package/templates/stubs/agents/quality-concept.md +41 -0
- package/templates/stubs/agents/research-concept.md +35 -0
- package/templates/stubs/agents/security-concept.md +40 -0
- package/templates/stubs/agents/spec-concept.md +35 -0
- package/templates/stubs/agents/story-concept.md +36 -0
- package/templates/stubs/agents/verification-concept.md +39 -0
- package/templates/stubs/agents/version-concept.md +37 -0
- package/templates/stubs/commands/cache.md.template +2 -0
- package/templates/stubs/commands/checkpoint.md.template +2 -0
- package/templates/stubs/commands/classify.md.template +2 -0
- package/templates/stubs/commands/compete.md.template +2 -0
- package/templates/stubs/commands/costs.md.template +2 -0
- package/templates/stubs/commands/estimate.md.template +2 -0
- package/templates/stubs/commands/explore.md.template +2 -0
- package/templates/stubs/commands/feature.md.template +2 -0
- package/templates/stubs/commands/forget.md.template +2 -0
- package/templates/stubs/commands/global-recall.md.template +2 -0
- package/templates/stubs/commands/global-remember.md.template +2 -0
- package/templates/stubs/commands/health.md.template +2 -0
- package/templates/stubs/commands/help.md.template +2 -0
- package/templates/stubs/commands/observe.md.template +2 -0
- package/templates/stubs/commands/pr-review.md.template +2 -0
- package/templates/stubs/commands/predict-cost.md.template +2 -0
- package/templates/stubs/commands/profile.md.template +2 -0
- package/templates/stubs/commands/reasoning.md.template +2 -0
- package/templates/stubs/commands/recall.md.template +2 -0
- package/templates/stubs/commands/remember.md.template +2 -0
- package/templates/stubs/commands/replay.md.template +2 -0
- package/templates/stubs/commands/restore.md.template +2 -0
- package/templates/stubs/commands/retrospective.md.template +2 -0
- package/templates/stubs/commands/slo.md.template +2 -0
- package/templates/stubs/commands/spec.md.template +2 -0
- package/templates/stubs/commands/sync.md.template +2 -0
- package/templates/stubs/commands/task.md.template +2 -0
- package/templates/stubs/commands/trace.md.template +2 -0
- package/templates/stubs/commands/visualize.md.template +2 -0
- package/templates/stubs/commands/workflow.md.template +2 -0
- package/templates/synchronizations/archive/adaptive-learning.yaml.template +595 -0
- package/templates/synchronizations/archive/code-understanding-flow.yaml.template +533 -0
- package/templates/synchronizations/archive/collaboration-flow.yaml.template +521 -0
- package/templates/synchronizations/archive/context-folding.yaml.template +353 -0
- package/templates/synchronizations/archive/dead-letter-queue.yaml.template +530 -0
- package/templates/synchronizations/archive/documentation-flow.yaml.template +560 -0
- package/templates/synchronizations/archive/error-recovery-flow.yaml.template +1031 -0
- package/templates/synchronizations/archive/execution-loop.yaml.template +336 -0
- package/templates/synchronizations/archive/exploration-flow.yaml.template +369 -0
- package/templates/synchronizations/archive/feature-development.yaml.template +2145 -0
- package/templates/synchronizations/archive/learning-loop.yaml.template +657 -0
- package/templates/synchronizations/archive/multi-verify.yaml.template +346 -0
- package/templates/synchronizations/archive/planning-flow.yaml.template +312 -0
- package/templates/synchronizations/archive/retrospective-flow.yaml.template +277 -0
- package/templates/synchronizations/archive/security-flow.yaml.template +477 -0
- package/templates/synchronizations/archive/slo-monitoring.yaml.template +209 -0
- package/templates/synchronizations/archive/task-routing.yaml.template +489 -0
- package/templates/synchronizations/archive/test-driven.yaml.template +291 -0
- package/templates/synchronizations/archive/tool-routing.yaml.template +326 -0
- package/templates/synchronizations/archive/verification-flow.yaml.template +407 -0
- package/templates/synchronizations/error-policy.yaml.template +188 -0
- package/templates/synchronizations/main.sync.template +319 -0
- package/templates/synchronizations/slo-registry.yaml.template +229 -0
- package/templates/tasks/task.yaml.template +67 -0
- package/templates/zen-profile.yaml.template +14 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# PR Review Concept
|
|
2
|
+
|
|
3
|
+
You are a Pull Request Review agent that analyzes code changes.
|
|
4
|
+
Your role is to provide thorough, constructive code reviews using MCP tools.
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
|
|
8
|
+
Automate code review with:
|
|
9
|
+
- Code quality assessment
|
|
10
|
+
- Architectural impact analysis
|
|
11
|
+
- Security scanning
|
|
12
|
+
- Performance considerations
|
|
13
|
+
- Suggested improvements
|
|
14
|
+
|
|
15
|
+
## MCP Tools Used
|
|
16
|
+
|
|
17
|
+
### GitHub MCP (required)
|
|
18
|
+
- `get_pull_request` - Get PR details
|
|
19
|
+
- `get_pull_request_files` - List changed files
|
|
20
|
+
- `get_pull_request_comments` - Get existing comments
|
|
21
|
+
- `create_pull_request_review` - Submit review
|
|
22
|
+
|
|
23
|
+
### AST Index MCP (optional, enhances review)
|
|
24
|
+
- `find_symbol` - Find related symbols
|
|
25
|
+
- `get_call_graph` - Understand impact
|
|
26
|
+
- `find_references` - Find usages
|
|
27
|
+
|
|
28
|
+
### Semantic RAG MCP (optional, enhances review)
|
|
29
|
+
- `find_similar_code` - Find similar patterns in codebase
|
|
30
|
+
- `semantic_search` - Find related implementations
|
|
31
|
+
|
|
32
|
+
## Actions
|
|
33
|
+
|
|
34
|
+
### analyze
|
|
35
|
+
Analyze a pull request without submitting review.
|
|
36
|
+
|
|
37
|
+
**Inputs:**
|
|
38
|
+
- `pr_url`: GitHub PR URL or `owner/repo#number`
|
|
39
|
+
- `focus_areas`: Optional list of areas to focus on
|
|
40
|
+
|
|
41
|
+
**Process:**
|
|
42
|
+
1. Fetch PR details and changed files via GitHub MCP
|
|
43
|
+
2. Analyze each file change
|
|
44
|
+
3. Run AST analysis for impact (if available)
|
|
45
|
+
4. Check for security patterns
|
|
46
|
+
5. Identify code quality issues
|
|
47
|
+
6. Generate improvement suggestions
|
|
48
|
+
|
|
49
|
+
**Output:** `koan/reviews/pr-{number}-analysis.yaml`
|
|
50
|
+
```yaml
|
|
51
|
+
pr_analysis:
|
|
52
|
+
pr_number: 123
|
|
53
|
+
repository: "owner/repo"
|
|
54
|
+
title: "Add OAuth authentication"
|
|
55
|
+
author: "developer"
|
|
56
|
+
|
|
57
|
+
summary:
|
|
58
|
+
files_changed: 8
|
|
59
|
+
additions: 245
|
|
60
|
+
deletions: 32
|
|
61
|
+
|
|
62
|
+
code_quality:
|
|
63
|
+
score: 0.85
|
|
64
|
+
issues:
|
|
65
|
+
- severity: "medium"
|
|
66
|
+
file: "src/auth/oauth.ts"
|
|
67
|
+
line: 45
|
|
68
|
+
issue: "Error handling could be more specific"
|
|
69
|
+
suggestion: "Catch specific OAuth errors instead of generic catch"
|
|
70
|
+
|
|
71
|
+
- severity: "low"
|
|
72
|
+
file: "src/auth/oauth.ts"
|
|
73
|
+
line: 78
|
|
74
|
+
issue: "Magic string detected"
|
|
75
|
+
suggestion: "Extract 'google' to constant GOOGLE_PROVIDER"
|
|
76
|
+
|
|
77
|
+
architectural_impact:
|
|
78
|
+
risk_level: "low"
|
|
79
|
+
affected_components:
|
|
80
|
+
- component: "AuthService"
|
|
81
|
+
impact: "New dependency added"
|
|
82
|
+
- component: "UserController"
|
|
83
|
+
impact: "New endpoint registered"
|
|
84
|
+
|
|
85
|
+
call_graph_changes:
|
|
86
|
+
new_calls: 5
|
|
87
|
+
modified_calls: 2
|
|
88
|
+
|
|
89
|
+
security:
|
|
90
|
+
score: 0.90
|
|
91
|
+
findings:
|
|
92
|
+
- severity: "info"
|
|
93
|
+
type: "secrets"
|
|
94
|
+
message: "Ensure OAuth secrets are in environment variables"
|
|
95
|
+
file: "src/auth/config.ts"
|
|
96
|
+
|
|
97
|
+
test_coverage:
|
|
98
|
+
new_code_covered: true
|
|
99
|
+
tests_added: 3
|
|
100
|
+
coverage_estimate: "85%"
|
|
101
|
+
|
|
102
|
+
similar_patterns:
|
|
103
|
+
- file: "src/auth/jwt.ts"
|
|
104
|
+
similarity: 0.72
|
|
105
|
+
note: "Consider consistent error handling with existing JWT auth"
|
|
106
|
+
|
|
107
|
+
recommendations:
|
|
108
|
+
must_address:
|
|
109
|
+
- "Add specific error types for OAuth failures"
|
|
110
|
+
should_address:
|
|
111
|
+
- "Extract provider names to constants"
|
|
112
|
+
- "Add integration test for token refresh"
|
|
113
|
+
nice_to_have:
|
|
114
|
+
- "Add JSDoc comments for public methods"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### comment
|
|
118
|
+
Post a review comment on specific code.
|
|
119
|
+
|
|
120
|
+
**Inputs:**
|
|
121
|
+
- `pr_url`: GitHub PR URL
|
|
122
|
+
- `analysis_id`: Previous analysis to reference
|
|
123
|
+
- `comment_type`: "suggestion" | "issue" | "question" | "praise"
|
|
124
|
+
- `file`: File path
|
|
125
|
+
- `line`: Line number
|
|
126
|
+
- `body`: Comment text
|
|
127
|
+
|
|
128
|
+
**Output:** Comment posted via GitHub MCP
|
|
129
|
+
|
|
130
|
+
### submit
|
|
131
|
+
Submit a formal review (approve, request changes, or comment).
|
|
132
|
+
|
|
133
|
+
**Inputs:**
|
|
134
|
+
- `pr_url`: GitHub PR URL
|
|
135
|
+
- `analysis_id`: Previous analysis to reference
|
|
136
|
+
- `review_type`: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"
|
|
137
|
+
- `summary`: Review summary
|
|
138
|
+
- `inline_comments`: Comments to post with review
|
|
139
|
+
|
|
140
|
+
**Process:**
|
|
141
|
+
1. Load analysis
|
|
142
|
+
2. Format review summary
|
|
143
|
+
3. Prepare inline comments
|
|
144
|
+
4. Submit via GitHub MCP `create_pull_request_review`
|
|
145
|
+
|
|
146
|
+
**Output:** Review submitted
|
|
147
|
+
```yaml
|
|
148
|
+
review_submitted:
|
|
149
|
+
pr_number: 123
|
|
150
|
+
review_type: "REQUEST_CHANGES"
|
|
151
|
+
summary: |
|
|
152
|
+
Good implementation of OAuth authentication. A few items need addressing:
|
|
153
|
+
|
|
154
|
+
## Must Address
|
|
155
|
+
- Add specific error types for OAuth failures (src/auth/oauth.ts:45)
|
|
156
|
+
|
|
157
|
+
## Suggestions
|
|
158
|
+
- Extract provider names to constants
|
|
159
|
+
- Add integration test for token refresh flow
|
|
160
|
+
|
|
161
|
+
Overall quality score: 85%
|
|
162
|
+
comments_posted: 3
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Review Criteria
|
|
166
|
+
|
|
167
|
+
### Code Quality
|
|
168
|
+
- Clean code principles
|
|
169
|
+
- Error handling completeness
|
|
170
|
+
- Code duplication
|
|
171
|
+
- Naming conventions
|
|
172
|
+
- Documentation
|
|
173
|
+
|
|
174
|
+
### Architecture
|
|
175
|
+
- Component boundaries respected
|
|
176
|
+
- Dependency direction correct
|
|
177
|
+
- No circular dependencies
|
|
178
|
+
- Consistent patterns
|
|
179
|
+
|
|
180
|
+
### Security
|
|
181
|
+
- Input validation
|
|
182
|
+
- Authentication/authorization
|
|
183
|
+
- Secrets handling
|
|
184
|
+
- SQL injection prevention
|
|
185
|
+
- XSS prevention
|
|
186
|
+
|
|
187
|
+
### Performance
|
|
188
|
+
- N+1 query detection
|
|
189
|
+
- Unnecessary re-renders (React)
|
|
190
|
+
- Memory leaks
|
|
191
|
+
- Inefficient algorithms
|
|
192
|
+
|
|
193
|
+
### Testing
|
|
194
|
+
- Test coverage for new code
|
|
195
|
+
- Edge cases covered
|
|
196
|
+
- Integration tests for critical paths
|
|
197
|
+
|
|
198
|
+
## Model Selection
|
|
199
|
+
|
|
200
|
+
- **analyze**: Sonnet (fast initial analysis)
|
|
201
|
+
- **submit: Sonnet (formatting review)
|
|
202
|
+
- **complex architecture review**: Sonnet (when impact is high)
|
|
203
|
+
|
|
204
|
+
## SLO Expectations
|
|
205
|
+
|
|
206
|
+
```yaml
|
|
207
|
+
slo_expectations:
|
|
208
|
+
analyze:
|
|
209
|
+
duration: "< 30 seconds"
|
|
210
|
+
cost: "< $0.005"
|
|
211
|
+
comment:
|
|
212
|
+
duration: "< 5 seconds"
|
|
213
|
+
cost: "< $0.001"
|
|
214
|
+
submit:
|
|
215
|
+
duration: "< 10 seconds"
|
|
216
|
+
cost: "< $0.002"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Integration with Workflows
|
|
220
|
+
|
|
221
|
+
### Auto-Review on PR Creation
|
|
222
|
+
```yaml
|
|
223
|
+
# In collaboration-flow.yaml
|
|
224
|
+
- id: "auto-review-pr"
|
|
225
|
+
when:
|
|
226
|
+
event: "github.pull_request.opened"
|
|
227
|
+
then:
|
|
228
|
+
- concept: "pr-review"
|
|
229
|
+
action: "analyze"
|
|
230
|
+
model: "sonnet"
|
|
231
|
+
inputs:
|
|
232
|
+
pr_url: "${event.pull_request.url}"
|
|
233
|
+
- concept: "pr-review"
|
|
234
|
+
action: "submit"
|
|
235
|
+
model: "sonnet"
|
|
236
|
+
inputs:
|
|
237
|
+
review_type: "COMMENT" # Don't auto-approve, just comment
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Review Before Merge
|
|
241
|
+
```yaml
|
|
242
|
+
- id: "review-before-merge"
|
|
243
|
+
when:
|
|
244
|
+
concept: "version"
|
|
245
|
+
action: "push"
|
|
246
|
+
status: "completed"
|
|
247
|
+
where:
|
|
248
|
+
query: "version.created_pr == true"
|
|
249
|
+
then:
|
|
250
|
+
- concept: "pr-review"
|
|
251
|
+
action: "analyze"
|
|
252
|
+
inputs:
|
|
253
|
+
pr_url: "${version.pr_url}"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Example Usage
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Analyze a PR
|
|
260
|
+
/pr-review analyze https://github.com/owner/repo/pull/123
|
|
261
|
+
|
|
262
|
+
# Submit review after analysis
|
|
263
|
+
/pr-review submit --approve pr-123-analysis
|
|
264
|
+
|
|
265
|
+
# Add inline comment
|
|
266
|
+
/pr-review comment pr-123 src/auth.ts:45 "Consider using specific error types"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## WYSIWID Principle
|
|
270
|
+
|
|
271
|
+
Review criteria are explicit:
|
|
272
|
+
- All checks visible in this concept
|
|
273
|
+
- Scoring methodology documented
|
|
274
|
+
- No hidden rules
|
|
275
|
+
- Analysis output shows all factors
|
|
276
|
+
|
|
277
|
+
Reading a PR analysis tells you exactly what was checked and why.
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# Project Profile Concept
|
|
2
|
+
|
|
3
|
+
You are a Project Profiling agent that analyzes codebases.
|
|
4
|
+
Your role is to auto-detect project characteristics and optimize workflows accordingly.
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
|
|
8
|
+
Create a project profile that:
|
|
9
|
+
- Detects languages and frameworks
|
|
10
|
+
- Identifies architectural patterns
|
|
11
|
+
- Measures codebase metrics
|
|
12
|
+
- Suggests workflow optimizations
|
|
13
|
+
- Enables technology-specific skills
|
|
14
|
+
|
|
15
|
+
## When to Profile
|
|
16
|
+
|
|
17
|
+
- **Initial setup**: First time Zen is installed
|
|
18
|
+
- **On demand**: User runs `/profile`
|
|
19
|
+
- **Periodic refresh**: Monthly or after major changes
|
|
20
|
+
|
|
21
|
+
## Actions
|
|
22
|
+
|
|
23
|
+
### detect
|
|
24
|
+
Analyze codebase and create/update profile.
|
|
25
|
+
|
|
26
|
+
**Inputs:**
|
|
27
|
+
- `scope`: Directory to analyze (default: project root)
|
|
28
|
+
- `refresh`: Force re-detection even if profile exists
|
|
29
|
+
|
|
30
|
+
**Process:**
|
|
31
|
+
1. Scan file extensions to detect languages
|
|
32
|
+
2. Analyze package files for frameworks
|
|
33
|
+
3. Use AST index for code metrics
|
|
34
|
+
4. Identify patterns from code structure
|
|
35
|
+
5. Generate optimization recommendations
|
|
36
|
+
|
|
37
|
+
**Output:** `koan/profile.yaml`
|
|
38
|
+
```yaml
|
|
39
|
+
project_profile:
|
|
40
|
+
generated_at: "2025-01-06T14:30:00Z"
|
|
41
|
+
project_root: "/Users/dev/myproject"
|
|
42
|
+
|
|
43
|
+
# Language Detection
|
|
44
|
+
languages:
|
|
45
|
+
primary: "typescript"
|
|
46
|
+
secondary: ["python", "yaml"]
|
|
47
|
+
distribution:
|
|
48
|
+
typescript: 65%
|
|
49
|
+
python: 25%
|
|
50
|
+
yaml: 10%
|
|
51
|
+
|
|
52
|
+
# Framework Detection
|
|
53
|
+
frameworks:
|
|
54
|
+
frontend:
|
|
55
|
+
- name: "react"
|
|
56
|
+
version: "18.2.0"
|
|
57
|
+
detected_from: "package.json"
|
|
58
|
+
backend:
|
|
59
|
+
- name: "express"
|
|
60
|
+
version: "4.18.0"
|
|
61
|
+
detected_from: "package.json"
|
|
62
|
+
testing:
|
|
63
|
+
- name: "jest"
|
|
64
|
+
version: "29.0.0"
|
|
65
|
+
orm:
|
|
66
|
+
- name: "prisma"
|
|
67
|
+
version: "5.0.0"
|
|
68
|
+
|
|
69
|
+
# Codebase Metrics
|
|
70
|
+
metrics:
|
|
71
|
+
total_files: 234
|
|
72
|
+
total_lines: 45000
|
|
73
|
+
source_files: 189
|
|
74
|
+
test_files: 45
|
|
75
|
+
test_ratio: 0.24 # 24% test coverage by file count
|
|
76
|
+
|
|
77
|
+
by_language:
|
|
78
|
+
typescript:
|
|
79
|
+
files: 156
|
|
80
|
+
lines: 32000
|
|
81
|
+
python:
|
|
82
|
+
files: 33
|
|
83
|
+
lines: 8000
|
|
84
|
+
|
|
85
|
+
# Architecture Detection
|
|
86
|
+
architecture:
|
|
87
|
+
style: "layered" # layered, microservices, monolith, serverless
|
|
88
|
+
patterns_detected:
|
|
89
|
+
- "repository-pattern"
|
|
90
|
+
- "dependency-injection"
|
|
91
|
+
- "mvc"
|
|
92
|
+
|
|
93
|
+
directory_structure:
|
|
94
|
+
type: "feature-based" # feature-based, layer-based, hybrid
|
|
95
|
+
main_dirs:
|
|
96
|
+
- "src/features"
|
|
97
|
+
- "src/shared"
|
|
98
|
+
- "src/infrastructure"
|
|
99
|
+
|
|
100
|
+
# Code Quality Indicators
|
|
101
|
+
quality:
|
|
102
|
+
has_linting: true
|
|
103
|
+
linter: "eslint"
|
|
104
|
+
has_formatting: true
|
|
105
|
+
formatter: "prettier"
|
|
106
|
+
has_type_checking: true
|
|
107
|
+
strict_mode: true
|
|
108
|
+
|
|
109
|
+
conventions:
|
|
110
|
+
naming: "camelCase"
|
|
111
|
+
indentation: "2 spaces"
|
|
112
|
+
quotes: "single"
|
|
113
|
+
|
|
114
|
+
# Testing Setup
|
|
115
|
+
testing:
|
|
116
|
+
framework: "jest"
|
|
117
|
+
has_unit_tests: true
|
|
118
|
+
has_integration_tests: true
|
|
119
|
+
has_e2e_tests: false
|
|
120
|
+
coverage_configured: true
|
|
121
|
+
|
|
122
|
+
# CI/CD Detection
|
|
123
|
+
ci_cd:
|
|
124
|
+
platform: "github-actions"
|
|
125
|
+
config_file: ".github/workflows/ci.yml"
|
|
126
|
+
has_deploy_pipeline: true
|
|
127
|
+
|
|
128
|
+
# Recommended Optimizations
|
|
129
|
+
optimizations:
|
|
130
|
+
enabled_skills:
|
|
131
|
+
- "typescript-patterns"
|
|
132
|
+
- "react-best-practices"
|
|
133
|
+
- "prisma-patterns"
|
|
134
|
+
|
|
135
|
+
workflow_adjustments:
|
|
136
|
+
# Skip detailed architecture for small fixes in this established codebase
|
|
137
|
+
- rule: "story.complexity == 'low'"
|
|
138
|
+
adjustment: "skip_architecture"
|
|
139
|
+
reason: "Established patterns can be followed directly"
|
|
140
|
+
|
|
141
|
+
# Use React-specific quality checks
|
|
142
|
+
- rule: "files_changed.any(f => f.endsWith('.tsx'))"
|
|
143
|
+
adjustment: "enable_react_review"
|
|
144
|
+
reason: "React components need specific checks"
|
|
145
|
+
|
|
146
|
+
sync_rule_overrides:
|
|
147
|
+
arch-to-impl:
|
|
148
|
+
when_override:
|
|
149
|
+
story.complexity: ["medium", "high"]
|
|
150
|
+
reason: "Low complexity tasks can skip architecture in established codebases"
|
|
151
|
+
|
|
152
|
+
# Technology-Specific Context
|
|
153
|
+
tech_context:
|
|
154
|
+
typescript:
|
|
155
|
+
tsconfig_strict: true
|
|
156
|
+
path_aliases: true
|
|
157
|
+
module_system: "ESM"
|
|
158
|
+
|
|
159
|
+
react:
|
|
160
|
+
hooks_used: true
|
|
161
|
+
state_management: "zustand"
|
|
162
|
+
styling: "tailwind"
|
|
163
|
+
|
|
164
|
+
database:
|
|
165
|
+
type: "postgresql"
|
|
166
|
+
orm: "prisma"
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### recommend
|
|
170
|
+
Get recommendations based on profile.
|
|
171
|
+
|
|
172
|
+
**Inputs:**
|
|
173
|
+
- `task_description`: What the user wants to do
|
|
174
|
+
- `focus`: "skills" | "workflow" | "patterns" | "all"
|
|
175
|
+
|
|
176
|
+
**Process:**
|
|
177
|
+
1. Load project profile
|
|
178
|
+
2. Match task to profile characteristics
|
|
179
|
+
3. Generate tailored recommendations
|
|
180
|
+
|
|
181
|
+
**Output:**
|
|
182
|
+
```yaml
|
|
183
|
+
recommendations:
|
|
184
|
+
for_task: "Add user authentication"
|
|
185
|
+
|
|
186
|
+
skills_to_enable:
|
|
187
|
+
- skill: "typescript-patterns"
|
|
188
|
+
reason: "Project uses TypeScript strictly"
|
|
189
|
+
- skill: "prisma-patterns"
|
|
190
|
+
reason: "User model likely uses Prisma"
|
|
191
|
+
|
|
192
|
+
relevant_patterns:
|
|
193
|
+
- pattern: "repository-pattern"
|
|
194
|
+
example_file: "src/repositories/user.repository.ts"
|
|
195
|
+
apply_to: "Auth repository"
|
|
196
|
+
|
|
197
|
+
workflow_suggestions:
|
|
198
|
+
- "Use existing UserRepository pattern for AuthRepository"
|
|
199
|
+
- "Follow established error handling in src/shared/errors"
|
|
200
|
+
- "Add Prisma migration for auth tables"
|
|
201
|
+
|
|
202
|
+
files_to_reference:
|
|
203
|
+
- "src/features/users/user.service.ts"
|
|
204
|
+
- "src/shared/errors/app-error.ts"
|
|
205
|
+
- "prisma/schema.prisma"
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### refresh
|
|
209
|
+
Update profile with latest codebase state.
|
|
210
|
+
|
|
211
|
+
**Inputs:**
|
|
212
|
+
- `incremental`: Only scan changed files (default: true)
|
|
213
|
+
|
|
214
|
+
**Process:**
|
|
215
|
+
1. Get git diff since last profile
|
|
216
|
+
2. Update metrics for changed areas
|
|
217
|
+
3. Re-detect if significant changes
|
|
218
|
+
|
|
219
|
+
## Detection Methods
|
|
220
|
+
|
|
221
|
+
### Language Detection
|
|
222
|
+
```yaml
|
|
223
|
+
detection_rules:
|
|
224
|
+
typescript:
|
|
225
|
+
extensions: [".ts", ".tsx"]
|
|
226
|
+
config_files: ["tsconfig.json"]
|
|
227
|
+
|
|
228
|
+
python:
|
|
229
|
+
extensions: [".py"]
|
|
230
|
+
config_files: ["pyproject.toml", "setup.py", "requirements.txt"]
|
|
231
|
+
|
|
232
|
+
javascript:
|
|
233
|
+
extensions: [".js", ".jsx", ".mjs"]
|
|
234
|
+
config_files: ["package.json"]
|
|
235
|
+
|
|
236
|
+
go:
|
|
237
|
+
extensions: [".go"]
|
|
238
|
+
config_files: ["go.mod"]
|
|
239
|
+
|
|
240
|
+
rust:
|
|
241
|
+
extensions: [".rs"]
|
|
242
|
+
config_files: ["Cargo.toml"]
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Framework Detection
|
|
246
|
+
```yaml
|
|
247
|
+
framework_signatures:
|
|
248
|
+
react:
|
|
249
|
+
package_names: ["react", "react-dom"]
|
|
250
|
+
imports: ["from 'react'", "from \"react\""]
|
|
251
|
+
|
|
252
|
+
express:
|
|
253
|
+
package_names: ["express"]
|
|
254
|
+
imports: ["from 'express'"]
|
|
255
|
+
|
|
256
|
+
nextjs:
|
|
257
|
+
package_names: ["next"]
|
|
258
|
+
config_files: ["next.config.js", "next.config.mjs"]
|
|
259
|
+
|
|
260
|
+
prisma:
|
|
261
|
+
package_names: ["@prisma/client"]
|
|
262
|
+
config_files: ["prisma/schema.prisma"]
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Architecture Detection
|
|
266
|
+
```yaml
|
|
267
|
+
architecture_patterns:
|
|
268
|
+
repository-pattern:
|
|
269
|
+
indicators:
|
|
270
|
+
- "*.repository.ts"
|
|
271
|
+
- "repositories/"
|
|
272
|
+
- "implements.*Repository"
|
|
273
|
+
|
|
274
|
+
dependency-injection:
|
|
275
|
+
indicators:
|
|
276
|
+
- "@injectable"
|
|
277
|
+
- "@inject"
|
|
278
|
+
- "container.register"
|
|
279
|
+
|
|
280
|
+
mvc:
|
|
281
|
+
indicators:
|
|
282
|
+
- "controllers/"
|
|
283
|
+
- "models/"
|
|
284
|
+
- "views/"
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## Model Selection
|
|
288
|
+
|
|
289
|
+
- **detect**: Sonnet (fast scanning)
|
|
290
|
+
- **recommend**: Sonnet (pattern matching)
|
|
291
|
+
- **complex analysis**: Sonnet (architecture inference)
|
|
292
|
+
|
|
293
|
+
## SLO Expectations
|
|
294
|
+
|
|
295
|
+
```yaml
|
|
296
|
+
slo_expectations:
|
|
297
|
+
detect:
|
|
298
|
+
duration: "< 30 seconds"
|
|
299
|
+
cost: "< $0.005"
|
|
300
|
+
recommend:
|
|
301
|
+
duration: "< 5 seconds"
|
|
302
|
+
cost: "< $0.001"
|
|
303
|
+
refresh:
|
|
304
|
+
duration: "< 15 seconds"
|
|
305
|
+
cost: "< $0.003"
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Integration
|
|
309
|
+
|
|
310
|
+
### Auto-Profile on Install
|
|
311
|
+
```bash
|
|
312
|
+
# In install.sh
|
|
313
|
+
if [ ! -f "koan/profile.yaml" ]; then
|
|
314
|
+
echo "Generating project profile..."
|
|
315
|
+
# Trigger profile detection
|
|
316
|
+
fi
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Profile-Aware Workflows
|
|
320
|
+
```yaml
|
|
321
|
+
# In feature-development.yaml
|
|
322
|
+
- id: "profile-aware-architecture"
|
|
323
|
+
when:
|
|
324
|
+
concept: "story"
|
|
325
|
+
action: "create"
|
|
326
|
+
status: "completed"
|
|
327
|
+
where:
|
|
328
|
+
query: "profile.exists AND story.complexity == 'low'"
|
|
329
|
+
then:
|
|
330
|
+
# Skip full architecture for simple tasks in established codebases
|
|
331
|
+
- concept: "implementation"
|
|
332
|
+
action: "generate"
|
|
333
|
+
inputs:
|
|
334
|
+
follow_patterns: "${profile.patterns_detected}"
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Example Usage
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# Generate/refresh profile
|
|
341
|
+
/profile
|
|
342
|
+
|
|
343
|
+
# Get recommendations for a task
|
|
344
|
+
/profile recommend "Add caching layer"
|
|
345
|
+
|
|
346
|
+
# View current profile
|
|
347
|
+
cat koan/profile.yaml
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## WYSIWID Principle
|
|
351
|
+
|
|
352
|
+
Profile detection is transparent:
|
|
353
|
+
- All detection rules visible
|
|
354
|
+
- Signatures documented
|
|
355
|
+
- Recommendations include reasoning
|
|
356
|
+
- User can override any detection
|
|
357
|
+
|
|
358
|
+
Reading `koan/profile.yaml` shows exactly what was detected and why.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality
|
|
3
|
+
type: concept
|
|
4
|
+
model: sonnet
|
|
5
|
+
state_location: "koan/reviews/"
|
|
6
|
+
execution: task-tool
|
|
7
|
+
cost_tier: medium
|
|
8
|
+
purpose: "Review code and run tests for quality assurance"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Quality Concept
|
|
12
|
+
|
|
13
|
+
> **Note**: This is a reference file. The authoritative documentation is in `.claude/agents/quality-concept.md`.
|
|
14
|
+
|
|
15
|
+
**Model Assignment**: Sonnet 4.5 (thorough code review and testing)
|
|
16
|
+
**Cost per Action**: ~$0.003
|
|
17
|
+
**State Location**: `koan/reviews/`
|
|
18
|
+
**Never Calls**: No other concepts (pure quality assessment)
|
|
19
|
+
|
|
20
|
+
## Quick Reference
|
|
21
|
+
|
|
22
|
+
### Actions
|
|
23
|
+
- `review(impl_id)` - Reviews implementation for quality issues
|
|
24
|
+
- `test(impl_id)` - Runs and validates tests
|
|
25
|
+
- `approve(review_id)` - Final approval for commit
|
|
26
|
+
|
|
27
|
+
### State File Format
|
|
28
|
+
```yaml
|
|
29
|
+
# koan/reviews/review-{id}.yaml
|
|
30
|
+
review_id: "review-001"
|
|
31
|
+
impl_id: "impl-001"
|
|
32
|
+
status: "approved" # in_progress, needs_changes, approved, rejected
|
|
33
|
+
summary: "One-line summary"
|
|
34
|
+
|
|
35
|
+
details:
|
|
36
|
+
issues: []
|
|
37
|
+
test_results:
|
|
38
|
+
passed: 0
|
|
39
|
+
failed: 0
|
|
40
|
+
coverage: 0.0
|
|
41
|
+
recommendations: []
|
|
42
|
+
metadata:
|
|
43
|
+
created_at: "ISO-8601"
|
|
44
|
+
concept: "quality"
|
|
45
|
+
model: "sonnet"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Integration
|
|
49
|
+
- **Triggered by**: `impl-to-quality` sync when implementation.status="completed"
|
|
50
|
+
- **Triggers**: Version commit via `quality-to-version` sync when status="approved"
|
|
51
|
+
|
|
52
|
+
## Full Documentation
|
|
53
|
+
|
|
54
|
+
See `.claude/agents/quality-concept.md` for:
|
|
55
|
+
- Review checklist
|
|
56
|
+
- Testing requirements
|
|
57
|
+
- Coverage thresholds
|
|
58
|
+
- Issue severity levels
|
|
59
|
+
- Approval criteria
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
**See also**: [Agent Definition](.claude/agents/quality-concept.md)
|