@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,480 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: IDE Diagnostics
|
|
3
|
+
description: Interpret and act on IDE diagnostics (TypeScript, ESLint errors) during quality review
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger_keywords: [diagnostics, typescript, eslint, build error, type error, lint, compiler]
|
|
6
|
+
author: Zen Architecture
|
|
7
|
+
applies_to: [quality-concept]
|
|
8
|
+
priority: P0
|
|
9
|
+
impact: critical
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# IDE Diagnostics - Expert Skill
|
|
13
|
+
|
|
14
|
+
Catch build errors, type issues, and lint violations before code review using Claude Code's native IDE diagnostics.
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
IDE diagnostics integration provides:
|
|
19
|
+
- **Early error detection**: Catch TypeScript/ESLint errors before manual review
|
|
20
|
+
- **Automated quality gates**: Block reviews if critical diagnostics exist
|
|
21
|
+
- **Fast feedback**: Native IDE diagnostics are instant (no separate build step)
|
|
22
|
+
- **Comprehensive coverage**: All compiler and linter errors in one place
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
Use IDE diagnostics during quality review when:
|
|
27
|
+
- ✅ Reviewing TypeScript/JavaScript code
|
|
28
|
+
- ✅ Before running code review checks
|
|
29
|
+
- ✅ After implementation is complete
|
|
30
|
+
- ✅ To validate build will succeed
|
|
31
|
+
|
|
32
|
+
## Diagnostic Categories
|
|
33
|
+
|
|
34
|
+
### 1. TypeScript Compiler Errors (Blocking)
|
|
35
|
+
|
|
36
|
+
**Examples**:
|
|
37
|
+
```typescript
|
|
38
|
+
// TS2345: Argument of type 'string' is not assignable to parameter of type 'number'
|
|
39
|
+
function add(a: number, b: number) { return a + b; }
|
|
40
|
+
add("5", 10);
|
|
41
|
+
|
|
42
|
+
// TS2304: Cannot find name 'User'
|
|
43
|
+
const user: User = { name: "Alice" };
|
|
44
|
+
|
|
45
|
+
// TS2339: Property 'username' does not exist on type 'User'
|
|
46
|
+
const name = user.username;
|
|
47
|
+
|
|
48
|
+
// TS2322: Type 'null' is not assignable to type 'string'
|
|
49
|
+
const name: string = null;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Severity**: Critical (blocking)
|
|
53
|
+
**Response**: Fail review, fix before proceeding
|
|
54
|
+
|
|
55
|
+
### 2. TypeScript Strict Mode Violations (Blocking)
|
|
56
|
+
|
|
57
|
+
**Examples**:
|
|
58
|
+
```typescript
|
|
59
|
+
// TS2531: Object is possibly 'null'
|
|
60
|
+
function getLength(str: string | null) {
|
|
61
|
+
return str.length; // Error: str might be null
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// TS2532: Object is possibly 'undefined'
|
|
65
|
+
function getValue(obj?: { value: string }) {
|
|
66
|
+
return obj.value; // Error: obj might be undefined
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// TS7006: Parameter implicitly has 'any' type
|
|
70
|
+
function process(data) { // Error: no type annotation
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Severity**: Critical (blocking)
|
|
76
|
+
**Response**: Fail review, fix type safety issues
|
|
77
|
+
|
|
78
|
+
### 3. ESLint Errors (Blocking)
|
|
79
|
+
|
|
80
|
+
**Examples**:
|
|
81
|
+
```javascript
|
|
82
|
+
// no-unused-vars: 'userId' is defined but never used
|
|
83
|
+
const userId = getUserId();
|
|
84
|
+
|
|
85
|
+
// no-undef: 'process' is not defined (missing types)
|
|
86
|
+
const env = process.env.NODE_ENV;
|
|
87
|
+
|
|
88
|
+
// @typescript-eslint/no-explicit-any: Unexpected any
|
|
89
|
+
function handle(data: any) { }
|
|
90
|
+
|
|
91
|
+
// prefer-const: 'x' is never reassigned. Use 'const' instead
|
|
92
|
+
let x = 5;
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Severity**: High (blocking)
|
|
96
|
+
**Response**: Fail review, fix ESLint errors
|
|
97
|
+
|
|
98
|
+
### 4. ESLint Warnings (Non-blocking)
|
|
99
|
+
|
|
100
|
+
**Examples**:
|
|
101
|
+
```javascript
|
|
102
|
+
// @typescript-eslint/no-unused-vars: '_' is defined but never used
|
|
103
|
+
const [first, _] = arr;
|
|
104
|
+
|
|
105
|
+
// no-console: Unexpected console statement
|
|
106
|
+
console.log('Debug info');
|
|
107
|
+
|
|
108
|
+
// complexity: Function has complexity of 15. Maximum allowed is 10
|
|
109
|
+
function complex() { /* ... */ }
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Severity**: Medium (warning)
|
|
113
|
+
**Response**: Include in review notes, don't block
|
|
114
|
+
|
|
115
|
+
### 5. Import/Export Errors (Blocking)
|
|
116
|
+
|
|
117
|
+
**Examples**:
|
|
118
|
+
```typescript
|
|
119
|
+
// TS2307: Cannot find module './missing'
|
|
120
|
+
import { foo } from './missing';
|
|
121
|
+
|
|
122
|
+
// TS2305: Module has no exported member 'Bar'
|
|
123
|
+
import { Bar } from './types';
|
|
124
|
+
|
|
125
|
+
// TS1208: All files must be modules when '--isolatedModules' is enabled
|
|
126
|
+
const x = 5; // File with no imports/exports
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Severity**: Critical (blocking)
|
|
130
|
+
**Response**: Fail review, fix import errors
|
|
131
|
+
|
|
132
|
+
## Using mcp__ide__getDiagnostics
|
|
133
|
+
|
|
134
|
+
### Call Pattern
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// Get diagnostics for all files (use during review)
|
|
138
|
+
const allDiagnostics = await mcp__ide__getDiagnostics();
|
|
139
|
+
|
|
140
|
+
// Get diagnostics for specific file
|
|
141
|
+
const fileDiagnostics = await mcp__ide__getDiagnostics({
|
|
142
|
+
uri: 'file:///path/to/file.ts'
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Response Format
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"diagnostics": [
|
|
151
|
+
{
|
|
152
|
+
"uri": "file:///Users/kolb/project/src/user.service.ts",
|
|
153
|
+
"range": {
|
|
154
|
+
"start": { "line": 45, "character": 10 },
|
|
155
|
+
"end": { "line": 45, "character": 20 }
|
|
156
|
+
},
|
|
157
|
+
"severity": 1, // 1=Error, 2=Warning, 3=Info, 4=Hint
|
|
158
|
+
"code": "TS2345",
|
|
159
|
+
"source": "ts",
|
|
160
|
+
"message": "Argument of type 'string' is not assignable to parameter of type 'number'"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"uri": "file:///Users/kolb/project/src/auth.controller.ts",
|
|
164
|
+
"range": {
|
|
165
|
+
"start": { "line": 23, "character": 5 },
|
|
166
|
+
"end": { "line": 23, "character": 15 }
|
|
167
|
+
},
|
|
168
|
+
"severity": 1,
|
|
169
|
+
"code": "no-unused-vars",
|
|
170
|
+
"source": "eslint",
|
|
171
|
+
"message": "'userToken' is defined but never used."
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Diagnostic Processing Workflow
|
|
178
|
+
|
|
179
|
+
### 1. Fetch Diagnostics
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
step: fetch_diagnostics
|
|
183
|
+
when: "At start of quality review"
|
|
184
|
+
action: |
|
|
185
|
+
# Get diagnostics for all changed files
|
|
186
|
+
diagnostics = await mcp__ide__getDiagnostics()
|
|
187
|
+
|
|
188
|
+
# Filter to files in current implementation
|
|
189
|
+
relevant_diagnostics = filter_by_files(
|
|
190
|
+
diagnostics,
|
|
191
|
+
impl.files_created + impl.files_modified
|
|
192
|
+
)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 2. Categorize by Severity
|
|
196
|
+
|
|
197
|
+
```yaml
|
|
198
|
+
step: categorize
|
|
199
|
+
process: |
|
|
200
|
+
categorized = {
|
|
201
|
+
errors: [], # severity=1, blocking
|
|
202
|
+
warnings: [], # severity=2, note in review
|
|
203
|
+
info: [], # severity=3-4, ignore
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
for diagnostic in relevant_diagnostics:
|
|
207
|
+
if diagnostic.severity == 1:
|
|
208
|
+
categorized.errors.append(diagnostic)
|
|
209
|
+
elif diagnostic.severity == 2:
|
|
210
|
+
categorized.warnings.append(diagnostic)
|
|
211
|
+
else:
|
|
212
|
+
categorized.info.append(diagnostic)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### 3. Apply Blocking Policy
|
|
216
|
+
|
|
217
|
+
```yaml
|
|
218
|
+
step: apply_policy
|
|
219
|
+
blocking_conditions:
|
|
220
|
+
# Block review if any errors exist
|
|
221
|
+
- "errors.count > 0"
|
|
222
|
+
|
|
223
|
+
# Block if too many warnings (code smell)
|
|
224
|
+
- "warnings.count > 10"
|
|
225
|
+
|
|
226
|
+
non_blocking:
|
|
227
|
+
# Warnings < threshold: include in review notes
|
|
228
|
+
- "warnings.count <= 10"
|
|
229
|
+
|
|
230
|
+
# Info/hints: log but don't report
|
|
231
|
+
- "info.count > 0"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### 4. Generate Report
|
|
235
|
+
|
|
236
|
+
```yaml
|
|
237
|
+
step: generate_report
|
|
238
|
+
format: |
|
|
239
|
+
diagnostics:
|
|
240
|
+
status: "failed" # or "passed" if no blocking issues
|
|
241
|
+
summary:
|
|
242
|
+
errors: 3
|
|
243
|
+
warnings: 7
|
|
244
|
+
files_affected: 2
|
|
245
|
+
|
|
246
|
+
blocking_issues:
|
|
247
|
+
- file: "src/user.service.ts"
|
|
248
|
+
line: 45
|
|
249
|
+
code: "TS2345"
|
|
250
|
+
severity: "error"
|
|
251
|
+
source: "TypeScript"
|
|
252
|
+
message: "Argument of type 'string' is not assignable to parameter of type 'number'"
|
|
253
|
+
suggestion: "Check function signature and fix argument type"
|
|
254
|
+
|
|
255
|
+
- file: "src/auth.controller.ts"
|
|
256
|
+
line: 23
|
|
257
|
+
code: "no-unused-vars"
|
|
258
|
+
severity: "error"
|
|
259
|
+
source: "ESLint"
|
|
260
|
+
message: "'userToken' is defined but never used"
|
|
261
|
+
suggestion: "Remove unused variable or use it"
|
|
262
|
+
|
|
263
|
+
warnings:
|
|
264
|
+
- file: "src/utils/helper.ts"
|
|
265
|
+
line: 12
|
|
266
|
+
code: "complexity"
|
|
267
|
+
severity: "warning"
|
|
268
|
+
source: "ESLint"
|
|
269
|
+
message: "Function has complexity of 12. Maximum allowed is 10"
|
|
270
|
+
suggestion: "Refactor function to reduce complexity"
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Integration with Quality Concept
|
|
274
|
+
|
|
275
|
+
### Modified Review Workflow
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
quality_review_workflow:
|
|
279
|
+
steps:
|
|
280
|
+
# NEW STEP 1: IDE Diagnostics (before code review)
|
|
281
|
+
- name: "IDE Diagnostics Check"
|
|
282
|
+
tool: "mcp__ide__getDiagnostics"
|
|
283
|
+
blocking: true
|
|
284
|
+
policy:
|
|
285
|
+
block_on_errors: true
|
|
286
|
+
block_on_warnings_threshold: 10
|
|
287
|
+
ignore_info: true
|
|
288
|
+
|
|
289
|
+
# STEP 2: Security Scan (if diagnostics pass)
|
|
290
|
+
- name: "Security Vulnerability Scan"
|
|
291
|
+
tool: "security-scanner"
|
|
292
|
+
requires: "diagnostics.status == 'passed'"
|
|
293
|
+
|
|
294
|
+
# STEP 3: Code Review (if security pass)
|
|
295
|
+
- name: "Code Quality Review"
|
|
296
|
+
tool: "code-review"
|
|
297
|
+
requires: "security.status == 'passed'"
|
|
298
|
+
|
|
299
|
+
short_circuit:
|
|
300
|
+
- "diagnostics.errors > 0 → fail review immediately"
|
|
301
|
+
- "security.critical > 0 → fail review immediately"
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Review State Output
|
|
305
|
+
|
|
306
|
+
```yaml
|
|
307
|
+
# koan/reviews/review-{id}.yaml
|
|
308
|
+
|
|
309
|
+
review_id: "review-001"
|
|
310
|
+
impl_id: "impl-001"
|
|
311
|
+
status: "needs_changes" # Blocked by diagnostics
|
|
312
|
+
|
|
313
|
+
diagnostics:
|
|
314
|
+
status: "failed"
|
|
315
|
+
errors: 3
|
|
316
|
+
warnings: 7
|
|
317
|
+
files_affected: 2
|
|
318
|
+
|
|
319
|
+
summary: "3 TypeScript errors, 7 ESLint warnings"
|
|
320
|
+
|
|
321
|
+
blocking_issues:
|
|
322
|
+
- "TS2345: Type error in user.service.ts:45"
|
|
323
|
+
- "no-unused-vars: Unused variable in auth.controller.ts:23"
|
|
324
|
+
- "TS2531: Possible null reference in utils.ts:89"
|
|
325
|
+
|
|
326
|
+
action_required: "Fix all errors before review can proceed"
|
|
327
|
+
|
|
328
|
+
security_scan:
|
|
329
|
+
status: "not_run"
|
|
330
|
+
reason: "Blocked by diagnostics failures"
|
|
331
|
+
|
|
332
|
+
code_review:
|
|
333
|
+
status: "not_run"
|
|
334
|
+
reason: "Blocked by diagnostics failures"
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Common Diagnostic Patterns and Fixes
|
|
338
|
+
|
|
339
|
+
### TypeScript Type Errors
|
|
340
|
+
|
|
341
|
+
| Error Code | Pattern | Fix |
|
|
342
|
+
|------------|---------|-----|
|
|
343
|
+
| **TS2345** | Argument type mismatch | Add type conversion or fix signature |
|
|
344
|
+
| **TS2339** | Property doesn't exist | Add property to type or check spelling |
|
|
345
|
+
| **TS2531** | Object possibly null | Add null check or use optional chaining |
|
|
346
|
+
| **TS2532** | Object possibly undefined | Add undefined check or use default value |
|
|
347
|
+
| **TS7006** | Implicit any | Add explicit type annotation |
|
|
348
|
+
| **TS2322** | Type assignment error | Fix type or use type assertion |
|
|
349
|
+
|
|
350
|
+
### ESLint Errors
|
|
351
|
+
|
|
352
|
+
| Rule | Pattern | Fix |
|
|
353
|
+
|------|---------|-----|
|
|
354
|
+
| **no-unused-vars** | Variable defined but not used | Remove variable or use it |
|
|
355
|
+
| **@typescript-eslint/no-explicit-any** | Using `any` type | Replace with specific type |
|
|
356
|
+
| **prefer-const** | `let` never reassigned | Change to `const` |
|
|
357
|
+
| **no-undef** | Undefined variable | Import or define variable |
|
|
358
|
+
| **@typescript-eslint/no-non-null-assertion** | Using `!` operator | Use optional chaining instead |
|
|
359
|
+
|
|
360
|
+
### Import Errors
|
|
361
|
+
|
|
362
|
+
| Error Code | Pattern | Fix |
|
|
363
|
+
|------------|---------|-----|
|
|
364
|
+
| **TS2307** | Cannot find module | Check path, add file, or install package |
|
|
365
|
+
| **TS2305** | No exported member | Export member or fix import name |
|
|
366
|
+
| **TS1208** | File not a module | Add import/export to file |
|
|
367
|
+
|
|
368
|
+
## Auto-Fix Suggestions
|
|
369
|
+
|
|
370
|
+
### Generate Fix Recommendations
|
|
371
|
+
|
|
372
|
+
```yaml
|
|
373
|
+
fix_recommendation_engine:
|
|
374
|
+
TS2345: # Type mismatch
|
|
375
|
+
suggestion: |
|
|
376
|
+
The argument type doesn't match the parameter type.
|
|
377
|
+
|
|
378
|
+
Fix options:
|
|
379
|
+
1. Convert the argument: Number(argName)
|
|
380
|
+
2. Change parameter type to accept both
|
|
381
|
+
3. Update the argument to correct type
|
|
382
|
+
|
|
383
|
+
no-unused-vars: # Unused variable
|
|
384
|
+
suggestion: |
|
|
385
|
+
Variable is defined but never used.
|
|
386
|
+
|
|
387
|
+
Fix options:
|
|
388
|
+
1. Remove the variable declaration
|
|
389
|
+
2. Use the variable in the code
|
|
390
|
+
3. Prefix with _ if intentionally unused: const _unusedVar
|
|
391
|
+
|
|
392
|
+
TS2531: # Possibly null
|
|
393
|
+
suggestion: |
|
|
394
|
+
Object is possibly null.
|
|
395
|
+
|
|
396
|
+
Fix options:
|
|
397
|
+
1. Add null check: if (obj) { obj.method() }
|
|
398
|
+
2. Use optional chaining: obj?.method()
|
|
399
|
+
3. Use nullish coalescing: obj ?? defaultValue
|
|
400
|
+
4. Add type guard to narrow type
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
## Metrics and SLOs
|
|
404
|
+
|
|
405
|
+
```yaml
|
|
406
|
+
diagnostics_slo:
|
|
407
|
+
target_check_time: "< 2 seconds"
|
|
408
|
+
max_check_time: "< 5 seconds"
|
|
409
|
+
|
|
410
|
+
blocking_policy:
|
|
411
|
+
errors: "always_block"
|
|
412
|
+
warnings: "block_if > 10"
|
|
413
|
+
info: "never_block"
|
|
414
|
+
|
|
415
|
+
metrics_to_track:
|
|
416
|
+
- "diagnostic_check_duration_ms"
|
|
417
|
+
- "errors_per_review"
|
|
418
|
+
- "warnings_per_review"
|
|
419
|
+
- "files_with_errors"
|
|
420
|
+
- "most_common_error_codes"
|
|
421
|
+
- "time_to_fix_diagnostics"
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## Best Practices
|
|
425
|
+
|
|
426
|
+
1. ✅ **Run diagnostics first** - Before manual code review
|
|
427
|
+
2. ✅ **Block on all errors** - TypeScript and ESLint errors are critical
|
|
428
|
+
3. ✅ **Warn on many warnings** - > 10 warnings indicates code smell
|
|
429
|
+
4. ✅ **Provide fix suggestions** - Include remediation in report
|
|
430
|
+
5. ✅ **Filter to changed files** - Only check files in current implementation
|
|
431
|
+
6. ✅ **Include in provenance** - Track diagnostic failures
|
|
432
|
+
7. ✅ **Fast feedback** - IDE diagnostics are instant, use them
|
|
433
|
+
|
|
434
|
+
## Example: Full Diagnostic Check
|
|
435
|
+
|
|
436
|
+
```typescript
|
|
437
|
+
async function checkDiagnostics(implementation) {
|
|
438
|
+
// 1. Fetch diagnostics
|
|
439
|
+
const allDiagnostics = await mcp__ide__getDiagnostics();
|
|
440
|
+
|
|
441
|
+
// 2. Filter to implementation files
|
|
442
|
+
const changedFiles = [
|
|
443
|
+
...implementation.files_created,
|
|
444
|
+
...implementation.files_modified
|
|
445
|
+
].map(f => f.path);
|
|
446
|
+
|
|
447
|
+
const relevant = allDiagnostics.diagnostics.filter(d =>
|
|
448
|
+
changedFiles.some(f => d.uri.includes(f))
|
|
449
|
+
);
|
|
450
|
+
|
|
451
|
+
// 3. Categorize
|
|
452
|
+
const errors = relevant.filter(d => d.severity === 1);
|
|
453
|
+
const warnings = relevant.filter(d => d.severity === 2);
|
|
454
|
+
|
|
455
|
+
// 4. Check blocking conditions
|
|
456
|
+
const blocked = errors.length > 0 || warnings.length > 10;
|
|
457
|
+
|
|
458
|
+
// 5. Generate report
|
|
459
|
+
return {
|
|
460
|
+
status: blocked ? 'failed' : 'passed',
|
|
461
|
+
errors: errors.length,
|
|
462
|
+
warnings: warnings.length,
|
|
463
|
+
blocking_issues: errors.map(e => ({
|
|
464
|
+
file: extractFileName(e.uri),
|
|
465
|
+
line: e.range.start.line + 1,
|
|
466
|
+
code: e.code,
|
|
467
|
+
source: e.source,
|
|
468
|
+
message: e.message,
|
|
469
|
+
suggestion: getSuggestion(e.code)
|
|
470
|
+
})),
|
|
471
|
+
action_required: blocked ?
|
|
472
|
+
"Fix all errors before review can proceed" :
|
|
473
|
+
"No blocking issues"
|
|
474
|
+
};
|
|
475
|
+
}
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
**Use this skill when**: Beginning quality review for TypeScript/JavaScript code. IDE diagnostics provide instant, comprehensive error detection before manual review.
|