kirograph 0.27.2 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/dist/bin/commands/annotations.js +56 -0
- package/dist/bin/commands/annotations.js.map +7 -0
- package/dist/bin/commands/ast-rewrite.js +55 -0
- package/dist/bin/commands/ast-rewrite.js.map +7 -0
- package/dist/bin/commands/bench.js +103 -0
- package/dist/bin/commands/bench.js.map +7 -0
- package/dist/bin/commands/branch.js +133 -0
- package/dist/bin/commands/branch.js.map +7 -0
- package/dist/bin/commands/changelog.js +55 -0
- package/dist/bin/commands/changelog.js.map +7 -0
- package/dist/bin/commands/commit-context.js +55 -0
- package/dist/bin/commands/commit-context.js.map +7 -0
- package/dist/bin/commands/complexity.js +60 -0
- package/dist/bin/commands/complexity.js.map +7 -0
- package/dist/bin/commands/cost.js +146 -0
- package/dist/bin/commands/cost.js.map +7 -0
- package/dist/bin/commands/dependency-depth.js +55 -0
- package/dist/bin/commands/dependency-depth.js.map +7 -0
- package/dist/bin/commands/diff-context.js +55 -0
- package/dist/bin/commands/diff-context.js.map +7 -0
- package/dist/bin/commands/distribution.js +56 -0
- package/dist/bin/commands/distribution.js.map +7 -0
- package/dist/bin/commands/doc-coverage.js +56 -0
- package/dist/bin/commands/doc-coverage.js.map +7 -0
- package/dist/bin/commands/doctor.js +202 -0
- package/dist/bin/commands/doctor.js.map +7 -0
- package/dist/bin/commands/dsm.js +56 -0
- package/dist/bin/commands/dsm.js.map +7 -0
- package/dist/bin/commands/gini.js +55 -0
- package/dist/bin/commands/gini.js.map +7 -0
- package/dist/bin/commands/god-class.js +56 -0
- package/dist/bin/commands/god-class.js.map +7 -0
- package/dist/bin/commands/health.js +55 -0
- package/dist/bin/commands/health.js.map +7 -0
- package/dist/bin/commands/help.js +224 -45
- package/dist/bin/commands/help.js.map +2 -2
- package/dist/bin/commands/inheritance-depth.js +56 -0
- package/dist/bin/commands/inheritance-depth.js.map +7 -0
- package/dist/bin/commands/insert-at.js +55 -0
- package/dist/bin/commands/insert-at.js.map +7 -0
- package/dist/bin/commands/largest.js +56 -0
- package/dist/bin/commands/largest.js.map +7 -0
- package/dist/bin/commands/manifest.js +158 -0
- package/dist/bin/commands/manifest.js.map +7 -0
- package/dist/bin/commands/module-api.js +57 -0
- package/dist/bin/commands/module-api.js.map +7 -0
- package/dist/bin/commands/monitor.js +91 -0
- package/dist/bin/commands/monitor.js.map +7 -0
- package/dist/bin/commands/multi-replace.js +66 -0
- package/dist/bin/commands/multi-replace.js.map +7 -0
- package/dist/bin/commands/pr-context.js +55 -0
- package/dist/bin/commands/pr-context.js.map +7 -0
- package/dist/bin/commands/query.js +19 -1
- package/dist/bin/commands/query.js.map +3 -3
- package/dist/bin/commands/rank.js +56 -0
- package/dist/bin/commands/rank.js.map +7 -0
- package/dist/bin/commands/read.js +1 -1
- package/dist/bin/commands/read.js.map +2 -2
- package/dist/bin/commands/recursion.js +56 -0
- package/dist/bin/commands/recursion.js.map +7 -0
- package/dist/bin/commands/rename-preview.js +56 -0
- package/dist/bin/commands/rename-preview.js.map +7 -0
- package/dist/bin/commands/session.js +60 -0
- package/dist/bin/commands/session.js.map +7 -0
- package/dist/bin/commands/simplify-scan.js +56 -0
- package/dist/bin/commands/simplify-scan.js.map +7 -0
- package/dist/bin/commands/str-replace.js +55 -0
- package/dist/bin/commands/str-replace.js.map +7 -0
- package/dist/bin/commands/test-coverage.js +59 -0
- package/dist/bin/commands/test-coverage.js.map +7 -0
- package/dist/bin/commands/test-map.js +56 -0
- package/dist/bin/commands/test-map.js.map +7 -0
- package/dist/bin/commands/test-risk.js +59 -0
- package/dist/bin/commands/test-risk.js.map +7 -0
- package/dist/bin/commands/unused-imports.js +55 -0
- package/dist/bin/commands/unused-imports.js.map +7 -0
- package/dist/bin/commands/upgrade.js +78 -0
- package/dist/bin/commands/upgrade.js.map +7 -0
- package/dist/bin/installer/common.js +5 -1
- package/dist/bin/installer/common.js.map +2 -2
- package/dist/bin/installer/config-prompt.js +239 -93
- package/dist/bin/installer/config-prompt.js.map +3 -3
- package/dist/bin/installer/index.js +38 -6
- package/dist/bin/installer/index.js.map +2 -2
- package/dist/bin/installer/instructions.js +7 -11
- package/dist/bin/installer/instructions.js.map +2 -2
- package/dist/bin/installer/mcp.js.map +2 -2
- package/dist/bin/installer/steering.js +531 -100
- package/dist/bin/installer/steering.js.map +2 -2
- package/dist/bin/installer/targets/kiro.js +7 -3
- package/dist/bin/installer/targets/kiro.js.map +2 -2
- package/dist/bin/kirograph.js +73 -1
- package/dist/bin/kirograph.js.map +3 -3
- package/dist/config.js +26 -8
- package/dist/config.js.map +2 -2
- package/dist/core/branch-manager.js +111 -0
- package/dist/core/branch-manager.js.map +7 -0
- package/dist/core/pipeline.js +3 -3
- package/dist/core/pipeline.js.map +2 -2
- package/dist/db/database.js +34 -7
- package/dist/db/database.js.map +2 -2
- package/dist/db/schema.sql +7 -1
- package/dist/extraction/complexity.js +116 -0
- package/dist/extraction/complexity.js.map +7 -0
- package/dist/extraction/extractor.js +52 -1
- package/dist/extraction/extractor.js.map +2 -2
- package/dist/graph/git-context.js +229 -0
- package/dist/graph/git-context.js.map +7 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +2 -2
- package/dist/mcp/handler.js +446 -0
- package/dist/mcp/handler.js.map +7 -0
- package/dist/mcp/handlers/architecture.js +297 -0
- package/dist/mcp/handlers/architecture.js.map +7 -0
- package/dist/mcp/handlers/branch.js +175 -0
- package/dist/mcp/handlers/branch.js.map +7 -0
- package/dist/mcp/handlers/code-health.js +563 -0
- package/dist/mcp/handlers/code-health.js.map +7 -0
- package/dist/mcp/handlers/complexity.js +267 -0
- package/dist/mcp/handlers/complexity.js.map +7 -0
- package/dist/mcp/handlers/core.js +611 -0
- package/dist/mcp/handlers/core.js.map +7 -0
- package/dist/mcp/handlers/data.js +337 -0
- package/dist/mcp/handlers/data.js.map +7 -0
- package/dist/mcp/handlers/docs.js +159 -0
- package/dist/mcp/handlers/docs.js.map +7 -0
- package/dist/mcp/handlers/edit-primitives.js +200 -0
- package/dist/mcp/handlers/edit-primitives.js.map +7 -0
- package/dist/mcp/handlers/git-context.js +286 -0
- package/dist/mcp/handlers/git-context.js.map +7 -0
- package/dist/mcp/handlers/memory.js +363 -0
- package/dist/mcp/handlers/memory.js.map +7 -0
- package/dist/mcp/handlers/patterns.js +310 -0
- package/dist/mcp/handlers/patterns.js.map +7 -0
- package/dist/mcp/handlers/security.js +699 -0
- package/dist/mcp/handlers/security.js.map +7 -0
- package/dist/mcp/handlers/utils.js +97 -0
- package/dist/mcp/handlers/utils.js.map +7 -0
- package/dist/mcp/handlers/watchmen.js +104 -0
- package/dist/mcp/handlers/watchmen.js.map +7 -0
- package/dist/mcp/handlers/wiki.js +242 -0
- package/dist/mcp/handlers/wiki.js.map +7 -0
- package/dist/mcp/server.js +72 -3
- package/dist/mcp/server.js.map +2 -2
- package/dist/mcp/tool-names.js +94 -7
- package/dist/mcp/tool-names.js.map +2 -2
- package/dist/mcp/tools.js +445 -3210
- package/dist/mcp/tools.js.map +3 -3
- package/dist/types.js.map +2 -2
- package/package.json +36 -10
- package/dist/architecture/index.d.ts +0 -11
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/layers/csharp.d.ts +0 -6
- package/dist/architecture/layers/csharp.d.ts.map +0 -1
- package/dist/architecture/layers/dart.d.ts +0 -10
- package/dist/architecture/layers/dart.d.ts.map +0 -1
- package/dist/architecture/layers/elixir.d.ts +0 -6
- package/dist/architecture/layers/elixir.d.ts.map +0 -1
- package/dist/architecture/layers/go.d.ts +0 -7
- package/dist/architecture/layers/go.d.ts.map +0 -1
- package/dist/architecture/layers/index.d.ts +0 -30
- package/dist/architecture/layers/index.d.ts.map +0 -1
- package/dist/architecture/layers/java.d.ts +0 -7
- package/dist/architecture/layers/java.d.ts.map +0 -1
- package/dist/architecture/layers/ocaml.d.ts +0 -6
- package/dist/architecture/layers/ocaml.d.ts.map +0 -1
- package/dist/architecture/layers/python.d.ts +0 -7
- package/dist/architecture/layers/python.d.ts.map +0 -1
- package/dist/architecture/layers/ruby.d.ts +0 -6
- package/dist/architecture/layers/ruby.d.ts.map +0 -1
- package/dist/architecture/layers/rust.d.ts +0 -6
- package/dist/architecture/layers/rust.d.ts.map +0 -1
- package/dist/architecture/layers/scala.d.ts +0 -6
- package/dist/architecture/layers/scala.d.ts.map +0 -1
- package/dist/architecture/layers/solidity.d.ts +0 -6
- package/dist/architecture/layers/solidity.d.ts.map +0 -1
- package/dist/architecture/layers/types.d.ts +0 -2
- package/dist/architecture/layers/types.d.ts.map +0 -1
- package/dist/architecture/layers/typescript.d.ts +0 -9
- package/dist/architecture/layers/typescript.d.ts.map +0 -1
- package/dist/architecture/layers/vue.d.ts +0 -6
- package/dist/architecture/layers/vue.d.ts.map +0 -1
- package/dist/architecture/manifest/cargo.d.ts +0 -3
- package/dist/architecture/manifest/cargo.d.ts.map +0 -1
- package/dist/architecture/manifest/csproj.d.ts +0 -3
- package/dist/architecture/manifest/csproj.d.ts.map +0 -1
- package/dist/architecture/manifest/elm.d.ts +0 -3
- package/dist/architecture/manifest/elm.d.ts.map +0 -1
- package/dist/architecture/manifest/go.d.ts +0 -3
- package/dist/architecture/manifest/go.d.ts.map +0 -1
- package/dist/architecture/manifest/gradle.d.ts +0 -3
- package/dist/architecture/manifest/gradle.d.ts.map +0 -1
- package/dist/architecture/manifest/index.d.ts +0 -12
- package/dist/architecture/manifest/index.d.ts.map +0 -1
- package/dist/architecture/manifest/maven.d.ts +0 -3
- package/dist/architecture/manifest/maven.d.ts.map +0 -1
- package/dist/architecture/manifest/npm.d.ts +0 -3
- package/dist/architecture/manifest/npm.d.ts.map +0 -1
- package/dist/architecture/manifest/ocaml.d.ts +0 -3
- package/dist/architecture/manifest/ocaml.d.ts.map +0 -1
- package/dist/architecture/manifest/python.d.ts +0 -3
- package/dist/architecture/manifest/python.d.ts.map +0 -1
- package/dist/architecture/manifest/scala.d.ts +0 -3
- package/dist/architecture/manifest/scala.d.ts.map +0 -1
- package/dist/architecture/manifest/types.d.ts +0 -2
- package/dist/architecture/manifest/types.d.ts.map +0 -1
- package/dist/architecture/types.d.ts +0 -91
- package/dist/architecture/types.d.ts.map +0 -1
- package/dist/banner.d.ts +0 -6
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -67
- package/dist/banner.js.map +0 -1
- package/dist/bin/banner.d.ts +0 -6
- package/dist/bin/banner.d.ts.map +0 -1
- package/dist/bin/commands/affected.d.ts +0 -3
- package/dist/bin/commands/affected.d.ts.map +0 -1
- package/dist/bin/commands/architecture.d.ts +0 -3
- package/dist/bin/commands/architecture.d.ts.map +0 -1
- package/dist/bin/commands/attack-surface.d.ts +0 -3
- package/dist/bin/commands/attack-surface.d.ts.map +0 -1
- package/dist/bin/commands/benchmark.d.ts +0 -9
- package/dist/bin/commands/benchmark.d.ts.map +0 -1
- package/dist/bin/commands/budget.d.ts +0 -6
- package/dist/bin/commands/budget.d.ts.map +0 -1
- package/dist/bin/commands/caveman.d.ts +0 -7
- package/dist/bin/commands/caveman.d.ts.map +0 -1
- package/dist/bin/commands/communities.d.ts +0 -3
- package/dist/bin/commands/communities.d.ts.map +0 -1
- package/dist/bin/commands/compression.d.ts +0 -7
- package/dist/bin/commands/compression.d.ts.map +0 -1
- package/dist/bin/commands/configure-mcp.js +0 -104
- package/dist/bin/commands/configure-mcp.js.map +0 -7
- package/dist/bin/commands/context.d.ts +0 -3
- package/dist/bin/commands/context.d.ts.map +0 -1
- package/dist/bin/commands/coupling.d.ts +0 -3
- package/dist/bin/commands/coupling.d.ts.map +0 -1
- package/dist/bin/commands/dashboard.d.ts +0 -3
- package/dist/bin/commands/dashboard.d.ts.map +0 -1
- package/dist/bin/commands/data.d.ts +0 -3
- package/dist/bin/commands/data.d.ts.map +0 -1
- package/dist/bin/commands/dead-code.d.ts +0 -3
- package/dist/bin/commands/dead-code.d.ts.map +0 -1
- package/dist/bin/commands/dep-confusion.d.ts +0 -3
- package/dist/bin/commands/dep-confusion.d.ts.map +0 -1
- package/dist/bin/commands/docs.d.ts +0 -3
- package/dist/bin/commands/docs.d.ts.map +0 -1
- package/dist/bin/commands/exec.d.ts +0 -11
- package/dist/bin/commands/exec.d.ts.map +0 -1
- package/dist/bin/commands/export.d.ts +0 -3
- package/dist/bin/commands/export.d.ts.map +0 -1
- package/dist/bin/commands/files.d.ts +0 -3
- package/dist/bin/commands/files.d.ts.map +0 -1
- package/dist/bin/commands/flows.d.ts +0 -3
- package/dist/bin/commands/flows.d.ts.map +0 -1
- package/dist/bin/commands/gain.d.ts +0 -6
- package/dist/bin/commands/gain.d.ts.map +0 -1
- package/dist/bin/commands/help.d.ts +0 -11
- package/dist/bin/commands/help.d.ts.map +0 -1
- package/dist/bin/commands/hotspots.d.ts +0 -3
- package/dist/bin/commands/hotspots.d.ts.map +0 -1
- package/dist/bin/commands/index.d.ts +0 -3
- package/dist/bin/commands/index.d.ts.map +0 -1
- package/dist/bin/commands/init.d.ts +0 -3
- package/dist/bin/commands/init.d.ts.map +0 -1
- package/dist/bin/commands/install.d.ts +0 -3
- package/dist/bin/commands/install.d.ts.map +0 -1
- package/dist/bin/commands/licenses.d.ts +0 -3
- package/dist/bin/commands/licenses.d.ts.map +0 -1
- package/dist/bin/commands/mark-dirty.d.ts +0 -3
- package/dist/bin/commands/mark-dirty.d.ts.map +0 -1
- package/dist/bin/commands/memory.d.ts +0 -16
- package/dist/bin/commands/memory.d.ts.map +0 -1
- package/dist/bin/commands/package.d.ts +0 -3
- package/dist/bin/commands/package.d.ts.map +0 -1
- package/dist/bin/commands/path.d.ts +0 -3
- package/dist/bin/commands/path.d.ts.map +0 -1
- package/dist/bin/commands/pattern.d.ts +0 -3
- package/dist/bin/commands/pattern.d.ts.map +0 -1
- package/dist/bin/commands/qdrant.d.ts +0 -3
- package/dist/bin/commands/qdrant.d.ts.map +0 -1
- package/dist/bin/commands/qdrant.js +0 -159
- package/dist/bin/commands/qdrant.js.map +0 -1
- package/dist/bin/commands/query.d.ts +0 -3
- package/dist/bin/commands/query.d.ts.map +0 -1
- package/dist/bin/commands/reachability.d.ts +0 -3
- package/dist/bin/commands/reachability.d.ts.map +0 -1
- package/dist/bin/commands/read.d.ts +0 -6
- package/dist/bin/commands/read.d.ts.map +0 -1
- package/dist/bin/commands/refactor.d.ts +0 -3
- package/dist/bin/commands/refactor.d.ts.map +0 -1
- package/dist/bin/commands/remediation.d.ts +0 -3
- package/dist/bin/commands/remediation.d.ts.map +0 -1
- package/dist/bin/commands/sbom.d.ts +0 -3
- package/dist/bin/commands/sbom.d.ts.map +0 -1
- package/dist/bin/commands/security-ci-report.d.ts +0 -9
- package/dist/bin/commands/security-ci-report.d.ts.map +0 -1
- package/dist/bin/commands/security-export.d.ts +0 -2
- package/dist/bin/commands/security-export.d.ts.map +0 -1
- package/dist/bin/commands/security-flows.d.ts +0 -3
- package/dist/bin/commands/security-flows.d.ts.map +0 -1
- package/dist/bin/commands/security-secrets.d.ts +0 -3
- package/dist/bin/commands/security-secrets.d.ts.map +0 -1
- package/dist/bin/commands/security.d.ts +0 -3
- package/dist/bin/commands/security.d.ts.map +0 -1
- package/dist/bin/commands/serve.d.ts +0 -3
- package/dist/bin/commands/serve.d.ts.map +0 -1
- package/dist/bin/commands/snapshot.d.ts +0 -3
- package/dist/bin/commands/snapshot.d.ts.map +0 -1
- package/dist/bin/commands/staleness.d.ts +0 -3
- package/dist/bin/commands/staleness.d.ts.map +0 -1
- package/dist/bin/commands/status.d.ts +0 -3
- package/dist/bin/commands/status.d.ts.map +0 -1
- package/dist/bin/commands/stop.d.ts +0 -3
- package/dist/bin/commands/stop.d.ts.map +0 -1
- package/dist/bin/commands/stop.js +0 -81
- package/dist/bin/commands/stop.js.map +0 -1
- package/dist/bin/commands/supply-chain.d.ts +0 -3
- package/dist/bin/commands/supply-chain.d.ts.map +0 -1
- package/dist/bin/commands/surprising.d.ts +0 -3
- package/dist/bin/commands/surprising.d.ts.map +0 -1
- package/dist/bin/commands/sync-if-dirty.d.ts +0 -3
- package/dist/bin/commands/sync-if-dirty.d.ts.map +0 -1
- package/dist/bin/commands/sync.d.ts +0 -3
- package/dist/bin/commands/sync.d.ts.map +0 -1
- package/dist/bin/commands/typesense.d.ts +0 -3
- package/dist/bin/commands/typesense.d.ts.map +0 -1
- package/dist/bin/commands/typesense.js +0 -126
- package/dist/bin/commands/typesense.js.map +0 -1
- package/dist/bin/commands/uninit.d.ts +0 -4
- package/dist/bin/commands/uninit.d.ts.map +0 -1
- package/dist/bin/commands/unlock.d.ts +0 -3
- package/dist/bin/commands/unlock.d.ts.map +0 -1
- package/dist/bin/commands/utils.d.ts +0 -17
- package/dist/bin/commands/utils.d.ts.map +0 -1
- package/dist/bin/commands/vex.d.ts +0 -3
- package/dist/bin/commands/vex.d.ts.map +0 -1
- package/dist/bin/commands/vuln-suppress.d.ts +0 -3
- package/dist/bin/commands/vuln-suppress.d.ts.map +0 -1
- package/dist/bin/commands/vulns.d.ts +0 -3
- package/dist/bin/commands/vulns.d.ts.map +0 -1
- package/dist/bin/installer/archive.d.ts +0 -47
- package/dist/bin/installer/archive.d.ts.map +0 -1
- package/dist/bin/installer/auto-detect.d.ts +0 -16
- package/dist/bin/installer/auto-detect.d.ts.map +0 -1
- package/dist/bin/installer/caveman.d.ts +0 -12
- package/dist/bin/installer/caveman.d.ts.map +0 -1
- package/dist/bin/installer/cli-agent.d.ts +0 -20
- package/dist/bin/installer/cli-agent.d.ts.map +0 -1
- package/dist/bin/installer/common.d.ts +0 -36
- package/dist/bin/installer/common.d.ts.map +0 -1
- package/dist/bin/installer/config-prompt.d.ts +0 -13
- package/dist/bin/installer/config-prompt.d.ts.map +0 -1
- package/dist/bin/installer/dashboard.d.ts +0 -3
- package/dist/bin/installer/dashboard.d.ts.map +0 -1
- package/dist/bin/installer/detect.d.ts +0 -30
- package/dist/bin/installer/detect.d.ts.map +0 -1
- package/dist/bin/installer/hooks.d.ts +0 -8
- package/dist/bin/installer/hooks.d.ts.map +0 -1
- package/dist/bin/installer/index.d.ts +0 -12
- package/dist/bin/installer/index.d.ts.map +0 -1
- package/dist/bin/installer/instructions.d.ts +0 -14
- package/dist/bin/installer/instructions.d.ts.map +0 -1
- package/dist/bin/installer/mcp.d.ts +0 -5
- package/dist/bin/installer/mcp.d.ts.map +0 -1
- package/dist/bin/installer/prompts.d.ts +0 -45
- package/dist/bin/installer/prompts.d.ts.map +0 -1
- package/dist/bin/installer/qdrant-dashboard.d.ts +0 -4
- package/dist/bin/installer/qdrant-dashboard.d.ts.map +0 -1
- package/dist/bin/installer/steering.d.ts +0 -17
- package/dist/bin/installer/steering.d.ts.map +0 -1
- package/dist/bin/installer/targets/aider.d.ts +0 -6
- package/dist/bin/installer/targets/aider.d.ts.map +0 -1
- package/dist/bin/installer/targets/amp.d.ts +0 -6
- package/dist/bin/installer/targets/amp.d.ts.map +0 -1
- package/dist/bin/installer/targets/antigravity.d.ts +0 -13
- package/dist/bin/installer/targets/antigravity.d.ts.map +0 -1
- package/dist/bin/installer/targets/augment.d.ts +0 -6
- package/dist/bin/installer/targets/augment.d.ts.map +0 -1
- package/dist/bin/installer/targets/claude.d.ts +0 -6
- package/dist/bin/installer/targets/claude.d.ts.map +0 -1
- package/dist/bin/installer/targets/cline.d.ts +0 -13
- package/dist/bin/installer/targets/cline.d.ts.map +0 -1
- package/dist/bin/installer/targets/codex.d.ts +0 -6
- package/dist/bin/installer/targets/codex.d.ts.map +0 -1
- package/dist/bin/installer/targets/continue.d.ts +0 -12
- package/dist/bin/installer/targets/continue.d.ts.map +0 -1
- package/dist/bin/installer/targets/copilot-cli.d.ts +0 -12
- package/dist/bin/installer/targets/copilot-cli.d.ts.map +0 -1
- package/dist/bin/installer/targets/copilot.d.ts +0 -6
- package/dist/bin/installer/targets/copilot.d.ts.map +0 -1
- package/dist/bin/installer/targets/cursor.d.ts +0 -6
- package/dist/bin/installer/targets/cursor.d.ts.map +0 -1
- package/dist/bin/installer/targets/devin.d.ts +0 -13
- package/dist/bin/installer/targets/devin.d.ts.map +0 -1
- package/dist/bin/installer/targets/gemini-cli.d.ts +0 -16
- package/dist/bin/installer/targets/gemini-cli.d.ts.map +0 -1
- package/dist/bin/installer/targets/generic.d.ts +0 -59
- package/dist/bin/installer/targets/generic.d.ts.map +0 -1
- package/dist/bin/installer/targets/goose.d.ts +0 -6
- package/dist/bin/installer/targets/goose.d.ts.map +0 -1
- package/dist/bin/installer/targets/index.d.ts +0 -11
- package/dist/bin/installer/targets/index.d.ts.map +0 -1
- package/dist/bin/installer/targets/junie.d.ts +0 -13
- package/dist/bin/installer/targets/junie.d.ts.map +0 -1
- package/dist/bin/installer/targets/kilo.d.ts +0 -12
- package/dist/bin/installer/targets/kilo.d.ts.map +0 -1
- package/dist/bin/installer/targets/kiro.d.ts +0 -5
- package/dist/bin/installer/targets/kiro.d.ts.map +0 -1
- package/dist/bin/installer/targets/opencode.d.ts +0 -13
- package/dist/bin/installer/targets/opencode.d.ts.map +0 -1
- package/dist/bin/installer/targets/openhands.d.ts +0 -6
- package/dist/bin/installer/targets/openhands.d.ts.map +0 -1
- package/dist/bin/installer/targets/qoder.d.ts +0 -12
- package/dist/bin/installer/targets/qoder.d.ts.map +0 -1
- package/dist/bin/installer/targets/qwen.d.ts +0 -12
- package/dist/bin/installer/targets/qwen.d.ts.map +0 -1
- package/dist/bin/installer/targets/replit.d.ts +0 -6
- package/dist/bin/installer/targets/replit.d.ts.map +0 -1
- package/dist/bin/installer/targets/roo.d.ts +0 -13
- package/dist/bin/installer/targets/roo.d.ts.map +0 -1
- package/dist/bin/installer/targets/tabnine.d.ts +0 -6
- package/dist/bin/installer/targets/tabnine.d.ts.map +0 -1
- package/dist/bin/installer/targets/trae.d.ts +0 -6
- package/dist/bin/installer/targets/trae.d.ts.map +0 -1
- package/dist/bin/installer/targets/warp.d.ts +0 -12
- package/dist/bin/installer/targets/warp.d.ts.map +0 -1
- package/dist/bin/installer/targets/windsurf.d.ts +0 -13
- package/dist/bin/installer/targets/windsurf.d.ts.map +0 -1
- package/dist/bin/kirograph.d.ts +0 -6
- package/dist/bin/kirograph.d.ts.map +0 -1
- package/dist/bin/progress.d.ts +0 -29
- package/dist/bin/progress.d.ts.map +0 -1
- package/dist/bin/ui.d.ts +0 -11
- package/dist/bin/ui.d.ts.map +0 -1
- package/dist/compression/filters/aws.d.ts +0 -9
- package/dist/compression/filters/aws.d.ts.map +0 -1
- package/dist/compression/filters/docker.d.ts +0 -6
- package/dist/compression/filters/docker.d.ts.map +0 -1
- package/dist/compression/filters/files.d.ts +0 -6
- package/dist/compression/filters/files.d.ts.map +0 -1
- package/dist/compression/filters/generic.d.ts +0 -7
- package/dist/compression/filters/generic.d.ts.map +0 -1
- package/dist/compression/filters/git.d.ts +0 -6
- package/dist/compression/filters/git.d.ts.map +0 -1
- package/dist/compression/filters/github.d.ts +0 -6
- package/dist/compression/filters/github.d.ts.map +0 -1
- package/dist/compression/filters/lint.d.ts +0 -6
- package/dist/compression/filters/lint.d.ts.map +0 -1
- package/dist/compression/filters/misc.d.ts +0 -6
- package/dist/compression/filters/misc.d.ts.map +0 -1
- package/dist/compression/filters/package.d.ts +0 -6
- package/dist/compression/filters/package.d.ts.map +0 -1
- package/dist/compression/filters/test.d.ts +0 -6
- package/dist/compression/filters/test.d.ts.map +0 -1
- package/dist/compression/index.d.ts +0 -29
- package/dist/compression/index.d.ts.map +0 -1
- package/dist/compression/naive-cost.d.ts +0 -26
- package/dist/compression/naive-cost.d.ts.map +0 -1
- package/dist/compression/tracker.d.ts +0 -155
- package/dist/compression/tracker.d.ts.map +0 -1
- package/dist/compression/types.d.ts +0 -49
- package/dist/compression/types.d.ts.map +0 -1
- package/dist/config.d.ts +0 -138
- package/dist/config.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -61
- package/dist/context/index.d.ts.map +0 -1
- package/dist/core/file-tree.d.ts +0 -15
- package/dist/core/file-tree.d.ts.map +0 -1
- package/dist/core/lock-manager.d.ts +0 -22
- package/dist/core/lock-manager.d.ts.map +0 -1
- package/dist/core/pipeline.d.ts +0 -40
- package/dist/core/pipeline.d.ts.map +0 -1
- package/dist/core/snapshot.d.ts +0 -58
- package/dist/core/snapshot.d.ts.map +0 -1
- package/dist/data/filters.d.ts +0 -23
- package/dist/data/filters.d.ts.map +0 -1
- package/dist/data/indexer.d.ts +0 -25
- package/dist/data/indexer.d.ts.map +0 -1
- package/dist/data/linker.d.ts +0 -37
- package/dist/data/linker.d.ts.map +0 -1
- package/dist/data/linker.test.js +0 -60
- package/dist/data/linker.test.js.map +0 -7
- package/dist/data/lint.d.ts +0 -27
- package/dist/data/lint.d.ts.map +0 -1
- package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js +0 -41
- package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js.map +0 -7
- package/dist/data/parsers/csv.d.ts +0 -11
- package/dist/data/parsers/csv.d.ts.map +0 -1
- package/dist/data/parsers/excel.d.ts +0 -10
- package/dist/data/parsers/excel.d.ts.map +0 -1
- package/dist/data/parsers/index.d.ts +0 -28
- package/dist/data/parsers/index.d.ts.map +0 -1
- package/dist/data/parsers/json-array.d.ts +0 -9
- package/dist/data/parsers/json-array.d.ts.map +0 -1
- package/dist/data/parsers/jsonl.d.ts +0 -9
- package/dist/data/parsers/jsonl.d.ts.map +0 -1
- package/dist/data/parsers/parquet.d.ts +0 -10
- package/dist/data/parsers/parquet.d.ts.map +0 -1
- package/dist/data/parsers/pdf.test.js +0 -125
- package/dist/data/parsers/pdf.test.js.map +0 -7
- package/dist/data/profiler.d.ts +0 -29
- package/dist/data/profiler.d.ts.map +0 -1
- package/dist/data/queries.d.ts +0 -95
- package/dist/data/queries.d.ts.map +0 -1
- package/dist/data/types.d.ts +0 -103
- package/dist/data/types.d.ts.map +0 -1
- package/dist/db/database.d.ts +0 -190
- package/dist/db/database.d.ts.map +0 -1
- package/dist/docs/formats/asciidoc.d.ts +0 -9
- package/dist/docs/formats/asciidoc.d.ts.map +0 -1
- package/dist/docs/formats/html.d.ts +0 -10
- package/dist/docs/formats/html.d.ts.map +0 -1
- package/dist/docs/formats/index.d.ts +0 -31
- package/dist/docs/formats/index.d.ts.map +0 -1
- package/dist/docs/formats/markdown.d.ts +0 -11
- package/dist/docs/formats/markdown.d.ts.map +0 -1
- package/dist/docs/formats/openapi.d.ts +0 -17
- package/dist/docs/formats/openapi.d.ts.map +0 -1
- package/dist/docs/formats/org.d.ts +0 -9
- package/dist/docs/formats/org.d.ts.map +0 -1
- package/dist/docs/formats/plaintext.d.ts +0 -11
- package/dist/docs/formats/plaintext.d.ts.map +0 -1
- package/dist/docs/formats/rdoc.d.ts +0 -10
- package/dist/docs/formats/rdoc.d.ts.map +0 -1
- package/dist/docs/formats/rst.d.ts +0 -11
- package/dist/docs/formats/rst.d.ts.map +0 -1
- package/dist/docs/indexer.d.ts +0 -49
- package/dist/docs/indexer.d.ts.map +0 -1
- package/dist/docs/linker.d.ts +0 -30
- package/dist/docs/linker.d.ts.map +0 -1
- package/dist/docs/lint.d.ts +0 -27
- package/dist/docs/lint.d.ts.map +0 -1
- package/dist/docs/queries.d.ts +0 -78
- package/dist/docs/queries.d.ts.map +0 -1
- package/dist/docs/section-id.d.ts +0 -48
- package/dist/docs/section-id.d.ts.map +0 -1
- package/dist/docs/summarizer.d.ts +0 -13
- package/dist/docs/summarizer.d.ts.map +0 -1
- package/dist/docs/types.d.ts +0 -71
- package/dist/docs/types.d.ts.map +0 -1
- package/dist/docs/vectors.d.ts +0 -54
- package/dist/docs/vectors.d.ts.map +0 -1
- package/dist/errors.d.ts +0 -49
- package/dist/errors.d.ts.map +0 -1
- package/dist/extraction/extractor.d.ts +0 -29
- package/dist/extraction/extractor.d.ts.map +0 -1
- package/dist/extraction/grammars.d.ts +0 -54
- package/dist/extraction/grammars.d.ts.map +0 -1
- package/dist/extraction/languages.d.ts +0 -9
- package/dist/extraction/languages.d.ts.map +0 -1
- package/dist/extraction/notebook.d.ts +0 -14
- package/dist/extraction/notebook.d.ts.map +0 -1
- package/dist/frameworks/amplify.d.ts +0 -9
- package/dist/frameworks/amplify.d.ts.map +0 -1
- package/dist/frameworks/angular.d.ts +0 -9
- package/dist/frameworks/angular.d.ts.map +0 -1
- package/dist/frameworks/ansible.d.ts +0 -8
- package/dist/frameworks/ansible.d.ts.map +0 -1
- package/dist/frameworks/cloudformation.d.ts +0 -9
- package/dist/frameworks/cloudformation.d.ts.map +0 -1
- package/dist/frameworks/csharp.d.ts +0 -8
- package/dist/frameworks/csharp.d.ts.map +0 -1
- package/dist/frameworks/docker.d.ts +0 -9
- package/dist/frameworks/docker.d.ts.map +0 -1
- package/dist/frameworks/elixir.d.ts +0 -6
- package/dist/frameworks/elixir.d.ts.map +0 -1
- package/dist/frameworks/express.d.ts +0 -8
- package/dist/frameworks/express.d.ts.map +0 -1
- package/dist/frameworks/flutter.d.ts +0 -12
- package/dist/frameworks/flutter.d.ts.map +0 -1
- package/dist/frameworks/go.d.ts +0 -8
- package/dist/frameworks/go.d.ts.map +0 -1
- package/dist/frameworks/iac.d.ts +0 -10
- package/dist/frameworks/iac.d.ts.map +0 -1
- package/dist/frameworks/index.d.ts +0 -44
- package/dist/frameworks/index.d.ts.map +0 -1
- package/dist/frameworks/java.d.ts +0 -8
- package/dist/frameworks/java.d.ts.map +0 -1
- package/dist/frameworks/kubernetes.d.ts +0 -9
- package/dist/frameworks/kubernetes.d.ts.map +0 -1
- package/dist/frameworks/laravel.d.ts +0 -9
- package/dist/frameworks/laravel.d.ts.map +0 -1
- package/dist/frameworks/pulumi.d.ts +0 -9
- package/dist/frameworks/pulumi.d.ts.map +0 -1
- package/dist/frameworks/python.d.ts +0 -10
- package/dist/frameworks/python.d.ts.map +0 -1
- package/dist/frameworks/react.d.ts +0 -9
- package/dist/frameworks/react.d.ts.map +0 -1
- package/dist/frameworks/ruby.d.ts +0 -8
- package/dist/frameworks/ruby.d.ts.map +0 -1
- package/dist/frameworks/rust.d.ts +0 -8
- package/dist/frameworks/rust.d.ts.map +0 -1
- package/dist/frameworks/scala.d.ts +0 -6
- package/dist/frameworks/scala.d.ts.map +0 -1
- package/dist/frameworks/solidity.d.ts +0 -6
- package/dist/frameworks/solidity.d.ts.map +0 -1
- package/dist/frameworks/svelte.d.ts +0 -8
- package/dist/frameworks/svelte.d.ts.map +0 -1
- package/dist/frameworks/swift.d.ts +0 -10
- package/dist/frameworks/swift.d.ts.map +0 -1
- package/dist/frameworks/terraform.d.ts +0 -14
- package/dist/frameworks/terraform.d.ts.map +0 -1
- package/dist/frameworks/types.d.ts +0 -37
- package/dist/frameworks/types.d.ts.map +0 -1
- package/dist/frameworks/vue.d.ts +0 -7
- package/dist/frameworks/vue.d.ts.map +0 -1
- package/dist/graph/communities.d.ts +0 -43
- package/dist/graph/communities.d.ts.map +0 -1
- package/dist/graph/flows.d.ts +0 -55
- package/dist/graph/flows.d.ts.map +0 -1
- package/dist/graph/queries.d.ts +0 -53
- package/dist/graph/queries.d.ts.map +0 -1
- package/dist/graph/refactor.d.ts +0 -43
- package/dist/graph/refactor.d.ts.map +0 -1
- package/dist/graph/traversal.d.ts +0 -35
- package/dist/graph/traversal.d.ts.map +0 -1
- package/dist/index.d.ts +0 -134
- package/dist/index.d.ts.map +0 -1
- package/dist/installer/index.d.ts +0 -10
- package/dist/installer/index.d.ts.map +0 -1
- package/dist/installer/index.js +0 -526
- package/dist/installer/index.js.map +0 -1
- package/dist/mcp/cache.d.ts +0 -69
- package/dist/mcp/cache.d.ts.map +0 -1
- package/dist/mcp/read-modes.d.ts +0 -31
- package/dist/mcp/read-modes.d.ts.map +0 -1
- package/dist/mcp/server.d.ts +0 -17
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/tool-names.d.ts +0 -2
- package/dist/mcp/tool-names.d.ts.map +0 -1
- package/dist/mcp/tools.d.ts +0 -49
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/transport.d.ts +0 -29
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/memory/compress.d.ts +0 -19
- package/dist/memory/compress.d.ts.map +0 -1
- package/dist/memory/database.d.ts +0 -92
- package/dist/memory/database.d.ts.map +0 -1
- package/dist/memory/index.d.ts +0 -71
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/symbols.d.ts +0 -21
- package/dist/memory/symbols.d.ts.map +0 -1
- package/dist/memory/types.d.ts +0 -78
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/vectors.d.ts +0 -43
- package/dist/memory/vectors.d.ts.map +0 -1
- package/dist/patterns/graph.d.ts +0 -16
- package/dist/patterns/graph.d.ts.map +0 -1
- package/dist/patterns/index.d.ts +0 -4
- package/dist/patterns/index.d.ts.map +0 -1
- package/dist/patterns/indexer.d.ts +0 -15
- package/dist/patterns/indexer.d.ts.map +0 -1
- package/dist/patterns/loader.d.ts +0 -18
- package/dist/patterns/loader.d.ts.map +0 -1
- package/dist/patterns/runner.d.ts +0 -42
- package/dist/patterns/runner.d.ts.map +0 -1
- package/dist/patterns/types.d.ts +0 -27
- package/dist/patterns/types.d.ts.map +0 -1
- package/dist/resolution/bridges/android-rn.d.ts +0 -13
- package/dist/resolution/bridges/android-rn.d.ts.map +0 -1
- package/dist/resolution/bridges/expo-modules.d.ts +0 -10
- package/dist/resolution/bridges/expo-modules.d.ts.map +0 -1
- package/dist/resolution/bridges/flutter-channel.d.ts +0 -14
- package/dist/resolution/bridges/flutter-channel.d.ts.map +0 -1
- package/dist/resolution/bridges/index.d.ts +0 -40
- package/dist/resolution/bridges/index.d.ts.map +0 -1
- package/dist/resolution/bridges/native-events.d.ts +0 -10
- package/dist/resolution/bridges/native-events.d.ts.map +0 -1
- package/dist/resolution/bridges/native-views.d.ts +0 -13
- package/dist/resolution/bridges/native-views.d.ts.map +0 -1
- package/dist/resolution/bridges/react-native.d.ts +0 -9
- package/dist/resolution/bridges/react-native.d.ts.map +0 -1
- package/dist/resolution/bridges/swift-objc.d.ts +0 -14
- package/dist/resolution/bridges/swift-objc.d.ts.map +0 -1
- package/dist/resolution/bridges/turbomodules.d.ts +0 -10
- package/dist/resolution/bridges/turbomodules.d.ts.map +0 -1
- package/dist/resolution/index.d.ts +0 -81
- package/dist/resolution/index.d.ts.map +0 -1
- package/dist/resolution/name-matcher.d.ts +0 -25
- package/dist/resolution/name-matcher.d.ts.map +0 -1
- package/dist/scripts/postinstall.js +0 -64
- package/dist/search/query-utils.d.ts +0 -21
- package/dist/search/query-utils.d.ts.map +0 -1
- package/dist/search/searcher.d.ts +0 -15
- package/dist/search/searcher.d.ts.map +0 -1
- package/dist/security/attack-surface.d.ts +0 -46
- package/dist/security/attack-surface.d.ts.map +0 -1
- package/dist/security/context-warnings.d.ts +0 -40
- package/dist/security/context-warnings.d.ts.map +0 -1
- package/dist/security/data-flows.d.ts +0 -33
- package/dist/security/data-flows.d.ts.map +0 -1
- package/dist/security/dep-confusion.d.ts +0 -23
- package/dist/security/dep-confusion.d.ts.map +0 -1
- package/dist/security/errors.d.ts +0 -16
- package/dist/security/errors.d.ts.map +0 -1
- package/dist/security/export/fix-suggestions.d.ts +0 -21
- package/dist/security/export/fix-suggestions.d.ts.map +0 -1
- package/dist/security/export/sbom.d.ts +0 -33
- package/dist/security/export/sbom.d.ts.map +0 -1
- package/dist/security/export/serialization.d.ts +0 -62
- package/dist/security/export/serialization.d.ts.map +0 -1
- package/dist/security/export/vex.d.ts +0 -58
- package/dist/security/export/vex.d.ts.map +0 -1
- package/dist/security/index.d.ts +0 -21
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/integrator.d.ts +0 -63
- package/dist/security/integrator.d.ts.map +0 -1
- package/dist/security/license.d.ts +0 -33
- package/dist/security/license.d.ts.map +0 -1
- package/dist/security/manifest/adapter.d.ts +0 -92
- package/dist/security/manifest/adapter.d.ts.map +0 -1
- package/dist/security/manifest/parser.d.ts +0 -73
- package/dist/security/manifest/parser.d.ts.map +0 -1
- package/dist/security/manifest/plugins/cargo.d.ts +0 -11
- package/dist/security/manifest/plugins/cargo.d.ts.map +0 -1
- package/dist/security/manifest/plugins/composer.d.ts +0 -11
- package/dist/security/manifest/plugins/composer.d.ts.map +0 -1
- package/dist/security/manifest/plugins/go.d.ts +0 -12
- package/dist/security/manifest/plugins/go.d.ts.map +0 -1
- package/dist/security/manifest/plugins/gradle.d.ts +0 -12
- package/dist/security/manifest/plugins/gradle.d.ts.map +0 -1
- package/dist/security/manifest/plugins/hex.d.ts +0 -11
- package/dist/security/manifest/plugins/hex.d.ts.map +0 -1
- package/dist/security/manifest/plugins/maven.d.ts +0 -11
- package/dist/security/manifest/plugins/maven.d.ts.map +0 -1
- package/dist/security/manifest/plugins/npm.d.ts +0 -11
- package/dist/security/manifest/plugins/npm.d.ts.map +0 -1
- package/dist/security/manifest/plugins/nuget.d.ts +0 -12
- package/dist/security/manifest/plugins/nuget.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pip.d.ts +0 -11
- package/dist/security/manifest/plugins/pip.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pubspec.d.ts +0 -11
- package/dist/security/manifest/plugins/pubspec.d.ts.map +0 -1
- package/dist/security/manifest/plugins/pyproject.d.ts +0 -3
- package/dist/security/manifest/plugins/pyproject.d.ts.map +0 -1
- package/dist/security/manifest/plugins/rubygems.d.ts +0 -11
- package/dist/security/manifest/plugins/rubygems.d.ts.map +0 -1
- package/dist/security/manifest/plugins/swift.d.ts +0 -11
- package/dist/security/manifest/plugins/swift.d.ts.map +0 -1
- package/dist/security/owasp.d.ts +0 -16
- package/dist/security/owasp.d.ts.map +0 -1
- package/dist/security/pipeline.d.ts +0 -37
- package/dist/security/pipeline.d.ts.map +0 -1
- package/dist/security/reachability.d.ts +0 -67
- package/dist/security/reachability.d.ts.map +0 -1
- package/dist/security/remediation.d.ts +0 -51
- package/dist/security/remediation.d.ts.map +0 -1
- package/dist/security/secrets.d.ts +0 -38
- package/dist/security/secrets.d.ts.map +0 -1
- package/dist/security/staleness.d.ts +0 -43
- package/dist/security/staleness.d.ts.map +0 -1
- package/dist/security/supply-chain.d.ts +0 -34
- package/dist/security/supply-chain.d.ts.map +0 -1
- package/dist/security/suppressions.d.ts +0 -18
- package/dist/security/suppressions.d.ts.map +0 -1
- package/dist/security/types.d.ts +0 -144
- package/dist/security/types.d.ts.map +0 -1
- package/dist/security/vuln/client.d.ts +0 -90
- package/dist/security/vuln/client.d.ts.map +0 -1
- package/dist/security/vuln/epss-client.d.ts +0 -26
- package/dist/security/vuln/epss-client.d.ts.map +0 -1
- package/dist/security/vuln/index.d.ts +0 -6
- package/dist/security/vuln/index.d.ts.map +0 -1
- package/dist/security/vuln/osv-adapter.d.ts +0 -58
- package/dist/security/vuln/osv-adapter.d.ts.map +0 -1
- package/dist/security/vuln/types.d.ts +0 -29
- package/dist/security/vuln/types.d.ts.map +0 -1
- package/dist/sync/index.d.ts +0 -35
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/types.d.ts +0 -137
- package/dist/types.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -52
- package/dist/utils.d.ts.map +0 -1
- package/dist/vectors/index.d.ts +0 -79
- package/dist/vectors/index.d.ts.map +0 -1
- package/dist/vectors/lancedb-index.d.ts +0 -50
- package/dist/vectors/lancedb-index.d.ts.map +0 -1
- package/dist/vectors/orama-index.d.ts +0 -54
- package/dist/vectors/orama-index.d.ts.map +0 -1
- package/dist/vectors/pglite-index.d.ts +0 -53
- package/dist/vectors/pglite-index.d.ts.map +0 -1
- package/dist/vectors/qdrant-index.d.ts +0 -77
- package/dist/vectors/qdrant-index.d.ts.map +0 -1
- package/dist/vectors/typesense-index.d.ts +0 -75
- package/dist/vectors/typesense-index.d.ts.map +0 -1
- package/dist/vectors/vec-index.d.ts +0 -52
- package/dist/vectors/vec-index.d.ts.map +0 -1
|
@@ -102,7 +102,11 @@ function buildSteeringContent(opts) {
|
|
|
102
102
|
const enablePatterns = opts?.enablePatterns ?? false;
|
|
103
103
|
const enableWiki = opts?.enableWiki ?? false;
|
|
104
104
|
const enableCodeHealth = opts?.enableCodeHealth ?? false;
|
|
105
|
-
const
|
|
105
|
+
const enableNavigation = opts?.enableNavigation ?? false;
|
|
106
|
+
const enableGitContext = opts?.enableGitContext ?? false;
|
|
107
|
+
const enableComplexity = opts?.enableComplexity ?? false;
|
|
108
|
+
const enableEditPrimitives = opts?.enableEditPrimitives ?? false;
|
|
109
|
+
const enableBranch = opts?.enableBranch ?? false;
|
|
106
110
|
const enableAgentUtils = opts?.enableAgentUtils ?? false;
|
|
107
111
|
const enableGeneralCompression = opts?.enableGeneralCompression ?? false;
|
|
108
112
|
const trackCallSites = opts?.trackCallSites ?? false;
|
|
@@ -114,15 +118,17 @@ function buildSteeringContent(opts) {
|
|
|
114
118
|
"| Who calls function X? | `kirograph_callers` |",
|
|
115
119
|
"| What does function X call? | `kirograph_callees` |"
|
|
116
120
|
] : [],
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
...enableNavigation ? [
|
|
122
|
+
"| What breaks if I change X? | `kirograph_impact` |",
|
|
123
|
+
"| What files are indexed? | `kirograph_files` |",
|
|
124
|
+
"| Is the index healthy? | `kirograph_status` |"
|
|
125
|
+
] : [],
|
|
120
126
|
...enableCodeHealth ? [
|
|
127
|
+
"| How are X and Y connected? | `kirograph_path` |",
|
|
128
|
+
"| What extends / implements this type? | `kirograph_type_hierarchy` |",
|
|
121
129
|
"| Which code is never called? | `kirograph_dead_code` |",
|
|
122
130
|
"| Are there import cycles? | `kirograph_circular_deps` |"
|
|
123
131
|
] : [],
|
|
124
|
-
"| What files are indexed? | `kirograph_files` |",
|
|
125
|
-
"| Is the index healthy? | `kirograph_status` |",
|
|
126
132
|
...enableCodeHealth ? [
|
|
127
133
|
"| What are the most critical symbols? | `kirograph_hotspots` |",
|
|
128
134
|
"| Any unexpected cross-module coupling? | `kirograph_surprising` |",
|
|
@@ -151,7 +157,30 @@ function buildSteeringContent(opts) {
|
|
|
151
157
|
"| Generate SBOM/VEX | `kirograph_sbom` / `kirograph_vex` |",
|
|
152
158
|
"| Add a private CVE | `kirograph_vuln_add` |"
|
|
153
159
|
] : [],
|
|
154
|
-
...enablePatterns ? ["| Find structural code patterns? | `kirograph_live_search` |"] : []
|
|
160
|
+
...enablePatterns ? ["| Find structural code patterns? | `kirograph_live_search` |"] : [],
|
|
161
|
+
...enableComplexity ? [
|
|
162
|
+
"| Overall graph health score | `kirograph_health` |",
|
|
163
|
+
"| Most complex functions? | `kirograph_complexity` |",
|
|
164
|
+
"| Which functions are highest risk to change? | `kirograph_test_risk` |",
|
|
165
|
+
"| How are modules coupled? | `kirograph_dsm` |"
|
|
166
|
+
] : [],
|
|
167
|
+
...enableGitContext ? [
|
|
168
|
+
"| What symbols did I change? | `kirograph_diff_context` |",
|
|
169
|
+
"| Build commit message context | `kirograph_commit_context` |",
|
|
170
|
+
"| Generate PR description | `kirograph_pr_context` |",
|
|
171
|
+
"| What tests cover symbol X? | `kirograph_test_map` |",
|
|
172
|
+
"| Show per-file coverage report | `kirograph_test_coverage` |"
|
|
173
|
+
] : [],
|
|
174
|
+
...enableEditPrimitives ? [
|
|
175
|
+
"| Replace a unique string in a file | `kirograph_str_replace` |",
|
|
176
|
+
"| Insert content before/after an anchor | `kirograph_insert_at` |",
|
|
177
|
+
"| Atomic multi-replacement in a file | `kirograph_multi_str_replace` |"
|
|
178
|
+
] : [],
|
|
179
|
+
...enableBranch ? [
|
|
180
|
+
"| List tracked branches | `kirograph_branch_list` |",
|
|
181
|
+
"| What changed between branches? | `kirograph_branch_diff` |",
|
|
182
|
+
"| Search symbols in another branch | `kirograph_branch_search` |"
|
|
183
|
+
] : []
|
|
155
184
|
];
|
|
156
185
|
let toolRef = `
|
|
157
186
|
## Tool reference
|
|
@@ -205,7 +234,8 @@ BFS over outgoing \`calls\` edges (depth 1).
|
|
|
205
234
|
kirograph_callees(symbol: "handleRequest")
|
|
206
235
|
\`\`\``;
|
|
207
236
|
}
|
|
208
|
-
|
|
237
|
+
if (enableNavigation) {
|
|
238
|
+
toolRef += `
|
|
209
239
|
|
|
210
240
|
### \`kirograph_impact\`: blast radius before a change
|
|
211
241
|
|
|
@@ -213,7 +243,10 @@ Traverses all incoming edges up to \`depth\` hops. Call this before editing a sy
|
|
|
213
243
|
|
|
214
244
|
\`\`\`
|
|
215
245
|
kirograph_impact(symbol: "UserRepository", depth: 3)
|
|
216
|
-
|
|
246
|
+
\`\`\``;
|
|
247
|
+
}
|
|
248
|
+
if (enableCodeHealth) {
|
|
249
|
+
toolRef += `
|
|
217
250
|
|
|
218
251
|
### \`kirograph_path\`: how are two symbols connected?
|
|
219
252
|
|
|
@@ -221,9 +254,7 @@ BFS shortest path across all edge types.
|
|
|
221
254
|
|
|
222
255
|
\`\`\`
|
|
223
256
|
kirograph_path(from: "LoginController", to: "DatabasePool")
|
|
224
|
-
|
|
225
|
-
if (enableAdvancedAnalysis) {
|
|
226
|
-
toolRef += `
|
|
257
|
+
\`\`\`
|
|
227
258
|
|
|
228
259
|
### \`kirograph_type_hierarchy\`: class/interface inheritance
|
|
229
260
|
|
|
@@ -254,6 +285,7 @@ kirograph_circular_deps()
|
|
|
254
285
|
}
|
|
255
286
|
toolRef += `
|
|
256
287
|
|
|
288
|
+
${enableNavigation ? `
|
|
257
289
|
### \`kirograph_files\`: indexed file structure
|
|
258
290
|
|
|
259
291
|
\`\`\`
|
|
@@ -266,7 +298,7 @@ kirograph_files(pattern: "**/*.test.ts")
|
|
|
266
298
|
|
|
267
299
|
### \`kirograph_status\`: index health
|
|
268
300
|
|
|
269
|
-
Returns file count, symbol count, edge count, embedding coverage, DB size. Call when something feels off
|
|
301
|
+
Returns file count, symbol count, edge count, embedding coverage, DB size. Call when something feels off.` : ""}`;
|
|
270
302
|
if (enableCodeHealth) {
|
|
271
303
|
toolRef += `
|
|
272
304
|
|
|
@@ -332,6 +364,168 @@ Returns metadata, coupling metrics, outgoing deps, incoming dependents, and file
|
|
|
332
364
|
\`\`\`
|
|
333
365
|
kirograph_package(package: "auth")
|
|
334
366
|
kirograph_package(package: "src/services", includeFiles: false)
|
|
367
|
+
\`\`\``;
|
|
368
|
+
}
|
|
369
|
+
if (enableComplexity) {
|
|
370
|
+
toolRef += `
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Complexity tools *(require \`enableComplexity: true\` in config)*
|
|
375
|
+
|
|
376
|
+
### \`kirograph_health\`: composite graph health score
|
|
377
|
+
|
|
378
|
+
Returns a 0\u201310000 score across four dimensions: complexity, dead code, coupling, circular deps.
|
|
379
|
+
Higher is better. Excellent \u2265 9000 \xB7 Good \u2265 7000 \xB7 Fair \u2265 5000 \xB7 Poor \u2265 3000 \xB7 Critical < 3000.
|
|
380
|
+
|
|
381
|
+
\`\`\`
|
|
382
|
+
kirograph_health()
|
|
383
|
+
\`\`\`
|
|
384
|
+
|
|
385
|
+
### \`kirograph_complexity\`: rank functions by complexity
|
|
386
|
+
|
|
387
|
+
Returns cyclomatic complexity (CC), cognitive complexity, maintainability index (MI), and nesting depth, sorted by chosen metric.
|
|
388
|
+
|
|
389
|
+
\`\`\`
|
|
390
|
+
kirograph_complexity(metric: "cyclomatic", limit: 30, threshold: 10)
|
|
391
|
+
kirograph_complexity(metric: "cognitive")
|
|
392
|
+
kirograph_complexity(metric: "maintainability") // sort ASC \u2014 lowest MI first
|
|
393
|
+
\`\`\`
|
|
394
|
+
|
|
395
|
+
### \`kirograph_dsm\`: design structure matrix
|
|
396
|
+
|
|
397
|
+
Groups nodes by top-level directory and shows a dependency count matrix between groups. Reveals which modules depend on which others and where tight coupling lives.
|
|
398
|
+
|
|
399
|
+
\`\`\`
|
|
400
|
+
kirograph_dsm()
|
|
401
|
+
kirograph_dsm(limit: 10) // cap number of groups shown
|
|
402
|
+
\`\`\`
|
|
403
|
+
|
|
404
|
+
### \`kirograph_test_risk\`: risk-ranked functions
|
|
405
|
+
|
|
406
|
+
Risk = complexity \xD7 fan-in. Highest-risk functions are most likely to cause failures when changed.
|
|
407
|
+
|
|
408
|
+
\`\`\`
|
|
409
|
+
kirograph_test_risk(limit: 20)
|
|
410
|
+
kirograph_test_risk(threshold: 50) // only show risk score \u2265 50
|
|
411
|
+
\`\`\``;
|
|
412
|
+
}
|
|
413
|
+
if (enableGitContext) {
|
|
414
|
+
toolRef += `
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## Git Context tools *(require \`enableGitContext: true\` in config)*
|
|
419
|
+
|
|
420
|
+
### \`kirograph_diff_context\`: changed symbols in working tree
|
|
421
|
+
|
|
422
|
+
Returns symbols whose definitions overlap with \`git diff\` line ranges, plus their callers and callees. Use before a commit to understand what you actually changed.
|
|
423
|
+
|
|
424
|
+
\`\`\`
|
|
425
|
+
kirograph_diff_context() // unstaged changes
|
|
426
|
+
kirograph_diff_context(staged: true) // staged changes only
|
|
427
|
+
\`\`\`
|
|
428
|
+
|
|
429
|
+
### \`kirograph_commit_context\`: staged changes summary
|
|
430
|
+
|
|
431
|
+
Returns staged files, diff stat, and affected symbols. Ready to paste into a commit message prompt.
|
|
432
|
+
|
|
433
|
+
\`\`\`
|
|
434
|
+
kirograph_commit_context()
|
|
435
|
+
\`\`\`
|
|
436
|
+
|
|
437
|
+
### \`kirograph_pr_context\`: semantic diff between two refs
|
|
438
|
+
|
|
439
|
+
Returns symbols added/removed/changed between two git refs. Use for PR descriptions.
|
|
440
|
+
|
|
441
|
+
\`\`\`
|
|
442
|
+
kirograph_pr_context(base: "main", head: "HEAD")
|
|
443
|
+
kirograph_pr_context(base: "v1.2.0")
|
|
444
|
+
\`\`\`
|
|
445
|
+
|
|
446
|
+
### \`kirograph_test_map\`: symbol \u2192 test file mapping
|
|
447
|
+
|
|
448
|
+
Shows which test files cover a symbol (by caller graph), and which symbols have no test coverage at all.
|
|
449
|
+
|
|
450
|
+
\`\`\`
|
|
451
|
+
kirograph_test_map() // all uncovered symbols
|
|
452
|
+
kirograph_test_map(symbol: "processPayment") // tests for a specific symbol
|
|
453
|
+
\`\`\`
|
|
454
|
+
|
|
455
|
+
### \`kirograph_test_coverage\`: per-file coverage report
|
|
456
|
+
|
|
457
|
+
Parses lcov/Istanbul/Cobertura files. Sorted worst-first by default.
|
|
458
|
+
|
|
459
|
+
\`\`\`
|
|
460
|
+
kirograph_test_coverage()
|
|
461
|
+
kirograph_test_coverage(sortBy: "desc", limit: 20) // best coverage first
|
|
462
|
+
\`\`\``;
|
|
463
|
+
}
|
|
464
|
+
if (enableEditPrimitives) {
|
|
465
|
+
toolRef += `
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Edit Primitives *(require \`enableEditPrimitives: true\` in config)*
|
|
470
|
+
|
|
471
|
+
Atomic file edit tools. Each validates the anchor is unique before writing, then triggers \`kirograph sync\` to keep the graph up to date.
|
|
472
|
+
|
|
473
|
+
### \`kirograph_str_replace\`: replace a unique string
|
|
474
|
+
|
|
475
|
+
Fails on 0 or >1 matches \u2014 safe to use without counting occurrences first.
|
|
476
|
+
|
|
477
|
+
\`\`\`
|
|
478
|
+
kirograph_str_replace(file: "src/auth.ts", old_str: "const timeout = 5000", new_str: "const timeout = 10000")
|
|
479
|
+
\`\`\`
|
|
480
|
+
|
|
481
|
+
### \`kirograph_multi_str_replace\`: N replacements as one transaction
|
|
482
|
+
|
|
483
|
+
All-or-nothing: if any replacement fails, none are applied.
|
|
484
|
+
|
|
485
|
+
\`\`\`
|
|
486
|
+
kirograph_multi_str_replace(file: "src/auth.ts", pairs: [
|
|
487
|
+
{ old_str: "oldFunctionName", new_str: "newFunctionName" },
|
|
488
|
+
{ old_str: "OldClass", new_str: "NewClass" }
|
|
489
|
+
])
|
|
490
|
+
\`\`\`
|
|
491
|
+
|
|
492
|
+
### \`kirograph_insert_at\`: insert before/after an anchor
|
|
493
|
+
|
|
494
|
+
\`\`\`
|
|
495
|
+
kirograph_insert_at(file: "src/routes.ts", anchor: "// END ROUTES", content: "router.get('/health', healthCheck);", position: "before")
|
|
496
|
+
\`\`\`
|
|
497
|
+
|
|
498
|
+
### \`kirograph_refactor\`: structured search-and-replace across the graph
|
|
499
|
+
|
|
500
|
+
\`\`\`
|
|
501
|
+
kirograph_refactor(symbol: "OldName", newName: "NewName", kind: "function")
|
|
502
|
+
\`\`\``;
|
|
503
|
+
}
|
|
504
|
+
if (enableBranch) {
|
|
505
|
+
toolRef += `
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
## Branch tools *(require \`enableBranch: true\` in config)*
|
|
510
|
+
|
|
511
|
+
Each branch gets its own SQLite DB at \`.kirograph/branch-<name>.db\`. Use \`kirograph branch add\` to start tracking a branch.
|
|
512
|
+
|
|
513
|
+
### \`kirograph_branch_list\`: tracked branches
|
|
514
|
+
|
|
515
|
+
\`\`\`
|
|
516
|
+
kirograph_branch_list()
|
|
517
|
+
\`\`\`
|
|
518
|
+
|
|
519
|
+
### \`kirograph_branch_diff\`: symbols added/removed/changed between branches
|
|
520
|
+
|
|
521
|
+
\`\`\`
|
|
522
|
+
kirograph_branch_diff(branchA: "feature/new-auth", branchB: "main")
|
|
523
|
+
\`\`\`
|
|
524
|
+
|
|
525
|
+
### \`kirograph_branch_search\`: search symbols in another branch
|
|
526
|
+
|
|
527
|
+
\`\`\`
|
|
528
|
+
kirograph_branch_search(query: "processPayment", branch: "main")
|
|
335
529
|
\`\`\``;
|
|
336
530
|
}
|
|
337
531
|
let bugFixWorkflow = `**Bug fix or feature:**
|
|
@@ -378,13 +572,53 @@ ${bugFixWorkflow}`;
|
|
|
378
572
|
2. \`kirograph_circular_deps\`: find import cycles to untangle.
|
|
379
573
|
3. \`kirograph_surprising\`: find unexpected coupling to decouple.`;
|
|
380
574
|
}
|
|
575
|
+
if (enableComplexity) {
|
|
576
|
+
workflows += `
|
|
577
|
+
|
|
578
|
+
**Code quality audit:**
|
|
579
|
+
1. \`kirograph_health\`: get overall health score and breakdown.
|
|
580
|
+
2. \`kirograph_complexity\`: rank functions by cyclomatic complexity \u2014 focus on CC > 10.
|
|
581
|
+
3. \`kirograph_test_risk\`: find highest-risk functions (complexity \xD7 fan-in) to prioritize test coverage.
|
|
582
|
+
4. \`kirograph_dsm\`: check architectural coupling \u2014 high off-diagonal counts = tight coupling.`;
|
|
583
|
+
}
|
|
584
|
+
if (enableGitContext) {
|
|
585
|
+
workflows += `
|
|
586
|
+
|
|
587
|
+
**Pre-commit / pre-push review:**
|
|
588
|
+
1. \`kirograph_diff_context\`: understand what symbols changed and who calls them.
|
|
589
|
+
2. \`kirograph_test_map\`: verify changed symbols have test coverage.
|
|
590
|
+
3. \`kirograph_commit_context\`: build a structured commit message.
|
|
591
|
+
|
|
592
|
+
**PR description:**
|
|
593
|
+
1. \`kirograph_pr_context(base: "main")\`: get semantic diff between branches.
|
|
594
|
+
2. Use the output as structured context for the PR summary.`;
|
|
595
|
+
}
|
|
596
|
+
if (enableEditPrimitives) {
|
|
597
|
+
workflows += `
|
|
598
|
+
|
|
599
|
+
**Safe atomic edit:**
|
|
600
|
+
1. \`kirograph_impact\`: check blast radius before editing.
|
|
601
|
+
2. \`kirograph_str_replace\` or \`kirograph_insert_at\`: apply atomic change \u2014 validates uniqueness first.
|
|
602
|
+
3. After edit: \`kirograph_diff\` to verify only intended symbols changed.`;
|
|
603
|
+
}
|
|
604
|
+
if (enableBranch) {
|
|
605
|
+
workflows += `
|
|
606
|
+
|
|
607
|
+
**Cross-branch investigation:**
|
|
608
|
+
1. \`kirograph_branch_list\`: see which branches are tracked.
|
|
609
|
+
2. \`kirograph_branch_diff\`: find symbols added/removed/changed vs target branch.
|
|
610
|
+
3. \`kirograph_branch_search\`: locate a symbol in another branch's graph.`;
|
|
611
|
+
}
|
|
612
|
+
const hasRichFeatures = enableNavigation || enableCodeHealth || trackCallSites;
|
|
381
613
|
const workflowRows = [
|
|
382
614
|
...enableSecurity ? ["| security audit, check vulnerabilities, CVE review | `.kiro/steering/kirograph-security.md` |"] : [],
|
|
383
|
-
"| code review, review this PR | `.kiro/steering/kirograph-review.md` |",
|
|
384
|
-
"| debug, trace this bug, root cause | `.kiro/steering/kirograph-debug.md` |",
|
|
615
|
+
...hasRichFeatures ? ["| code review, review this PR | `.kiro/steering/kirograph-review.md` |"] : [],
|
|
616
|
+
...hasRichFeatures ? ["| debug, trace this bug, root cause | `.kiro/steering/kirograph-debug.md` |"] : [],
|
|
385
617
|
...enableArchitecture ? ["| architecture, understand structure, package map | `.kiro/steering/kirograph-architecture.md` |"] : [],
|
|
386
|
-
"| onboard, understand this codebase | `.kiro/steering/kirograph-onboard.md` |",
|
|
387
|
-
"| refactor, rename, safe refactoring | `.kiro/steering/kirograph-refactor.md` |",
|
|
618
|
+
...hasRichFeatures ? ["| onboard, understand this codebase | `.kiro/steering/kirograph-onboard.md` |"] : [],
|
|
619
|
+
...hasRichFeatures ? ["| refactor, rename, safe refactoring | `.kiro/steering/kirograph-refactor.md` |"] : [],
|
|
620
|
+
...enableGitContext ? ["| git diff review, PR context, commit message | `.kiro/steering/kirograph-git-context.md` |"] : [],
|
|
621
|
+
...enableComplexity ? ["| code quality audit, complexity, health score | `.kiro/steering/kirograph-complexity.md` |"] : [],
|
|
388
622
|
...enableMemory ? ["| memory, recall decisions, conflict detection | `.kiro/steering/kirograph-mem-workflow.md` |"] : [],
|
|
389
623
|
...enableWiki ? ["| wiki, update knowledge base, ingest docs | `.kiro/steering/kirograph-wiki-workflow.md` |"] : []
|
|
390
624
|
];
|
|
@@ -678,39 +912,63 @@ function writeWorkflowSteering(steeringDir, opts) {
|
|
|
678
912
|
const trackCallSites = opts?.trackCallSites ?? false;
|
|
679
913
|
const enableCodeHealth = opts?.enableCodeHealth ?? false;
|
|
680
914
|
const enableArchitecture = opts?.enableArchitecture ?? false;
|
|
681
|
-
const
|
|
682
|
-
const
|
|
683
|
-
|
|
915
|
+
const enableNavigation = opts?.enableNavigation ?? false;
|
|
916
|
+
const enableGitContext = opts?.enableGitContext ?? false;
|
|
917
|
+
const enableComplexity = opts?.enableComplexity ?? false;
|
|
918
|
+
const enableEditPrimitives = opts?.enableEditPrimitives ?? false;
|
|
919
|
+
const hasRichFeatures = enableNavigation || enableCodeHealth || trackCallSites;
|
|
920
|
+
if (hasRichFeatures) {
|
|
921
|
+
const reviewSteps = [
|
|
922
|
+
`1. **Understand the change scope**
|
|
684
923
|
\`\`\`
|
|
685
924
|
kirograph_context(task: "<describe what changed>")
|
|
686
|
-
|
|
687
|
-
|
|
925
|
+
\`\`\``
|
|
926
|
+
];
|
|
927
|
+
if (enableGitContext) {
|
|
928
|
+
reviewSteps.push(`2. **See exactly what symbols changed**
|
|
929
|
+
\`\`\`
|
|
930
|
+
kirograph_diff_context(staged: true)
|
|
931
|
+
\`\`\`
|
|
932
|
+
Lists changed symbols, their callers (who may break), and callees (what they depend on).`);
|
|
933
|
+
}
|
|
934
|
+
reviewSteps.push(`${reviewSteps.length + 1}. **Analyze blast radius**
|
|
688
935
|
For each key symbol that was modified:
|
|
689
936
|
\`\`\`
|
|
690
937
|
kirograph_impact(symbol: "<changed symbol>", depth: 2)
|
|
691
|
-
\`\`\``
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
938
|
+
\`\`\``);
|
|
939
|
+
if (enableGitContext) {
|
|
940
|
+
reviewSteps.push(`${reviewSteps.length + 1}. **Verify test coverage for changed symbols**
|
|
941
|
+
\`\`\`
|
|
942
|
+
kirograph_test_map(symbol: "<changed symbol>")
|
|
943
|
+
\`\`\`
|
|
944
|
+
Flag any changed symbols with no test files in their caller graph.`);
|
|
945
|
+
} else if (trackCallSites) {
|
|
946
|
+
reviewSteps.push(`${reviewSteps.length + 1}. **Check test coverage**
|
|
695
947
|
\`\`\`
|
|
696
948
|
kirograph_callers(symbol: "<changed symbol>")
|
|
697
949
|
\`\`\`
|
|
698
950
|
Look for test files among the callers. Flag untested changes.`);
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
951
|
+
}
|
|
952
|
+
if (enableComplexity) {
|
|
953
|
+
reviewSteps.push(`${reviewSteps.length + 1}. **Check risk score of changed functions**
|
|
954
|
+
\`\`\`
|
|
955
|
+
kirograph_test_risk(limit: 10)
|
|
956
|
+
\`\`\`
|
|
957
|
+
High risk (complexity \xD7 fan-in) = extra scrutiny warranted.`);
|
|
958
|
+
}
|
|
959
|
+
if (enableCodeHealth) {
|
|
960
|
+
reviewSteps.push(`${reviewSteps.length + 1}. **Look for surprising coupling**
|
|
703
961
|
\`\`\`
|
|
704
962
|
kirograph_surprising(limit: 10)
|
|
705
963
|
\`\`\``);
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
964
|
+
}
|
|
965
|
+
const findingsN = reviewSteps.length + 1;
|
|
966
|
+
reviewSteps.push(`${findingsN}. **Produce findings** grouped by risk level (high/medium/low) with:
|
|
709
967
|
- What changed and why it matters
|
|
710
968
|
- Test coverage status
|
|
711
969
|
- Suggested improvements
|
|
712
970
|
- Overall merge recommendation`);
|
|
713
|
-
|
|
971
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-review.md"), `---
|
|
714
972
|
inclusion: manual
|
|
715
973
|
---
|
|
716
974
|
|
|
@@ -722,40 +980,47 @@ Follow these steps for a structured, risk-aware code review using the knowledge
|
|
|
722
980
|
|
|
723
981
|
${reviewSteps.join("\n\n")}
|
|
724
982
|
`);
|
|
725
|
-
|
|
726
|
-
|
|
983
|
+
const debugSteps = [
|
|
984
|
+
`1. **Find related code**
|
|
727
985
|
\`\`\`
|
|
728
986
|
kirograph_search(query: "<error message or symptom keywords>")
|
|
729
987
|
\`\`\``,
|
|
730
|
-
|
|
988
|
+
`2. **Get full context**
|
|
731
989
|
\`\`\`
|
|
732
990
|
kirograph_context(task: "<describe the bug>")
|
|
733
991
|
\`\`\``
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
992
|
+
];
|
|
993
|
+
if (enableGitContext) {
|
|
994
|
+
debugSteps.push(`3. **Check what recently changed in related symbols**
|
|
737
995
|
\`\`\`
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
const n = debugSteps.length + 1;
|
|
744
|
-
debugSteps.push(`${n}. **Check what changed recently**
|
|
996
|
+
kirograph_diff_context()
|
|
997
|
+
\`\`\`
|
|
998
|
+
Most bugs trace back to recent changes \u2014 this surfaces them immediately.`);
|
|
999
|
+
} else if (enableCodeHealth) {
|
|
1000
|
+
debugSteps.push(`3. **Check what changed recently**
|
|
745
1001
|
\`\`\`
|
|
746
1002
|
kirograph_diff()
|
|
747
1003
|
\`\`\``);
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
1004
|
+
}
|
|
1005
|
+
if (trackCallSites) {
|
|
1006
|
+
const n = debugSteps.length + 1;
|
|
1007
|
+
debugSteps.push(`${n}. **Trace the call chain**
|
|
1008
|
+
\`\`\`
|
|
1009
|
+
kirograph_callers(symbol: "<suspected function>")
|
|
1010
|
+
kirograph_callees(symbol: "<suspected function>")
|
|
1011
|
+
\`\`\``);
|
|
1012
|
+
}
|
|
1013
|
+
const blastN = debugSteps.length + 1;
|
|
1014
|
+
debugSteps.push(`${blastN}. **Understand blast radius**
|
|
751
1015
|
\`\`\`
|
|
752
1016
|
kirograph_impact(symbol: "<root cause symbol>", depth: 3)
|
|
753
1017
|
\`\`\``);
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
1018
|
+
const debugTips = [];
|
|
1019
|
+
if (trackCallSites) debugTips.push("- Check both callers and callees to understand the full context");
|
|
1020
|
+
if (enableGitContext) debugTips.push("- `kirograph_diff_context` is the fastest way to spot a regression \u2014 check it first");
|
|
1021
|
+
else if (enableCodeHealth) debugTips.push("- Recent changes (via diff) are the most common source of new issues");
|
|
1022
|
+
debugTips.push("- Use `kirograph_path` to trace how two symbols are connected");
|
|
1023
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-debug.md"), `---
|
|
759
1024
|
inclusion: manual
|
|
760
1025
|
---
|
|
761
1026
|
|
|
@@ -770,44 +1035,44 @@ ${debugSteps.join("\n\n")}
|
|
|
770
1035
|
## Tips
|
|
771
1036
|
${debugTips.join("\n")}
|
|
772
1037
|
`);
|
|
773
|
-
|
|
774
|
-
|
|
1038
|
+
const onboardSteps = [
|
|
1039
|
+
`1. **Project overview**
|
|
775
1040
|
\`\`\`
|
|
776
1041
|
kirograph_status()
|
|
777
1042
|
\`\`\``,
|
|
778
|
-
|
|
1043
|
+
`2. **File structure**
|
|
779
1044
|
\`\`\`
|
|
780
1045
|
kirograph_files(format: "tree", maxDepth: 2)
|
|
781
1046
|
\`\`\``
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
1047
|
+
];
|
|
1048
|
+
if (enableCodeHealth) {
|
|
1049
|
+
onboardSteps.push(`3. **Key entry points**
|
|
785
1050
|
\`\`\`
|
|
786
1051
|
kirograph_hotspots(limit: 15)
|
|
787
1052
|
\`\`\``);
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
1053
|
+
}
|
|
1054
|
+
if (enableArchitecture) {
|
|
1055
|
+
const n = onboardSteps.length + 1;
|
|
1056
|
+
onboardSteps.push(`${n}. **Architecture layers**
|
|
792
1057
|
\`\`\`
|
|
793
1058
|
kirograph_architecture()
|
|
794
1059
|
\`\`\``);
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
1060
|
+
}
|
|
1061
|
+
const exploreN = onboardSteps.length + 1;
|
|
1062
|
+
onboardSteps.push(`${exploreN}. **Explore a specific area**
|
|
798
1063
|
\`\`\`
|
|
799
1064
|
kirograph_context(task: "<area you want to understand>")
|
|
800
1065
|
\`\`\``);
|
|
801
|
-
|
|
802
|
-
|
|
1066
|
+
const symbolN = onboardSteps.length + 1;
|
|
1067
|
+
onboardSteps.push(`${symbolN}. **Understand a key symbol**
|
|
803
1068
|
\`\`\`
|
|
804
1069
|
kirograph_node(symbol: "<symbol name>", includeCode: true)
|
|
805
1070
|
\`\`\``);
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
1071
|
+
const onboardTips = ["- Start broad (status, files) then narrow down"];
|
|
1072
|
+
if (enableCodeHealth) onboardTips[0] = "- Start broad (status, files, hotspots) then narrow down";
|
|
1073
|
+
if (enableCodeHealth) onboardTips.push("- Use `kirograph_type_hierarchy` to understand inheritance patterns");
|
|
1074
|
+
if (trackCallSites) onboardTips.push("- Use `kirograph_callees` on entry points to trace execution flow");
|
|
1075
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-onboard.md"), `---
|
|
811
1076
|
inclusion: manual
|
|
812
1077
|
---
|
|
813
1078
|
|
|
@@ -822,44 +1087,45 @@ ${onboardSteps.join("\n\n")}
|
|
|
822
1087
|
## Tips
|
|
823
1088
|
${onboardTips.join("\n")}
|
|
824
1089
|
`);
|
|
825
|
-
|
|
826
|
-
|
|
1090
|
+
const refactorSteps = [
|
|
1091
|
+
`1. **Understand what you're changing**
|
|
827
1092
|
\`\`\`
|
|
828
1093
|
kirograph_node(symbol: "<target symbol>", includeCode: true)
|
|
829
1094
|
\`\`\``,
|
|
830
|
-
|
|
1095
|
+
`2. **Check blast radius**
|
|
831
1096
|
\`\`\`
|
|
832
1097
|
kirograph_impact(symbol: "<target symbol>", depth: 3)
|
|
833
1098
|
\`\`\``
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
1099
|
+
];
|
|
1100
|
+
if (trackCallSites) {
|
|
1101
|
+
refactorSteps.push(`3. **Find all callers (rename preview)**
|
|
837
1102
|
\`\`\`
|
|
838
1103
|
kirograph_callers(symbol: "<target symbol>", limit: 50)
|
|
839
1104
|
\`\`\``);
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
1105
|
+
}
|
|
1106
|
+
if (enableCodeHealth) {
|
|
1107
|
+
let n = refactorSteps.length + 1;
|
|
1108
|
+
refactorSteps.push(`${n}. **Check for cycles that might complicate the refactor**
|
|
844
1109
|
\`\`\`
|
|
845
1110
|
kirograph_circular_deps()
|
|
846
1111
|
\`\`\``);
|
|
847
|
-
|
|
848
|
-
|
|
1112
|
+
n++;
|
|
1113
|
+
refactorSteps.push(`${n}. **Find dead code to clean up**
|
|
849
1114
|
\`\`\`
|
|
850
1115
|
kirograph_dead_code(limit: 30)
|
|
851
1116
|
\`\`\``);
|
|
852
|
-
|
|
853
|
-
|
|
1117
|
+
n++;
|
|
1118
|
+
refactorSteps.push(`${n}. **Verify after changes**
|
|
854
1119
|
Run \`kirograph sync\` then:
|
|
855
1120
|
\`\`\`
|
|
856
1121
|
kirograph_diff()
|
|
857
1122
|
\`\`\``);
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
1123
|
+
}
|
|
1124
|
+
const refactorChecks = ["- Always check `kirograph_impact` before major refactors"];
|
|
1125
|
+
if (trackCallSites) refactorChecks.push("- Use `kirograph_callers` as a rename preview (all locations that reference the symbol)");
|
|
1126
|
+
if (enableCodeHealth) refactorChecks.push("- After changes, use `kirograph_diff` to verify only intended symbols changed");
|
|
1127
|
+
if (enableEditPrimitives) refactorChecks.push("- Use `kirograph_str_replace` / `kirograph_multi_str_replace` for atomic edits that auto-sync the graph");
|
|
1128
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-refactor.md"), `---
|
|
863
1129
|
inclusion: manual
|
|
864
1130
|
---
|
|
865
1131
|
|
|
@@ -874,6 +1140,7 @@ ${refactorSteps.join("\n\n")}
|
|
|
874
1140
|
## Safety Checks
|
|
875
1141
|
${refactorChecks.join("\n")}
|
|
876
1142
|
`);
|
|
1143
|
+
}
|
|
877
1144
|
if (enableArchitecture) {
|
|
878
1145
|
const archSteps = [
|
|
879
1146
|
`1. **Get project overview**
|
|
@@ -906,6 +1173,27 @@ ${refactorChecks.join("\n")}
|
|
|
906
1173
|
kirograph_circular_deps()
|
|
907
1174
|
\`\`\``);
|
|
908
1175
|
}
|
|
1176
|
+
if (enableComplexity) {
|
|
1177
|
+
let n = archSteps.length + 1;
|
|
1178
|
+
archSteps.push(`${n}. **Module coupling matrix (DSM)**
|
|
1179
|
+
\`\`\`
|
|
1180
|
+
kirograph_dsm()
|
|
1181
|
+
\`\`\`
|
|
1182
|
+
High off-diagonal counts = tight coupling. Complements \`kirograph_coupling\` (package-level) with a symbol-level view.`);
|
|
1183
|
+
n++;
|
|
1184
|
+
archSteps.push(`${n}. **Overall health score**
|
|
1185
|
+
\`\`\`
|
|
1186
|
+
kirograph_health()
|
|
1187
|
+
\`\`\`
|
|
1188
|
+
The circular deps and coupling components directly reflect architectural quality.`);
|
|
1189
|
+
}
|
|
1190
|
+
const archInterpretation = [
|
|
1191
|
+
"- High Ca (afferent) = load-bearing, risky to change interface",
|
|
1192
|
+
"- High Ce (efferent) = depends on many things, safe to refactor internals",
|
|
1193
|
+
...enableCodeHealth ? ["- Surprising edges = hidden coupling that may break during refactoring"] : [],
|
|
1194
|
+
...enableComplexity ? ["- DSM diagonal = self-coupling (normal). Off-diagonal = cross-module coupling (minimize)."] : [],
|
|
1195
|
+
...enableComplexity ? ["- Health circular_score < 1500 = architectural debt requiring attention"] : []
|
|
1196
|
+
];
|
|
909
1197
|
fs.writeFileSync(path.join(steeringDir, "kirograph-architecture.md"), `---
|
|
910
1198
|
inclusion: manual
|
|
911
1199
|
---
|
|
@@ -919,11 +1207,24 @@ Follow these steps to understand the high-level structure of the codebase.
|
|
|
919
1207
|
${archSteps.join("\n\n")}
|
|
920
1208
|
|
|
921
1209
|
## Interpretation
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
${enableCodeHealth ? "- Surprising edges = hidden coupling that may break during refactoring\n" : ""}`);
|
|
1210
|
+
${archInterpretation.join("\n")}
|
|
1211
|
+
`);
|
|
925
1212
|
}
|
|
926
1213
|
if (opts?.enableSecurity) {
|
|
1214
|
+
const securityPatternsStep = opts?.enablePatterns ? `
|
|
1215
|
+
### 5b. Structural vulnerability patterns (AST search)
|
|
1216
|
+
\`\`\`
|
|
1217
|
+
kirograph_live_search(pattern: "eval($X)", language: "javascript")
|
|
1218
|
+
kirograph_live_search(pattern: "$OBJ.query($A + $B)", language: "typescript")
|
|
1219
|
+
\`\`\`
|
|
1220
|
+
Use \`kirograph pattern --list\` to browse bundled SAST rules (SQL injection, path traversal, hardcoded secrets, etc.).
|
|
1221
|
+
These patterns find code issues missed by dependency scanning.` : "";
|
|
1222
|
+
const securityComplexityStep = enableComplexity ? `
|
|
1223
|
+
### 5c. High-complexity code in security-critical paths
|
|
1224
|
+
\`\`\`
|
|
1225
|
+
kirograph_test_risk(limit: 15)
|
|
1226
|
+
\`\`\`
|
|
1227
|
+
High risk (complexity \xD7 fan-in) in auth/payment/session code = higher attack surface. Cross-reference with reachability results.` : "";
|
|
927
1228
|
fs.writeFileSync(path.join(steeringDir, "kirograph-security.md"), `---
|
|
928
1229
|
inclusion: manual
|
|
929
1230
|
---
|
|
@@ -975,6 +1276,7 @@ kirograph_licenses(policy: true)
|
|
|
975
1276
|
\`\`\`
|
|
976
1277
|
Review any DENY violations \u2014 these must be resolved before shipping.
|
|
977
1278
|
WARN violations should be documented and approved by the team.
|
|
1279
|
+
${securityPatternsStep}${securityComplexityStep}
|
|
978
1280
|
|
|
979
1281
|
### 6. Dependency staleness
|
|
980
1282
|
\`\`\`
|
|
@@ -1005,7 +1307,7 @@ kirograph_vex() // Vulnerability Exploitability eXchange
|
|
|
1005
1307
|
| \`not_affected\` | No reachable path found | Document, no action needed |
|
|
1006
1308
|
| \`under_investigation\` | Reachability unclear | Manual review required |
|
|
1007
1309
|
| Stale >= 0.7 | Very outdated | Review for accumulated CVEs |
|
|
1008
|
-
| License DENY | Policy violation | Must resolve before release |
|
|
1310
|
+
| License DENY | Policy violation | Must resolve before release |${opts?.enablePatterns ? "\n| Pattern match in security-critical code | Code-level vulnerability pattern found | Review context with `kirograph_node` |" : ""}
|
|
1009
1311
|
`);
|
|
1010
1312
|
console.log(` \u2713 Security workflow steering file written`);
|
|
1011
1313
|
}
|
|
@@ -1285,13 +1587,142 @@ superseded via \`kirograph_mem_judge\`.
|
|
|
1285
1587
|
`);
|
|
1286
1588
|
console.log(` \u2713 Memory workflow steering file written`);
|
|
1287
1589
|
}
|
|
1288
|
-
|
|
1590
|
+
if (enableGitContext) {
|
|
1591
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-git-context.md"), `---
|
|
1592
|
+
inclusion: manual
|
|
1593
|
+
---
|
|
1594
|
+
|
|
1595
|
+
# KiroGraph: Git Context Workflow
|
|
1596
|
+
|
|
1597
|
+
Use this workflow for pre-commit reviews, PR descriptions, and understanding what changed.
|
|
1598
|
+
|
|
1599
|
+
## 1. Before committing \u2014 understand what you changed
|
|
1600
|
+
|
|
1601
|
+
\`\`\`
|
|
1602
|
+
kirograph_diff_context() // unstaged \u2014 see what's touched
|
|
1603
|
+
kirograph_diff_context(staged: true) // staged \u2014 final check before commit
|
|
1604
|
+
\`\`\`
|
|
1605
|
+
|
|
1606
|
+
This shows changed symbols, their callers (who might break), and their callees (what they call).
|
|
1607
|
+
|
|
1608
|
+
## 2. Build commit message context
|
|
1609
|
+
|
|
1610
|
+
\`\`\`
|
|
1611
|
+
kirograph_commit_context()
|
|
1612
|
+
\`\`\`
|
|
1613
|
+
|
|
1614
|
+
Returns staged files, diff stat, and affected symbols. Feed into commit message generation.
|
|
1615
|
+
|
|
1616
|
+
## 3. Check test coverage for changed symbols
|
|
1617
|
+
|
|
1618
|
+
\`\`\`
|
|
1619
|
+
kirograph_test_map() // all symbols with no test coverage
|
|
1620
|
+
kirograph_test_map(symbol: "<changed fn>") // tests for a specific symbol
|
|
1621
|
+
\`\`\`
|
|
1622
|
+
|
|
1623
|
+
## 4. PR description
|
|
1624
|
+
|
|
1625
|
+
\`\`\`
|
|
1626
|
+
kirograph_pr_context(base: "main", head: "HEAD")
|
|
1627
|
+
\`\`\`
|
|
1628
|
+
|
|
1629
|
+
Returns symbols added/removed/changed between refs. Use as structured context for PR summary.
|
|
1630
|
+
|
|
1631
|
+
## 5. Coverage report (if lcov/Istanbul files exist)
|
|
1632
|
+
|
|
1633
|
+
\`\`\`
|
|
1634
|
+
kirograph_test_coverage() // worst-covered files first
|
|
1635
|
+
kirograph_test_coverage(sortBy: "desc") // best-covered files first
|
|
1636
|
+
\`\`\`
|
|
1637
|
+
|
|
1638
|
+
## Quick reference
|
|
1639
|
+
|
|
1640
|
+
| Intent | Tool |
|
|
1641
|
+
|--------|------|
|
|
1642
|
+
| What did I change? | \`kirograph_diff_context\` |
|
|
1643
|
+
| Commit message | \`kirograph_commit_context\` |
|
|
1644
|
+
| PR description | \`kirograph_pr_context\` |
|
|
1645
|
+
| Are my changes tested? | \`kirograph_test_map\` |
|
|
1646
|
+
| Per-file coverage % | \`kirograph_test_coverage\` |
|
|
1647
|
+
| Semantic changelog | \`kirograph_changelog\` |
|
|
1648
|
+
`);
|
|
1649
|
+
console.log(` \u2713 Git context workflow steering file written`);
|
|
1650
|
+
}
|
|
1651
|
+
if (enableComplexity) {
|
|
1652
|
+
fs.writeFileSync(path.join(steeringDir, "kirograph-complexity.md"), `---
|
|
1653
|
+
inclusion: manual
|
|
1654
|
+
---
|
|
1655
|
+
|
|
1656
|
+
# KiroGraph: Code Quality Workflow
|
|
1657
|
+
|
|
1658
|
+
Use this workflow to audit code quality, find high-risk functions, and track health over time.
|
|
1659
|
+
|
|
1660
|
+
## 1. Get an overall health score
|
|
1661
|
+
|
|
1662
|
+
\`\`\`
|
|
1663
|
+
kirograph_health()
|
|
1664
|
+
\`\`\`
|
|
1665
|
+
|
|
1666
|
+
Returns a 0\u201310000 score across complexity, dead code, coupling, and circular dependencies.
|
|
1667
|
+
Check all four components \u2014 a high total can mask one very low component.
|
|
1668
|
+
|
|
1669
|
+
## 2. Find complex functions
|
|
1670
|
+
|
|
1671
|
+
\`\`\`
|
|
1672
|
+
kirograph_complexity(metric: "cyclomatic", threshold: 10)
|
|
1673
|
+
kirograph_complexity(metric: "maintainability") // lowest MI first \u2014 most unmaintainable
|
|
1674
|
+
\`\`\`
|
|
1675
|
+
|
|
1676
|
+
**Thresholds:** CC > 10 = review candidate. CC > 20 = refactor. MI < 50 = unmaintainable.
|
|
1677
|
+
|
|
1678
|
+
## 3. Find highest-risk functions to change
|
|
1679
|
+
|
|
1680
|
+
\`\`\`
|
|
1681
|
+
kirograph_test_risk(limit: 20)
|
|
1682
|
+
\`\`\`
|
|
1683
|
+
|
|
1684
|
+
Risk = complexity \xD7 fan-in. These functions will have the widest blast radius if they break.
|
|
1685
|
+
|
|
1686
|
+
## 4. Check architectural coupling
|
|
1687
|
+
|
|
1688
|
+
\`\`\`
|
|
1689
|
+
kirograph_dsm()
|
|
1690
|
+
\`\`\`
|
|
1691
|
+
|
|
1692
|
+
High off-diagonal counts = tight coupling. Aim for low counts outside the diagonal.
|
|
1693
|
+
|
|
1694
|
+
## 5. Scan for simplification candidates
|
|
1695
|
+
|
|
1696
|
+
\`\`\`
|
|
1697
|
+
kirograph_simplify_scan()
|
|
1698
|
+
\`\`\`
|
|
1699
|
+
|
|
1700
|
+
Lists functions that fail on CC, MI, or LOC thresholds.
|
|
1701
|
+
|
|
1702
|
+
## Quick reference
|
|
1703
|
+
|
|
1704
|
+
| Intent | Tool |
|
|
1705
|
+
|--------|------|
|
|
1706
|
+
| Overall health | \`kirograph_health\` |
|
|
1707
|
+
| Most complex functions | \`kirograph_complexity\` |
|
|
1708
|
+
| Highest-risk to change | \`kirograph_test_risk\` |
|
|
1709
|
+
| Module coupling matrix | \`kirograph_dsm\` |
|
|
1710
|
+
| Simplification candidates | \`kirograph_simplify_scan\` |
|
|
1711
|
+
`);
|
|
1712
|
+
console.log(` \u2713 Complexity workflow steering file written`);
|
|
1713
|
+
}
|
|
1714
|
+
const written = [];
|
|
1715
|
+
if (hasRichFeatures) written.push("review", "debug", "onboard", "refactor");
|
|
1289
1716
|
if (opts?.enableArchitecture) written.push("architecture");
|
|
1290
1717
|
if (opts?.enableSecurity) written.push("security");
|
|
1291
1718
|
if (opts?.enablePatterns) written.push("patterns");
|
|
1719
|
+
if (enableGitContext) written.push("git-context");
|
|
1720
|
+
if (enableComplexity) written.push("complexity");
|
|
1292
1721
|
if (opts?.enableMemory) written.push("memory");
|
|
1293
1722
|
if (opts?.enableWiki) written.push("wiki");
|
|
1294
|
-
|
|
1723
|
+
if (written.length > 0) {
|
|
1724
|
+
console.log(` \u2713 Workflow steering files written (${written.join(", ")})`);
|
|
1725
|
+
}
|
|
1295
1726
|
}
|
|
1296
1727
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1297
1728
|
0 && (module.exports = {
|