kirograph 0.16.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +103 -1605
- package/dist/architecture/layers/dart.js +112 -0
- package/dist/architecture/layers/dart.js.map +7 -0
- package/dist/architecture/layers/index.js +3 -1
- package/dist/architecture/layers/index.js.map +2 -2
- package/dist/bin/banner.js +74 -6
- package/dist/bin/banner.js.map +2 -2
- package/dist/bin/commands/affected.js +40 -5
- package/dist/bin/commands/affected.js.map +2 -2
- package/dist/bin/commands/attack-surface.js +157 -0
- package/dist/bin/commands/attack-surface.js.map +7 -0
- package/dist/bin/commands/benchmark.js +206 -0
- package/dist/bin/commands/benchmark.js.map +7 -0
- package/dist/bin/commands/budget.js +70 -0
- package/dist/bin/commands/budget.js.map +7 -0
- package/dist/bin/commands/communities.js +77 -0
- package/dist/bin/commands/communities.js.map +7 -0
- package/dist/bin/commands/data.js +665 -0
- package/dist/bin/commands/data.js.map +7 -0
- package/dist/bin/commands/dep-confusion.js +119 -0
- package/dist/bin/commands/dep-confusion.js.map +7 -0
- package/dist/bin/commands/export.js +304 -10
- package/dist/bin/commands/export.js.map +2 -2
- package/dist/bin/commands/flows.js +97 -0
- package/dist/bin/commands/flows.js.map +7 -0
- package/dist/bin/commands/help.js +386 -100
- package/dist/bin/commands/help.js.map +2 -2
- package/dist/bin/commands/install.js +90 -8
- package/dist/bin/commands/install.js.map +2 -2
- package/dist/bin/commands/licenses.js +201 -0
- package/dist/bin/commands/licenses.js.map +7 -0
- package/dist/bin/commands/reachability.js +160 -0
- package/dist/bin/commands/reachability.js.map +7 -0
- package/dist/bin/commands/read.js +100 -0
- package/dist/bin/commands/read.js.map +7 -0
- package/dist/bin/commands/refactor.js +116 -0
- package/dist/bin/commands/refactor.js.map +7 -0
- package/dist/bin/commands/remediation.js +133 -0
- package/dist/bin/commands/remediation.js.map +7 -0
- package/dist/bin/commands/sbom.js +76 -0
- package/dist/bin/commands/sbom.js.map +7 -0
- package/dist/bin/commands/security-ci-report.js +267 -0
- package/dist/bin/commands/security-ci-report.js.map +7 -0
- package/dist/bin/commands/security-export.js +1349 -0
- package/dist/bin/commands/security-export.js.map +7 -0
- package/dist/bin/commands/security-flows.js +126 -0
- package/dist/bin/commands/security-flows.js.map +7 -0
- package/dist/bin/commands/security-secrets.js +170 -0
- package/dist/bin/commands/security-secrets.js.map +7 -0
- package/dist/bin/commands/security.js +193 -0
- package/dist/bin/commands/security.js.map +7 -0
- package/dist/bin/commands/staleness.js +144 -0
- package/dist/bin/commands/staleness.js.map +7 -0
- package/dist/bin/commands/status.js +102 -2
- package/dist/bin/commands/status.js.map +2 -2
- package/dist/bin/commands/supply-chain.js +138 -0
- package/dist/bin/commands/supply-chain.js.map +7 -0
- package/dist/bin/commands/uninit.js +109 -60
- package/dist/bin/commands/uninit.js.map +2 -2
- package/dist/bin/commands/vex.js +76 -0
- package/dist/bin/commands/vex.js.map +7 -0
- package/dist/bin/commands/vuln-suppress.js +95 -0
- package/dist/bin/commands/vuln-suppress.js.map +7 -0
- package/dist/bin/commands/vulns.js +382 -0
- package/dist/bin/commands/vulns.js.map +7 -0
- package/dist/bin/installer/auto-detect.js +125 -0
- package/dist/bin/installer/auto-detect.js.map +7 -0
- package/dist/bin/installer/cli-agent.js +28 -5
- package/dist/bin/installer/cli-agent.js.map +2 -2
- package/dist/bin/installer/common.js +47 -0
- package/dist/bin/installer/common.js.map +2 -2
- package/dist/bin/installer/config-prompt.js +39 -1
- package/dist/bin/installer/config-prompt.js.map +2 -2
- package/dist/bin/installer/detect.js +309 -0
- package/dist/bin/installer/detect.js.map +7 -0
- package/dist/bin/installer/index.js +36 -1
- package/dist/bin/installer/index.js.map +2 -2
- package/dist/bin/installer/instructions.js +195 -3
- package/dist/bin/installer/instructions.js.map +2 -2
- package/dist/bin/installer/steering.js +440 -0
- package/dist/bin/installer/steering.js.map +2 -2
- package/dist/bin/installer/targets/aider.js +3 -3
- package/dist/bin/installer/targets/aider.js.map +2 -2
- package/dist/bin/installer/targets/amp.js +3 -3
- package/dist/bin/installer/targets/amp.js.map +2 -2
- package/dist/bin/installer/targets/antigravity.js +35 -6
- package/dist/bin/installer/targets/antigravity.js.map +2 -2
- package/dist/bin/installer/targets/augment.js +3 -3
- package/dist/bin/installer/targets/augment.js.map +2 -2
- package/dist/bin/installer/targets/claude.js +49 -5
- package/dist/bin/installer/targets/claude.js.map +2 -2
- package/dist/bin/installer/targets/cline.js +32 -6
- package/dist/bin/installer/targets/cline.js.map +2 -2
- package/dist/bin/installer/targets/codex.js +64 -12
- package/dist/bin/installer/targets/codex.js.map +2 -2
- package/dist/bin/installer/targets/continue.js +2 -2
- package/dist/bin/installer/targets/continue.js.map +2 -2
- package/dist/bin/installer/targets/copilot-cli.js +101 -0
- package/dist/bin/installer/targets/copilot-cli.js.map +7 -0
- package/dist/bin/installer/targets/copilot.js +31 -5
- package/dist/bin/installer/targets/copilot.js.map +2 -2
- package/dist/bin/installer/targets/cursor.js +4 -4
- package/dist/bin/installer/targets/cursor.js.map +2 -2
- package/dist/bin/installer/targets/devin.js +2 -2
- package/dist/bin/installer/targets/devin.js.map +2 -2
- package/dist/bin/installer/targets/gemini-cli.js +2 -2
- package/dist/bin/installer/targets/gemini-cli.js.map +2 -2
- package/dist/bin/installer/targets/generic.js +2 -14
- package/dist/bin/installer/targets/generic.js.map +2 -2
- package/dist/bin/installer/targets/goose.js +3 -3
- package/dist/bin/installer/targets/goose.js.map +2 -2
- package/dist/bin/installer/targets/index.js +250 -0
- package/dist/bin/installer/targets/index.js.map +2 -2
- package/dist/bin/installer/targets/junie.js +2 -2
- package/dist/bin/installer/targets/junie.js.map +2 -2
- package/dist/bin/installer/targets/kilo.js +2 -2
- package/dist/bin/installer/targets/kilo.js.map +2 -2
- package/dist/bin/installer/targets/kiro.js +3 -3
- package/dist/bin/installer/targets/kiro.js.map +2 -2
- package/dist/bin/installer/targets/opencode.js +2 -2
- package/dist/bin/installer/targets/opencode.js.map +2 -2
- package/dist/bin/installer/targets/openhands.js +3 -3
- package/dist/bin/installer/targets/openhands.js.map +2 -2
- package/dist/bin/installer/targets/qoder.js +91 -0
- package/dist/bin/installer/targets/qoder.js.map +7 -0
- package/dist/bin/installer/targets/qwen.js +96 -0
- package/dist/bin/installer/targets/qwen.js.map +7 -0
- package/dist/bin/installer/targets/replit.js +3 -3
- package/dist/bin/installer/targets/replit.js.map +2 -2
- package/dist/bin/installer/targets/roo.js +2 -2
- package/dist/bin/installer/targets/roo.js.map +2 -2
- package/dist/bin/installer/targets/tabnine.js +3 -3
- package/dist/bin/installer/targets/tabnine.js.map +2 -2
- package/dist/bin/installer/targets/trae.js +5 -5
- package/dist/bin/installer/targets/trae.js.map +2 -2
- package/dist/bin/installer/targets/warp.js +2 -2
- package/dist/bin/installer/targets/warp.js.map +2 -2
- package/dist/bin/installer/targets/windsurf.js +35 -6
- package/dist/bin/installer/targets/windsurf.js.map +2 -2
- package/dist/bin/kirograph.js +74 -6
- package/dist/bin/kirograph.js.map +3 -3
- package/dist/bin/progress.js +30 -0
- package/dist/bin/progress.js.map +2 -2
- package/dist/compression/naive-cost.js +25 -0
- package/dist/compression/naive-cost.js.map +2 -2
- package/dist/compression/tracker.js +91 -2
- package/dist/compression/tracker.js.map +2 -2
- package/dist/compression/types.js.map +1 -1
- package/dist/config.js +126 -3
- package/dist/config.js.map +2 -2
- package/dist/core/pipeline.js +92 -4
- package/dist/core/pipeline.js.map +2 -2
- package/dist/data/filters.js +105 -0
- package/dist/data/filters.js.map +7 -0
- package/dist/data/indexer.js +225 -0
- package/dist/data/indexer.js.map +7 -0
- package/dist/data/linker.js +150 -0
- package/dist/data/linker.js.map +7 -0
- package/dist/data/lint.js +109 -0
- package/dist/data/lint.js.map +7 -0
- package/dist/data/parsers/csv.js +132 -0
- package/dist/data/parsers/csv.js.map +7 -0
- package/dist/data/parsers/excel.js +88 -0
- package/dist/data/parsers/excel.js.map +7 -0
- package/dist/data/parsers/index.js +79 -0
- package/dist/data/parsers/index.js.map +7 -0
- package/dist/data/parsers/json-array.js +89 -0
- package/dist/data/parsers/json-array.js.map +7 -0
- package/dist/data/parsers/jsonl.js +84 -0
- package/dist/data/parsers/jsonl.js.map +7 -0
- package/dist/data/parsers/parquet.js +95 -0
- package/dist/data/parsers/parquet.js.map +7 -0
- package/dist/data/profiler.js +182 -0
- package/dist/data/profiler.js.map +7 -0
- package/dist/data/queries.js +512 -0
- package/dist/data/queries.js.map +7 -0
- package/dist/data/types.js +17 -0
- package/dist/data/types.js.map +7 -0
- package/dist/db/data-schema.sql +61 -0
- package/dist/db/database.js +67 -5
- package/dist/db/database.js.map +2 -2
- package/dist/db/memory-schema.sql +5 -1
- package/dist/db/schema.sql +3 -1
- package/dist/db/security-schema.sql +72 -0
- package/dist/extraction/extractor.js +81 -0
- package/dist/extraction/extractor.js.map +2 -2
- package/dist/extraction/grammars.js +32 -8
- package/dist/extraction/grammars.js.map +2 -2
- package/dist/extraction/languages.js +43 -1
- package/dist/extraction/languages.js.map +2 -2
- package/dist/extraction/notebook.js +300 -0
- package/dist/extraction/notebook.js.map +7 -0
- package/dist/extraction/wasm/tree-sitter-astro.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-gdscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-julia.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-perl.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-powershell.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-sql.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-verilog.wasm +0 -0
- package/dist/frameworks/flutter.js +130 -0
- package/dist/frameworks/flutter.js.map +7 -0
- package/dist/frameworks/index.js +7 -1
- package/dist/frameworks/index.js.map +3 -3
- package/dist/graph/communities.js +317 -0
- package/dist/graph/communities.js.map +7 -0
- package/dist/graph/flows.js +138 -0
- package/dist/graph/flows.js.map +7 -0
- package/dist/graph/refactor.js +155 -0
- package/dist/graph/refactor.js.map +7 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +2 -2
- package/dist/mcp/cache.js +172 -0
- package/dist/mcp/cache.js.map +7 -0
- package/dist/mcp/read-modes.js +295 -0
- package/dist/mcp/read-modes.js.map +7 -0
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +2 -2
- package/dist/mcp/tool-names.js +29 -1
- package/dist/mcp/tool-names.js.map +2 -2
- package/dist/mcp/tools.js +1588 -6
- package/dist/mcp/tools.js.map +3 -3
- package/dist/memory/database.js +32 -2
- package/dist/memory/database.js.map +2 -2
- package/dist/memory/types.js.map +1 -1
- package/dist/resolution/bridges/android-rn.js +298 -0
- package/dist/resolution/bridges/android-rn.js.map +7 -0
- package/dist/resolution/bridges/expo-modules.js +155 -0
- package/dist/resolution/bridges/expo-modules.js.map +7 -0
- package/dist/resolution/bridges/flutter-channel.js +385 -0
- package/dist/resolution/bridges/flutter-channel.js.map +7 -0
- package/dist/resolution/bridges/index.js +80 -0
- package/dist/resolution/bridges/index.js.map +7 -0
- package/dist/resolution/bridges/native-events.js +188 -0
- package/dist/resolution/bridges/native-events.js.map +7 -0
- package/dist/resolution/bridges/native-views.js +244 -0
- package/dist/resolution/bridges/native-views.js.map +7 -0
- package/dist/resolution/bridges/react-native.js +161 -0
- package/dist/resolution/bridges/react-native.js.map +7 -0
- package/dist/resolution/bridges/swift-objc.js +227 -0
- package/dist/resolution/bridges/swift-objc.js.map +7 -0
- package/dist/resolution/bridges/turbomodules.js +216 -0
- package/dist/resolution/bridges/turbomodules.js.map +7 -0
- package/dist/resolution/index.js +61 -2
- package/dist/resolution/index.js.map +2 -2
- package/dist/security/attack-surface.js +164 -0
- package/dist/security/attack-surface.js.map +7 -0
- package/dist/security/context-warnings.js +123 -0
- package/dist/security/context-warnings.js.map +7 -0
- package/dist/security/context-warnings.test.js +300 -0
- package/dist/security/context-warnings.test.js.map +7 -0
- package/dist/security/data-flows.js +228 -0
- package/dist/security/data-flows.js.map +7 -0
- package/dist/security/dep-confusion.js +255 -0
- package/dist/security/dep-confusion.js.map +7 -0
- package/dist/security/errors.js +51 -0
- package/dist/security/errors.js.map +7 -0
- package/dist/security/export/fix-suggestions.js +58 -0
- package/dist/security/export/fix-suggestions.js.map +7 -0
- package/dist/security/export/fix-suggestions.test.js +74 -0
- package/dist/security/export/fix-suggestions.test.js.map +7 -0
- package/dist/security/export/sbom.js +230 -0
- package/dist/security/export/sbom.js.map +7 -0
- package/dist/security/export/sbom.test.js +288 -0
- package/dist/security/export/sbom.test.js.map +7 -0
- package/dist/security/export/serialization.js +142 -0
- package/dist/security/export/serialization.js.map +7 -0
- package/dist/security/export/serialization.test.js +310 -0
- package/dist/security/export/serialization.test.js.map +7 -0
- package/dist/security/export/vex.js +220 -0
- package/dist/security/export/vex.js.map +7 -0
- package/dist/security/export/vex.test.js +278 -0
- package/dist/security/export/vex.test.js.map +7 -0
- package/dist/security/index.js +67 -0
- package/dist/security/index.js.map +7 -0
- package/dist/security/integrator-transitives.test.js +359 -0
- package/dist/security/integrator-transitives.test.js.map +7 -0
- package/dist/security/integrator.js +491 -0
- package/dist/security/integrator.js.map +7 -0
- package/dist/security/integrator.test.js +237 -0
- package/dist/security/integrator.test.js.map +7 -0
- package/dist/security/license.js +70 -0
- package/dist/security/license.js.map +7 -0
- package/dist/security/manifest/adapter.js +243 -0
- package/dist/security/manifest/adapter.js.map +7 -0
- package/dist/security/manifest/adapter.test.js +272 -0
- package/dist/security/manifest/adapter.test.js.map +7 -0
- package/dist/security/manifest/parser.js +376 -0
- package/dist/security/manifest/parser.js.map +7 -0
- package/dist/security/manifest/parser.test.js +110 -0
- package/dist/security/manifest/parser.test.js.map +7 -0
- package/dist/security/manifest/plugins/cargo.js +233 -0
- package/dist/security/manifest/plugins/cargo.js.map +7 -0
- package/dist/security/manifest/plugins/cargo.test.js +304 -0
- package/dist/security/manifest/plugins/cargo.test.js.map +7 -0
- package/dist/security/manifest/plugins/composer.js +152 -0
- package/dist/security/manifest/plugins/composer.js.map +7 -0
- package/dist/security/manifest/plugins/go.js +146 -0
- package/dist/security/manifest/plugins/go.js.map +7 -0
- package/dist/security/manifest/plugins/go.test.js +341 -0
- package/dist/security/manifest/plugins/go.test.js.map +7 -0
- package/dist/security/manifest/plugins/gradle.js +159 -0
- package/dist/security/manifest/plugins/gradle.js.map +7 -0
- package/dist/security/manifest/plugins/hex.js +159 -0
- package/dist/security/manifest/plugins/hex.js.map +7 -0
- package/dist/security/manifest/plugins/maven.js +128 -0
- package/dist/security/manifest/plugins/maven.js.map +7 -0
- package/dist/security/manifest/plugins/maven.test.js +389 -0
- package/dist/security/manifest/plugins/maven.test.js.map +7 -0
- package/dist/security/manifest/plugins/npm.js +284 -0
- package/dist/security/manifest/plugins/npm.js.map +7 -0
- package/dist/security/manifest/plugins/npm.test.js +298 -0
- package/dist/security/manifest/plugins/npm.test.js.map +7 -0
- package/dist/security/manifest/plugins/nuget.js +186 -0
- package/dist/security/manifest/plugins/nuget.js.map +7 -0
- package/dist/security/manifest/plugins/pip.js +123 -0
- package/dist/security/manifest/plugins/pip.js.map +7 -0
- package/dist/security/manifest/plugins/pip.test.js +208 -0
- package/dist/security/manifest/plugins/pip.test.js.map +7 -0
- package/dist/security/manifest/plugins/pubspec.js +212 -0
- package/dist/security/manifest/plugins/pubspec.js.map +7 -0
- package/dist/security/manifest/plugins/pyproject.js +261 -0
- package/dist/security/manifest/plugins/pyproject.js.map +7 -0
- package/dist/security/manifest/plugins/rubygems.js +185 -0
- package/dist/security/manifest/plugins/rubygems.js.map +7 -0
- package/dist/security/manifest/plugins/swift.js +200 -0
- package/dist/security/manifest/plugins/swift.js.map +7 -0
- package/dist/security/owasp.js +104 -0
- package/dist/security/owasp.js.map +7 -0
- package/dist/security/pipeline.js +125 -0
- package/dist/security/pipeline.js.map +7 -0
- package/dist/security/reachability.js +276 -0
- package/dist/security/reachability.js.map +7 -0
- package/dist/security/reachability.test.js +394 -0
- package/dist/security/reachability.test.js.map +7 -0
- package/dist/security/remediation.js +126 -0
- package/dist/security/remediation.js.map +7 -0
- package/dist/security/secrets.js +176 -0
- package/dist/security/secrets.js.map +7 -0
- package/dist/security/staleness.js +231 -0
- package/dist/security/staleness.js.map +7 -0
- package/dist/security/supply-chain.js +301 -0
- package/dist/security/supply-chain.js.map +7 -0
- package/dist/security/suppressions.js +106 -0
- package/dist/security/suppressions.js.map +7 -0
- package/dist/security/types.js +17 -0
- package/dist/security/types.js.map +7 -0
- package/dist/security/vuln/client.js +355 -0
- package/dist/security/vuln/client.js.map +7 -0
- package/dist/security/vuln/client.test.js +288 -0
- package/dist/security/vuln/client.test.js.map +7 -0
- package/dist/security/vuln/epss-client.js +95 -0
- package/dist/security/vuln/epss-client.js.map +7 -0
- package/dist/security/vuln/index.js +29 -0
- package/dist/security/vuln/index.js.map +7 -0
- package/dist/security/vuln/osv-adapter.js +321 -0
- package/dist/security/vuln/osv-adapter.js.map +7 -0
- package/dist/security/vuln/osv-adapter.test.js +391 -0
- package/dist/security/vuln/osv-adapter.test.js.map +7 -0
- package/dist/security/vuln/types.js +17 -0
- package/dist/security/vuln/types.js.map +7 -0
- package/dist/types.js.map +2 -2
- package/package.json +5 -2
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var qoder_exports = {};
|
|
30
|
+
__export(qoder_exports, {
|
|
31
|
+
installQoderEarly: () => installQoderEarly,
|
|
32
|
+
installQoderLate: () => installQoderLate,
|
|
33
|
+
printQoderNextSteps: () => printQoderNextSteps,
|
|
34
|
+
uninitQoder: () => uninitQoder
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(qoder_exports);
|
|
37
|
+
var fs = __toESM(require("fs"));
|
|
38
|
+
var path = __toESM(require("path"));
|
|
39
|
+
var import_common = require("../common");
|
|
40
|
+
var import_instructions = require("../instructions");
|
|
41
|
+
function installQoderEarly(projectRoot) {
|
|
42
|
+
const mcpPath = path.join(projectRoot, ".qoder", "mcp.json");
|
|
43
|
+
(0, import_common.ensureDir)(path.dirname(mcpPath));
|
|
44
|
+
const config = (0, import_common.readJson)(mcpPath);
|
|
45
|
+
config.mcpServers = config.mcpServers ?? {};
|
|
46
|
+
if (config.mcpServers[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
47
|
+
console.log(` \u2713 Qoder MCP already configured in ${mcpPath}`);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
config.mcpServers[import_common.KIROGRAPH_SERVER_NAME] = {
|
|
51
|
+
command: import_common.KIROGRAPH_COMMAND,
|
|
52
|
+
args: import_common.KIROGRAPH_MCP_ARGS
|
|
53
|
+
};
|
|
54
|
+
(0, import_common.writeJson)(mcpPath, config);
|
|
55
|
+
console.log(` \u2713 Qoder MCP server registered in ${mcpPath}`);
|
|
56
|
+
}
|
|
57
|
+
function installQoderLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
58
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "qoder.md");
|
|
59
|
+
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
60
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
61
|
+
console.log(` \u2713 Qoder instructions written to ${instructionsPath}`);
|
|
62
|
+
}
|
|
63
|
+
function uninitQoder(projectRoot) {
|
|
64
|
+
const mcpPath = path.join(projectRoot, ".qoder", "mcp.json");
|
|
65
|
+
if (fs.existsSync(mcpPath)) {
|
|
66
|
+
const config = (0, import_common.readJson)(mcpPath);
|
|
67
|
+
if (config.mcpServers?.[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
68
|
+
delete config.mcpServers[import_common.KIROGRAPH_SERVER_NAME];
|
|
69
|
+
if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;
|
|
70
|
+
(0, import_common.writeJson)(mcpPath, config);
|
|
71
|
+
console.log(` \u2713 Removed kirograph from .qoder/mcp.json`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "qoder.md");
|
|
75
|
+
if (fs.existsSync(instructionsPath)) {
|
|
76
|
+
fs.unlinkSync(instructionsPath);
|
|
77
|
+
console.log(` \u2713 Removed .kirograph/qoder.md`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function printQoderNextSteps() {
|
|
81
|
+
console.log("\n Done! Restart Qoder for the MCP server to load.");
|
|
82
|
+
console.log(" MCP registered in .qoder/mcp.json\n");
|
|
83
|
+
}
|
|
84
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
+
0 && (module.exports = {
|
|
86
|
+
installQoderEarly,
|
|
87
|
+
installQoderLate,
|
|
88
|
+
printQoderNextSteps,
|
|
89
|
+
uninitQoder
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=qoder.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/qoder.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Qoder target.\n *\n * MCP: .qoder/mcp.json (project-level, mcpServers format)\n * Instructions: .kirograph/qoder.md\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nexport function installQoderEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.qoder', 'mcp.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n if (config.mcpServers[KIROGRAPH_SERVER_NAME]) {\n console.log(` \u2713 Qoder MCP already configured in ${mcpPath}`);\n return;\n }\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Qoder MCP server registered in ${mcpPath}`);\n}\n\nexport function installQoderLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'qoder.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Qoder instructions written to ${instructionsPath}`);\n}\n\nexport function uninitQoder(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.qoder', 'mcp.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from .qoder/mcp.json`);\n }\n }\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'qoder.md');\n if (fs.existsSync(instructionsPath)) {\n fs.unlinkSync(instructionsPath);\n console.log(` \u2713 Removed .kirograph/qoder.md`);\n }\n}\n\nexport function printQoderNextSteps(): void {\n console.log('\\n Done! Restart Qoder for the MCP server to load.');\n console.log(' MCP registered in .qoder/mcp.json\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAoB;AACpB,WAAsB;AAEtB,oBAQO;AACP,0BAAuC;AAEhC,SAAS,kBAAkB,aAA2B;AAC3D,QAAM,UAAU,KAAK,KAAK,aAAa,UAAU,UAAU;AAC3D,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,MAAI,OAAO,WAAW,mCAAqB,GAAG;AAC5C,YAAQ,IAAI,4CAAuC,OAAO,EAAE;AAC5D;AAAA,EACF;AACA,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,2CAAsC,OAAO,EAAE;AAC7D;AAEO,SAAS,iBAAiB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AACzP,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,UAAU;AACxE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,gDAAuB,oCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACxM,UAAQ,IAAI,0CAAqC,gBAAgB,EAAE;AACrE;AAEO,SAAS,YAAY,aAA2B;AACrD,QAAM,UAAU,KAAK,KAAK,aAAa,UAAU,UAAU;AAC3D,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,UAAM,aAAS,wBAAS,OAAO;AAC/B,QAAI,OAAO,aAAa,mCAAqB,GAAG;AAC9C,aAAO,OAAO,WAAW,mCAAqB;AAC9C,UAAI,OAAO,KAAK,OAAO,UAAU,EAAE,WAAW,EAAG,QAAO,OAAO;AAC/D,mCAAU,SAAS,MAAM;AACzB,cAAQ,IAAI,iDAA4C;AAAA,IAC1D;AAAA,EACF;AAEA,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,UAAU;AACxE,MAAI,GAAG,WAAW,gBAAgB,GAAG;AACnC,OAAG,WAAW,gBAAgB;AAC9B,YAAQ,IAAI,sCAAiC;AAAA,EAC/C;AACF;AAEO,SAAS,sBAA4B;AAC1C,UAAQ,IAAI,qDAAqD;AACjE,UAAQ,IAAI,uCAAuC;AACrD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var qwen_exports = {};
|
|
30
|
+
__export(qwen_exports, {
|
|
31
|
+
installQwenEarly: () => installQwenEarly,
|
|
32
|
+
installQwenLate: () => installQwenLate,
|
|
33
|
+
printQwenNextSteps: () => printQwenNextSteps,
|
|
34
|
+
uninitQwen: () => uninitQwen
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(qwen_exports);
|
|
37
|
+
var fs = __toESM(require("fs"));
|
|
38
|
+
var path = __toESM(require("path"));
|
|
39
|
+
var import_common = require("../common");
|
|
40
|
+
var import_instructions = require("../instructions");
|
|
41
|
+
function installQwenEarly(_projectRoot) {
|
|
42
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
43
|
+
const mcpPath = path.join(home, ".qwen", "settings.json");
|
|
44
|
+
(0, import_common.ensureDir)(path.dirname(mcpPath));
|
|
45
|
+
const config = (0, import_common.readJson)(mcpPath);
|
|
46
|
+
config.mcpServers = config.mcpServers ?? {};
|
|
47
|
+
if (config.mcpServers[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
48
|
+
console.log(` \u2713 Qwen Code MCP already configured in ${mcpPath}`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
config.mcpServers[import_common.KIROGRAPH_SERVER_NAME] = {
|
|
52
|
+
command: import_common.KIROGRAPH_COMMAND,
|
|
53
|
+
args: import_common.KIROGRAPH_MCP_ARGS
|
|
54
|
+
};
|
|
55
|
+
(0, import_common.writeJson)(mcpPath, config);
|
|
56
|
+
console.log(` \u2713 Qwen Code MCP server registered in ${mcpPath}`);
|
|
57
|
+
}
|
|
58
|
+
function installQwenLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
59
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "qwen.md");
|
|
60
|
+
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
61
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
62
|
+
console.log(` \u2713 Qwen Code instructions written to ${instructionsPath}`);
|
|
63
|
+
}
|
|
64
|
+
function uninitQwen(projectRoot) {
|
|
65
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
66
|
+
const mcpPath = path.join(home, ".qwen", "settings.json");
|
|
67
|
+
if (fs.existsSync(mcpPath)) {
|
|
68
|
+
const config = (0, import_common.readJson)(mcpPath);
|
|
69
|
+
if (config.mcpServers?.[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
70
|
+
delete config.mcpServers[import_common.KIROGRAPH_SERVER_NAME];
|
|
71
|
+
if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;
|
|
72
|
+
(0, import_common.writeJson)(mcpPath, config);
|
|
73
|
+
console.log(` \u2713 Removed kirograph from ~/.qwen/settings.json`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "qwen.md");
|
|
77
|
+
if (fs.existsSync(instructionsPath)) {
|
|
78
|
+
fs.unlinkSync(instructionsPath);
|
|
79
|
+
console.log(` \u2713 Removed .kirograph/qwen.md`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function printQwenNextSteps() {
|
|
83
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
84
|
+
const mcpPath = path.join(home, ".qwen", "settings.json");
|
|
85
|
+
console.log("\n Done! Restart Qwen Code for the MCP server to load.");
|
|
86
|
+
console.log(` MCP registered in ${mcpPath}
|
|
87
|
+
`);
|
|
88
|
+
}
|
|
89
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
90
|
+
0 && (module.exports = {
|
|
91
|
+
installQwenEarly,
|
|
92
|
+
installQwenLate,
|
|
93
|
+
printQwenNextSteps,
|
|
94
|
+
uninitQwen
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=qwen.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/qwen.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Qwen Code target.\n *\n * MCP: ~/.qwen/settings.json (user-scoped, mcpServers format)\n * Instructions: .kirograph/qwen.md\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nexport function installQwenEarly(_projectRoot: string): void {\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.qwen', 'settings.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n if (config.mcpServers[KIROGRAPH_SERVER_NAME]) {\n console.log(` \u2713 Qwen Code MCP already configured in ${mcpPath}`);\n return;\n }\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Qwen Code MCP server registered in ${mcpPath}`);\n}\n\nexport function installQwenLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'qwen.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Qwen Code instructions written to ${instructionsPath}`);\n}\n\nexport function uninitQwen(projectRoot: string): void {\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.qwen', 'settings.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from ~/.qwen/settings.json`);\n }\n }\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'qwen.md');\n if (fs.existsSync(instructionsPath)) {\n fs.unlinkSync(instructionsPath);\n console.log(` \u2713 Removed .kirograph/qwen.md`);\n }\n}\n\nexport function printQwenNextSteps(): void {\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.qwen', 'settings.json');\n console.log('\\n Done! Restart Qwen Code for the MCP server to load.');\n console.log(` MCP registered in ${mcpPath}\\n`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAoB;AACpB,WAAsB;AAEtB,oBAQO;AACP,0BAAuC;AAEhC,SAAS,iBAAiB,cAA4B;AAC3D,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,SAAS,eAAe;AACxD,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,MAAI,OAAO,WAAW,mCAAqB,GAAG;AAC5C,YAAQ,IAAI,gDAA2C,OAAO,EAAE;AAChE;AAAA,EACF;AACA,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,+CAA0C,OAAO,EAAE;AACjE;AAEO,SAAS,gBAAgB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AACxP,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,SAAS;AACvE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,gDAAuB,oCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACxM,UAAQ,IAAI,8CAAyC,gBAAgB,EAAE;AACzE;AAEO,SAAS,WAAW,aAA2B;AACpD,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,SAAS,eAAe;AACxD,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,UAAM,aAAS,wBAAS,OAAO;AAC/B,QAAI,OAAO,aAAa,mCAAqB,GAAG;AAC9C,aAAO,OAAO,WAAW,mCAAqB;AAC9C,UAAI,OAAO,KAAK,OAAO,UAAU,EAAE,WAAW,EAAG,QAAO,OAAO;AAC/D,mCAAU,SAAS,MAAM;AACzB,cAAQ,IAAI,uDAAkD;AAAA,IAChE;AAAA,EACF;AAEA,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,SAAS;AACvE,MAAI,GAAG,WAAW,gBAAgB,GAAG;AACnC,OAAG,WAAW,gBAAgB;AAC9B,YAAQ,IAAI,qCAAgC;AAAA,EAC9C;AACF;AAEO,SAAS,qBAA2B;AACzC,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,SAAS,eAAe;AACxD,UAAQ,IAAI,yDAAyD;AACrE,UAAQ,IAAI,uBAAuB,OAAO;AAAA,CAAI;AAChD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -42,13 +42,13 @@ var import_common2 = require("../common");
|
|
|
42
42
|
const REPLIT_BLOCK_ID = "replit";
|
|
43
43
|
function installReplitEarly(_projectRoot) {
|
|
44
44
|
}
|
|
45
|
-
function installReplitLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
45
|
+
function installReplitLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
46
46
|
const instructionsPath = path.join(projectRoot, ".kirograph", "replit.md");
|
|
47
47
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
48
|
-
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
48
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
49
49
|
console.log(` \u2713 Replit instructions written to ${instructionsPath}`);
|
|
50
50
|
const agentsPath = path.join(projectRoot, "AGENTS.md");
|
|
51
|
-
const changed = (0, import_common.upsertGeneratedBlock)(agentsPath, REPLIT_BLOCK_ID, "## KiroGraph", (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
51
|
+
const changed = (0, import_common.upsertGeneratedBlock)(agentsPath, REPLIT_BLOCK_ID, "## KiroGraph", (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
52
52
|
console.log(changed ? ` \u2713 AGENTS.md updated with KiroGraph instructions (Replit)` : ` \u2713 AGENTS.md already up to date`);
|
|
53
53
|
}
|
|
54
54
|
function uninitReplit(projectRoot) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/replit.ts"],
|
|
4
|
-
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n printMcpCommand,\n upsertGeneratedBlock,\n removeGeneratedBlock,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nconst REPLIT_BLOCK_ID = 'replit';\n\nexport function installReplitEarly(_projectRoot: string): void {\n // Replit MCP is configured through the Replit UI or .replit file.\n // We print instructions in next steps.\n}\n\nexport function installReplitLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'replit.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(` \u2713 Replit instructions written to ${instructionsPath}`);\n\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const changed = upsertGeneratedBlock(agentsPath, REPLIT_BLOCK_ID, '## KiroGraph', buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(changed\n ? ` \u2713 AGENTS.md updated with KiroGraph instructions (Replit)`\n : ` \u2713 AGENTS.md already up to date`);\n}\n\nexport function uninitReplit(projectRoot: string): void {\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n if (removeGeneratedBlock(agentsPath, REPLIT_BLOCK_ID)) {\n console.log(` \u2713 Removed KiroGraph block from AGENTS.md (Replit)`);\n }\n}\n\nexport function printReplitNextSteps(projectRoot: string): void {\n console.log('\\n Done! KiroGraph instructions are in AGENTS.md.');\n printMcpCommand(`kirograph serve --mcp --path \"${projectRoot}\"`);\n console.log(' Configure this command in your Replit workspace MCP settings.');\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAKO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAErC,MAAM,kBAAkB;AAEjB,SAAS,mBAAmB,cAA4B;AAG/D;AAEO,SAAS,kBAAkB,aAAqB,aAAmC,uBAAgC,
|
|
4
|
+
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n printMcpCommand,\n upsertGeneratedBlock,\n removeGeneratedBlock,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nconst REPLIT_BLOCK_ID = 'replit';\n\nexport function installReplitEarly(_projectRoot: string): void {\n // Replit MCP is configured through the Replit UI or .replit file.\n // We print instructions in next steps.\n}\n\nexport function installReplitLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'replit.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Replit instructions written to ${instructionsPath}`);\n\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const changed = upsertGeneratedBlock(agentsPath, REPLIT_BLOCK_ID, '## KiroGraph', buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(changed\n ? ` \u2713 AGENTS.md updated with KiroGraph instructions (Replit)`\n : ` \u2713 AGENTS.md already up to date`);\n}\n\nexport function uninitReplit(projectRoot: string): void {\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n if (removeGeneratedBlock(agentsPath, REPLIT_BLOCK_ID)) {\n console.log(` \u2713 Removed KiroGraph block from AGENTS.md (Replit)`);\n }\n}\n\nexport function printReplitNextSteps(projectRoot: string): void {\n console.log('\\n Done! KiroGraph instructions are in AGENTS.md.');\n printMcpCommand(`kirograph serve --mcp --path \"${projectRoot}\"`);\n console.log(' Configure this command in your Replit workspace MCP settings.');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAKO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAErC,MAAM,kBAAkB;AAEjB,SAAS,mBAAmB,cAA4B;AAG/D;AAEO,SAAS,kBAAkB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AAC1P,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,WAAW;AACzE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACxM,UAAQ,IAAI,2CAAsC,gBAAgB,EAAE;AAEpE,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,QAAM,cAAU,oCAAqB,YAAY,iBAAiB,oBAAgB,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACvP,UAAQ,IAAI,UACR,oEACA,uCAAkC;AACxC;AAEO,SAAS,aAAa,aAA2B;AACtD,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,UAAI,oCAAqB,YAAY,eAAe,GAAG;AACrD,YAAQ,IAAI,0DAAqD;AAAA,EACnE;AACF;AAEO,SAAS,qBAAqB,aAA2B;AAC9D,UAAQ,IAAI,oDAAoD;AAChE,qCAAgB,iCAAiC,WAAW,GAAG;AAC/D,UAAQ,IAAI,iEAAiE;AAC/E;",
|
|
6
6
|
"names": ["import_common"]
|
|
7
7
|
}
|
|
@@ -52,8 +52,8 @@ function installRooEarly(projectRoot) {
|
|
|
52
52
|
(0, import_common.writeJson)(mcpPath, config);
|
|
53
53
|
console.log(` \u2713 Roo Code MCP server registered in ${mcpPath}`);
|
|
54
54
|
}
|
|
55
|
-
function installRooLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
56
|
-
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory);
|
|
55
|
+
function installRooLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
56
|
+
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture);
|
|
57
57
|
const instructionsPath = path.join(projectRoot, ".kirograph", "roo.md");
|
|
58
58
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
59
59
|
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)(opts));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/roo.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Roo Code target.\n *\n * MCP: user-scoped at ~/.roo/mcp_settings.json (print instructions)\n * Rules: .roo/rules/kirograph.md (directory-based, preferred method)\n * Also reads: AGENTS.md, .roorules (fallback)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n readJson,\n writeJson,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst ROO_RULES_FILE = 'kirograph.md';\n\nexport function installRooEarly(projectRoot: string): void {\n // Write MCP to .roo/mcp.json (project-level, per Roo Code docs)\n const mcpPath = path.join(projectRoot, '.roo', 'mcp.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n disabled: false,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Roo Code MCP server registered in ${mcpPath}`);\n}\n\nexport function installRooLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean): void {\n const opts = buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory);\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'roo.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(opts));\n console.log(` \u2713 Roo Code instructions written to ${instructionsPath}`);\n\n // Write rules file inside .roo/rules/ directory (preferred method)\n const rulesDir = path.join(projectRoot, '.roo', 'rules');\n ensureDir(rulesDir);\n const rulePath = path.join(rulesDir, ROO_RULES_FILE);\n fs.writeFileSync(rulePath, buildAgentInstructions(opts));\n console.log(` \u2713 Roo Code rule written to ${rulePath}`);\n}\n\nexport function uninitRoo(projectRoot: string): void {\n // Remove MCP entry\n const mcpPath = path.join(projectRoot, '.roo', 'mcp.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from .roo/mcp.json`);\n }\n }\n\n // Remove rule file\n const rulePath = path.join(projectRoot, '.roo', 'rules', ROO_RULES_FILE);\n if (fs.existsSync(rulePath)) {\n fs.unlinkSync(rulePath);\n console.log(` \u2713 Removed .roo/rules/${ROO_RULES_FILE}`);\n }\n}\n\nexport function printRooNextSteps(): void {\n console.log('\\n Done! Restart Roo Code for the MCP server to load.');\n console.log(' MCP is in .roo/mcp.json');\n console.log(' KiroGraph rule is in .roo/rules/kirograph.md\\n');\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAoB;AACpB,WAAsB;AAEtB,oBAQO;AACP,0BAAuC;AAEvC,MAAM,iBAAiB;AAEhB,SAAS,gBAAgB,aAA2B;AAEzD,QAAM,UAAU,KAAK,KAAK,aAAa,QAAQ,UAAU;AACzD,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,8CAAyC,OAAO,EAAE;AAChE;AAEO,SAAS,eAAe,aAAqB,aAAmC,uBAAgC,
|
|
4
|
+
"sourcesContent": ["/**\n * Roo Code target.\n *\n * MCP: user-scoped at ~/.roo/mcp_settings.json (print instructions)\n * Rules: .roo/rules/kirograph.md (directory-based, preferred method)\n * Also reads: AGENTS.md, .roorules (fallback)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n readJson,\n writeJson,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst ROO_RULES_FILE = 'kirograph.md';\n\nexport function installRooEarly(projectRoot: string): void {\n // Write MCP to .roo/mcp.json (project-level, per Roo Code docs)\n const mcpPath = path.join(projectRoot, '.roo', 'mcp.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n disabled: false,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Roo Code MCP server registered in ${mcpPath}`);\n}\n\nexport function installRooLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const opts = buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture);\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'roo.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(opts));\n console.log(` \u2713 Roo Code instructions written to ${instructionsPath}`);\n\n // Write rules file inside .roo/rules/ directory (preferred method)\n const rulesDir = path.join(projectRoot, '.roo', 'rules');\n ensureDir(rulesDir);\n const rulePath = path.join(rulesDir, ROO_RULES_FILE);\n fs.writeFileSync(rulePath, buildAgentInstructions(opts));\n console.log(` \u2713 Roo Code rule written to ${rulePath}`);\n}\n\nexport function uninitRoo(projectRoot: string): void {\n // Remove MCP entry\n const mcpPath = path.join(projectRoot, '.roo', 'mcp.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from .roo/mcp.json`);\n }\n }\n\n // Remove rule file\n const rulePath = path.join(projectRoot, '.roo', 'rules', ROO_RULES_FILE);\n if (fs.existsSync(rulePath)) {\n fs.unlinkSync(rulePath);\n console.log(` \u2713 Removed .roo/rules/${ROO_RULES_FILE}`);\n }\n}\n\nexport function printRooNextSteps(): void {\n console.log('\\n Done! Restart Roo Code for the MCP server to load.');\n console.log(' MCP is in .roo/mcp.json');\n console.log(' KiroGraph rule is in .roo/rules/kirograph.md\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAoB;AACpB,WAAsB;AAEtB,oBAQO;AACP,0BAAuC;AAEvC,MAAM,iBAAiB;AAEhB,SAAS,gBAAgB,aAA2B;AAEzD,QAAM,UAAU,KAAK,KAAK,aAAa,QAAQ,UAAU;AACzD,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,8CAAyC,OAAO,EAAE;AAChE;AAEO,SAAS,eAAe,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AACvP,QAAM,WAAO,oCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB;AAEzJ,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,QAAQ;AACtE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,4CAAuB,IAAI,CAAC;AAC/D,UAAQ,IAAI,6CAAwC,gBAAgB,EAAE;AAGtE,QAAM,WAAW,KAAK,KAAK,aAAa,QAAQ,OAAO;AACvD,+BAAU,QAAQ;AAClB,QAAM,WAAW,KAAK,KAAK,UAAU,cAAc;AACnD,KAAG,cAAc,cAAU,4CAAuB,IAAI,CAAC;AACvD,UAAQ,IAAI,qCAAgC,QAAQ,EAAE;AACxD;AAEO,SAAS,UAAU,aAA2B;AAEnD,QAAM,UAAU,KAAK,KAAK,aAAa,QAAQ,UAAU;AACzD,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,UAAM,aAAS,wBAAS,OAAO;AAC/B,QAAI,OAAO,aAAa,mCAAqB,GAAG;AAC9C,aAAO,OAAO,WAAW,mCAAqB;AAC9C,UAAI,OAAO,KAAK,OAAO,UAAU,EAAE,WAAW,EAAG,QAAO,OAAO;AAC/D,mCAAU,SAAS,MAAM;AACzB,cAAQ,IAAI,+CAA0C;AAAA,IACxD;AAAA,EACF;AAGA,QAAM,WAAW,KAAK,KAAK,aAAa,QAAQ,SAAS,cAAc;AACvE,MAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,OAAG,WAAW,QAAQ;AACtB,YAAQ,IAAI,+BAA0B,cAAc,EAAE;AAAA,EACxD;AACF;AAEO,SAAS,oBAA0B;AACxC,UAAQ,IAAI,wDAAwD;AACpE,UAAQ,IAAI,2BAA2B;AACvC,UAAQ,IAAI,kDAAkD;AAChE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -47,14 +47,14 @@ function installTabnineEarly(projectRoot) {
|
|
|
47
47
|
});
|
|
48
48
|
console.log(` \u2713 Tabnine MCP server registered in ${mcpPath}`);
|
|
49
49
|
}
|
|
50
|
-
function installTabnineLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
50
|
+
function installTabnineLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
51
51
|
const instructionsPath = path.join(projectRoot, ".kirograph", "tabnine.md");
|
|
52
52
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
53
|
-
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
53
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
54
54
|
console.log(` \u2713 Tabnine instructions written to ${instructionsPath}`);
|
|
55
55
|
const rulesPath = path.join(projectRoot, ".tabnine", "instructions.md");
|
|
56
56
|
(0, import_common.ensureDir)(path.dirname(rulesPath));
|
|
57
|
-
fs.writeFileSync(rulesPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
57
|
+
fs.writeFileSync(rulesPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
58
58
|
console.log(` \u2713 Tabnine instructions written to ${rulesPath}`);
|
|
59
59
|
}
|
|
60
60
|
function uninitTabnine(projectRoot) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/tabnine.ts"],
|
|
4
|
-
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n removeMcpServersConfig,\n writeMcpServersConfig,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nexport function installTabnineEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.tabnine', 'mcp.json');\n writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n });\n console.log(` \u2713 Tabnine MCP server registered in ${mcpPath}`);\n}\n\nexport function installTabnineLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'tabnine.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(` \u2713 Tabnine instructions written to ${instructionsPath}`);\n\n const rulesPath = path.join(projectRoot, '.tabnine', 'instructions.md');\n ensureDir(path.dirname(rulesPath));\n fs.writeFileSync(rulesPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(` \u2713 Tabnine instructions written to ${rulesPath}`);\n}\n\nexport function uninitTabnine(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.tabnine', 'mcp.json');\n if (removeMcpServersConfig(mcpPath)) {\n console.log(` \u2713 Removed kirograph from .tabnine/mcp.json`);\n }\n\n const rulesPath = path.join(projectRoot, '.tabnine', 'instructions.md');\n if (fs.existsSync(rulesPath)) {\n fs.unlinkSync(rulesPath);\n console.log(` \u2713 Removed .tabnine/instructions.md`);\n }\n}\n\nexport function printTabnineNextSteps(): void {\n console.log('\\n Done! Restart Tabnine for the MCP server to load.');\n console.log(' KiroGraph instructions are in .tabnine/instructions.md\\n');\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAMO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAE9B,SAAS,oBAAoB,aAA2B;AAC7D,QAAM,UAAU,KAAK,KAAK,aAAa,YAAY,UAAU;AAC7D,2CAAsB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,MAAM;AAAA,EACR,CAAC;AACD,UAAQ,IAAI,6CAAwC,OAAO,EAAE;AAC/D;AAEO,SAAS,mBAAmB,aAAqB,aAAmC,uBAAgC,
|
|
4
|
+
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n removeMcpServersConfig,\n writeMcpServersConfig,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nexport function installTabnineEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.tabnine', 'mcp.json');\n writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n });\n console.log(` \u2713 Tabnine MCP server registered in ${mcpPath}`);\n}\n\nexport function installTabnineLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'tabnine.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Tabnine instructions written to ${instructionsPath}`);\n\n const rulesPath = path.join(projectRoot, '.tabnine', 'instructions.md');\n ensureDir(path.dirname(rulesPath));\n fs.writeFileSync(rulesPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Tabnine instructions written to ${rulesPath}`);\n}\n\nexport function uninitTabnine(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.tabnine', 'mcp.json');\n if (removeMcpServersConfig(mcpPath)) {\n console.log(` \u2713 Removed kirograph from .tabnine/mcp.json`);\n }\n\n const rulesPath = path.join(projectRoot, '.tabnine', 'instructions.md');\n if (fs.existsSync(rulesPath)) {\n fs.unlinkSync(rulesPath);\n console.log(` \u2713 Removed .tabnine/instructions.md`);\n }\n}\n\nexport function printTabnineNextSteps(): void {\n console.log('\\n Done! Restart Tabnine for the MCP server to load.');\n console.log(' KiroGraph instructions are in .tabnine/instructions.md\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAMO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAE9B,SAAS,oBAAoB,aAA2B;AAC7D,QAAM,UAAU,KAAK,KAAK,aAAa,YAAY,UAAU;AAC7D,2CAAsB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,MAAM;AAAA,EACR,CAAC;AACD,UAAQ,IAAI,6CAAwC,OAAO,EAAE;AAC/D;AAEO,SAAS,mBAAmB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AAC3P,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,YAAY;AAC1E,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACxM,UAAQ,IAAI,4CAAuC,gBAAgB,EAAE;AAErE,QAAM,YAAY,KAAK,KAAK,aAAa,YAAY,iBAAiB;AACtE,+BAAU,KAAK,QAAQ,SAAS,CAAC;AACjC,KAAG,cAAc,eAAW,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACjM,UAAQ,IAAI,4CAAuC,SAAS,EAAE;AAChE;AAEO,SAAS,cAAc,aAA2B;AACvD,QAAM,UAAU,KAAK,KAAK,aAAa,YAAY,UAAU;AAC7D,UAAI,sCAAuB,OAAO,GAAG;AACnC,YAAQ,IAAI,mDAA8C;AAAA,EAC5D;AAEA,QAAM,YAAY,KAAK,KAAK,aAAa,YAAY,iBAAiB;AACtE,MAAI,GAAG,WAAW,SAAS,GAAG;AAC5B,OAAG,WAAW,SAAS;AACvB,YAAQ,IAAI,2CAAsC;AAAA,EACpD;AACF;AAEO,SAAS,wBAA8B;AAC5C,UAAQ,IAAI,uDAAuD;AACnE,UAAQ,IAAI,4DAA4D;AAC1E;",
|
|
6
6
|
"names": ["import_common"]
|
|
7
7
|
}
|
|
@@ -41,22 +41,22 @@ var import_instructions = require("../instructions");
|
|
|
41
41
|
var import_common2 = require("../common");
|
|
42
42
|
function installTraeEarly(projectRoot) {
|
|
43
43
|
const mcpPath = path.join(projectRoot, ".trae", "mcp.json");
|
|
44
|
-
(0, import_common.writeMcpServersConfig)(mcpPath, {
|
|
44
|
+
const written = (0, import_common.writeMcpServersConfig)(mcpPath, {
|
|
45
45
|
command: import_common.KIROGRAPH_COMMAND,
|
|
46
46
|
args: import_common.KIROGRAPH_MCP_ARGS
|
|
47
47
|
});
|
|
48
|
-
console.log(` \u2713 Trae MCP server registered in ${mcpPath}`);
|
|
48
|
+
console.log(written ? ` \u2713 Trae MCP server registered in ${mcpPath}` : ` \u2713 Trae MCP already configured in ${mcpPath}`);
|
|
49
49
|
}
|
|
50
|
-
function installTraeLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
50
|
+
function installTraeLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
51
51
|
const instructionsPath = path.join(projectRoot, ".kirograph", "trae.md");
|
|
52
52
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
53
|
-
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
53
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
54
54
|
console.log(` \u2713 Trae instructions written to ${instructionsPath}`);
|
|
55
55
|
const rulesDir = path.join(projectRoot, ".trae", "rules");
|
|
56
56
|
(0, import_common.ensureDir)(rulesDir);
|
|
57
57
|
const rulePath = path.join(rulesDir, "kirograph.md");
|
|
58
58
|
const frontmatter = "---\nalwaysApply: true\n---\n\n";
|
|
59
|
-
fs.writeFileSync(rulePath, frontmatter + (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory)));
|
|
59
|
+
fs.writeFileSync(rulePath, frontmatter + (0, import_instructions.buildAgentInstructions)((0, import_common2.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture)));
|
|
60
60
|
console.log(` \u2713 Trae rule written to ${rulePath}`);
|
|
61
61
|
}
|
|
62
62
|
function uninitTrae(projectRoot) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/trae.ts"],
|
|
4
|
-
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n removeMcpServersConfig,\n writeMcpServersConfig,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nexport function installTraeEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.trae', 'mcp.json');\n writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n });\n console.log(` \u2713 Trae MCP server registered in ${mcpPath}`);\n}\n\nexport function installTraeLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'trae.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(` \u2713 Trae instructions written to ${instructionsPath}`);\n\n const rulesDir = path.join(projectRoot, '.trae', 'rules');\n ensureDir(rulesDir);\n const rulePath = path.join(rulesDir, 'kirograph.md');\n const frontmatter = '---\\nalwaysApply: true\\n---\\n\\n';\n fs.writeFileSync(rulePath, frontmatter + buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory)));\n console.log(` \u2713 Trae rule written to ${rulePath}`);\n}\n\nexport function uninitTrae(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.trae', 'mcp.json');\n if (removeMcpServersConfig(mcpPath)) {\n console.log(` \u2713 Removed kirograph from .trae/mcp.json`);\n }\n\n const rulePath = path.join(projectRoot, '.trae', 'rules', 'kirograph.md');\n if (fs.existsSync(rulePath)) {\n fs.unlinkSync(rulePath);\n console.log(` \u2713 Removed .trae/rules/kirograph.md`);\n }\n}\n\nexport function printTraeNextSteps(): void {\n console.log('\\n Done! Restart Trae for the MCP server to load.');\n console.log(' KiroGraph rule is in .trae/rules/kirograph.md\\n');\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAMO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAE9B,SAAS,iBAAiB,aAA2B;AAC1D,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,UAAU;AAC1D,
|
|
4
|
+
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n removeMcpServersConfig,\n writeMcpServersConfig,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\nimport { buildInstructionOpts } from '../common';\n\nexport function installTraeEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.trae', 'mcp.json');\n const written = writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n });\n console.log(written\n ? ` \u2713 Trae MCP server registered in ${mcpPath}`\n : ` \u2713 Trae MCP already configured in ${mcpPath}`);\n}\n\nexport function installTraeLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'trae.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Trae instructions written to ${instructionsPath}`);\n\n const rulesDir = path.join(projectRoot, '.trae', 'rules');\n ensureDir(rulesDir);\n const rulePath = path.join(rulesDir, 'kirograph.md');\n const frontmatter = '---\\nalwaysApply: true\\n---\\n\\n';\n fs.writeFileSync(rulePath, frontmatter + buildAgentInstructions(buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture)));\n console.log(` \u2713 Trae rule written to ${rulePath}`);\n}\n\nexport function uninitTrae(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.trae', 'mcp.json');\n if (removeMcpServersConfig(mcpPath)) {\n console.log(` \u2713 Removed kirograph from .trae/mcp.json`);\n }\n\n const rulePath = path.join(projectRoot, '.trae', 'rules', 'kirograph.md');\n if (fs.existsSync(rulePath)) {\n fs.unlinkSync(rulePath);\n console.log(` \u2713 Removed .trae/rules/kirograph.md`);\n }\n}\n\nexport function printTraeNextSteps(): void {\n console.log('\\n Done! Restart Trae for the MCP server to load.');\n console.log(' KiroGraph rule is in .trae/rules/kirograph.md\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAMO;AACP,0BAAuC;AACvC,IAAAA,iBAAqC;AAE9B,SAAS,iBAAiB,aAA2B;AAC1D,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,UAAU;AAC1D,QAAM,cAAU,qCAAsB,SAAS;AAAA,IAC7C,SAAS;AAAA,IACT,MAAM;AAAA,EACR,CAAC;AACD,UAAQ,IAAI,UACR,0CAAqC,OAAO,KAC5C,2CAAsC,OAAO,EAAE;AACrD;AAEO,SAAS,gBAAgB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AACxP,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,SAAS;AACvE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AACxM,UAAQ,IAAI,yCAAoC,gBAAgB,EAAE;AAElE,QAAM,WAAW,KAAK,KAAK,aAAa,SAAS,OAAO;AACxD,+BAAU,QAAQ;AAClB,QAAM,WAAW,KAAK,KAAK,UAAU,cAAc;AACnD,QAAM,cAAc;AACpB,KAAG,cAAc,UAAU,kBAAc,gDAAuB,qCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB,CAAC,CAAC;AAC9M,UAAQ,IAAI,iCAA4B,QAAQ,EAAE;AACpD;AAEO,SAAS,WAAW,aAA2B;AACpD,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,UAAU;AAC1D,UAAI,sCAAuB,OAAO,GAAG;AACnC,YAAQ,IAAI,gDAA2C;AAAA,EACzD;AAEA,QAAM,WAAW,KAAK,KAAK,aAAa,SAAS,SAAS,cAAc;AACxE,MAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,OAAG,WAAW,QAAQ;AACtB,YAAQ,IAAI,2CAAsC;AAAA,EACpD;AACF;AAEO,SAAS,qBAA2B;AACzC,UAAQ,IAAI,oDAAoD;AAChE,UAAQ,IAAI,mDAAmD;AACjE;",
|
|
6
6
|
"names": ["import_common"]
|
|
7
7
|
}
|
|
@@ -51,8 +51,8 @@ function installWarpEarly(projectRoot) {
|
|
|
51
51
|
(0, import_common.writeJson)(mcpPath, config);
|
|
52
52
|
console.log(` \u2713 Warp MCP server registered in ${mcpPath}`);
|
|
53
53
|
}
|
|
54
|
-
function installWarpLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
55
|
-
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory);
|
|
54
|
+
function installWarpLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
55
|
+
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, void 0, enableDocs, enableData, enableSecurity, enableArchitecture);
|
|
56
56
|
const instructionsPath = path.join(projectRoot, ".kirograph", "warp.md");
|
|
57
57
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
58
58
|
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)(opts));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/warp.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Warp target.\n *\n * MCP: .warp/.mcp.json (project-level, standard mcpServers format)\n * Rules: AGENTS.md (Warp reads this natively, upsert block)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n upsertGeneratedBlock,\n removeGeneratedBlock,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst WARP_BLOCK_ID = 'warp';\n\nexport function installWarpEarly(projectRoot: string): void {\n // Write MCP to .warp/.mcp.json (project-level)\n const mcpPath = path.join(projectRoot, '.warp', '.mcp.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Warp MCP server registered in ${mcpPath}`);\n}\n\nexport function installWarpLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean): void {\n const opts = buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory);\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'warp.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(opts));\n console.log(` \u2713 Warp instructions written to ${instructionsPath}`);\n\n // Write to AGENTS.md (Warp reads this natively)\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const changed = upsertGeneratedBlock(agentsPath, WARP_BLOCK_ID, '## KiroGraph', buildAgentInstructions(opts));\n console.log(changed\n ? ` \u2713 AGENTS.md updated with KiroGraph instructions (Warp)`\n : ` \u2713 AGENTS.md already up to date`);\n\n // Remove legacy .warp/rules/kirograph.md if it exists\n const legacyRule = path.join(projectRoot, '.warp', 'rules', 'kirograph.md');\n if (fs.existsSync(legacyRule)) {\n fs.unlinkSync(legacyRule);\n console.log(` \u2713 Removed legacy .warp/rules/kirograph.md`);\n }\n}\n\nexport function uninitWarp(projectRoot: string): void {\n // Remove MCP entry\n const mcpPath = path.join(projectRoot, '.warp', '.mcp.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from .warp/.mcp.json`);\n }\n }\n\n // Remove AGENTS.md block\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n if (removeGeneratedBlock(agentsPath, WARP_BLOCK_ID)) {\n console.log(` \u2713 Removed KiroGraph block from AGENTS.md (Warp)`);\n }\n}\n\nexport function printWarpNextSteps(): void {\n console.log('\\n Done! Restart Warp for the MCP server to load.');\n console.log(' MCP is in .warp/.mcp.json');\n console.log(' KiroGraph instructions are in AGENTS.md\\n');\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAoB;AACpB,WAAsB;AAEtB,oBAUO;AACP,0BAAuC;AAEvC,MAAM,gBAAgB;AAEf,SAAS,iBAAiB,aAA2B;AAE1D,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,WAAW;AAC3D,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,0CAAqC,OAAO,EAAE;AAC5D;AAEO,SAAS,gBAAgB,aAAqB,aAAmC,uBAAgC,
|
|
4
|
+
"sourcesContent": ["/**\n * Warp target.\n *\n * MCP: .warp/.mcp.json (project-level, standard mcpServers format)\n * Rules: AGENTS.md (Warp reads this natively, upsert block)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n upsertGeneratedBlock,\n removeGeneratedBlock,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst WARP_BLOCK_ID = 'warp';\n\nexport function installWarpEarly(projectRoot: string): void {\n // Write MCP to .warp/.mcp.json (project-level)\n const mcpPath = path.join(projectRoot, '.warp', '.mcp.json');\n ensureDir(path.dirname(mcpPath));\n const config = readJson(mcpPath);\n config.mcpServers = config.mcpServers ?? {};\n config.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n };\n writeJson(mcpPath, config);\n console.log(` \u2713 Warp MCP server registered in ${mcpPath}`);\n}\n\nexport function installWarpLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const opts = buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, undefined, enableDocs, enableData, enableSecurity, enableArchitecture);\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'warp.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(opts));\n console.log(` \u2713 Warp instructions written to ${instructionsPath}`);\n\n // Write to AGENTS.md (Warp reads this natively)\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const changed = upsertGeneratedBlock(agentsPath, WARP_BLOCK_ID, '## KiroGraph', buildAgentInstructions(opts));\n console.log(changed\n ? ` \u2713 AGENTS.md updated with KiroGraph instructions (Warp)`\n : ` \u2713 AGENTS.md already up to date`);\n\n // Remove legacy .warp/rules/kirograph.md if it exists\n const legacyRule = path.join(projectRoot, '.warp', 'rules', 'kirograph.md');\n if (fs.existsSync(legacyRule)) {\n fs.unlinkSync(legacyRule);\n console.log(` \u2713 Removed legacy .warp/rules/kirograph.md`);\n }\n}\n\nexport function uninitWarp(projectRoot: string): void {\n // Remove MCP entry\n const mcpPath = path.join(projectRoot, '.warp', '.mcp.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from .warp/.mcp.json`);\n }\n }\n\n // Remove AGENTS.md block\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n if (removeGeneratedBlock(agentsPath, WARP_BLOCK_ID)) {\n console.log(` \u2713 Removed KiroGraph block from AGENTS.md (Warp)`);\n }\n}\n\nexport function printWarpNextSteps(): void {\n console.log('\\n Done! Restart Warp for the MCP server to load.');\n console.log(' MCP is in .warp/.mcp.json');\n console.log(' KiroGraph instructions are in AGENTS.md\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAoB;AACpB,WAAsB;AAEtB,oBAUO;AACP,0BAAuC;AAEvC,MAAM,gBAAgB;AAEf,SAAS,iBAAiB,aAA2B;AAE1D,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,WAAW;AAC3D,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,aAAS,wBAAS,OAAO;AAC/B,SAAO,aAAa,OAAO,cAAc,CAAC;AAC1C,SAAO,WAAW,mCAAqB,IAAI;AAAA,IACzC,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,+BAAU,SAAS,MAAM;AACzB,UAAQ,IAAI,0CAAqC,OAAO,EAAE;AAC5D;AAEO,SAAS,gBAAgB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AACxP,QAAM,WAAO,oCAAqB,aAAa,uBAAuB,cAAc,QAAW,YAAY,YAAY,gBAAgB,kBAAkB;AAEzJ,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,SAAS;AACvE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,4CAAuB,IAAI,CAAC;AAC/D,UAAQ,IAAI,yCAAoC,gBAAgB,EAAE;AAGlE,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,QAAM,cAAU,oCAAqB,YAAY,eAAe,oBAAgB,4CAAuB,IAAI,CAAC;AAC5G,UAAQ,IAAI,UACR,kEACA,uCAAkC;AAGtC,QAAM,aAAa,KAAK,KAAK,aAAa,SAAS,SAAS,cAAc;AAC1E,MAAI,GAAG,WAAW,UAAU,GAAG;AAC7B,OAAG,WAAW,UAAU;AACxB,YAAQ,IAAI,kDAA6C;AAAA,EAC3D;AACF;AAEO,SAAS,WAAW,aAA2B;AAEpD,QAAM,UAAU,KAAK,KAAK,aAAa,SAAS,WAAW;AAC3D,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,UAAM,aAAS,wBAAS,OAAO;AAC/B,QAAI,OAAO,aAAa,mCAAqB,GAAG;AAC9C,aAAO,OAAO,WAAW,mCAAqB;AAC9C,UAAI,OAAO,KAAK,OAAO,UAAU,EAAE,WAAW,EAAG,QAAO,OAAO;AAC/D,mCAAU,SAAS,MAAM;AACzB,cAAQ,IAAI,iDAA4C;AAAA,IAC1D;AAAA,EACF;AAGA,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,UAAI,oCAAqB,YAAY,aAAa,GAAG;AACnD,YAAQ,IAAI,wDAAmD;AAAA,EACjE;AACF;AAEO,SAAS,qBAA2B;AACzC,UAAQ,IAAI,oDAAoD;AAChE,UAAQ,IAAI,6BAA6B;AACzC,UAAQ,IAAI,6CAA6C;AAC3D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -58,9 +58,24 @@ function buildWindsurfRule(instructions) {
|
|
|
58
58
|
return frontmatter + instructions;
|
|
59
59
|
}
|
|
60
60
|
function installWindsurfEarly(_projectRoot) {
|
|
61
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
62
|
+
const mcpPath = path.join(home, ".codeium", "windsurf", "mcp_config.json");
|
|
63
|
+
(0, import_common.ensureDir)(path.dirname(mcpPath));
|
|
64
|
+
const existing = (0, import_common.readJson)(mcpPath);
|
|
65
|
+
existing.mcpServers = existing.mcpServers ?? {};
|
|
66
|
+
if (existing.mcpServers[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
67
|
+
console.log(` \u2713 Windsurf MCP already configured in ${mcpPath}`);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
existing.mcpServers[import_common.KIROGRAPH_SERVER_NAME] = {
|
|
71
|
+
command: import_common.KIROGRAPH_COMMAND,
|
|
72
|
+
args: import_common.KIROGRAPH_MCP_ARGS
|
|
73
|
+
};
|
|
74
|
+
(0, import_common.writeJson)(mcpPath, existing);
|
|
75
|
+
console.log(` \u2713 Windsurf MCP server registered in ${mcpPath}`);
|
|
61
76
|
}
|
|
62
|
-
function installWindsurfLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory) {
|
|
63
|
-
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, true);
|
|
77
|
+
function installWindsurfLate(projectRoot, cavemanMode, shellCompressionLevel, enableMemory, enableDocs, enableData, enableSecurity, enableArchitecture) {
|
|
78
|
+
const opts = (0, import_common.buildInstructionOpts)(cavemanMode, shellCompressionLevel, enableMemory, true, enableDocs, enableData, enableSecurity, enableArchitecture);
|
|
64
79
|
const instructionsPath = path.join(projectRoot, ".kirograph", "windsurf.md");
|
|
65
80
|
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
66
81
|
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)(opts));
|
|
@@ -94,6 +109,17 @@ function installWindsurfLate(projectRoot, cavemanMode, shellCompressionLevel, en
|
|
|
94
109
|
console.log(` \u2713 Windsurf hooks written to ${hooksPath}`);
|
|
95
110
|
}
|
|
96
111
|
function uninitWindsurf(projectRoot) {
|
|
112
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
113
|
+
const mcpPath = path.join(home, ".codeium", "windsurf", "mcp_config.json");
|
|
114
|
+
if (fs.existsSync(mcpPath)) {
|
|
115
|
+
const config = (0, import_common.readJson)(mcpPath);
|
|
116
|
+
if (config.mcpServers?.[import_common.KIROGRAPH_SERVER_NAME]) {
|
|
117
|
+
delete config.mcpServers[import_common.KIROGRAPH_SERVER_NAME];
|
|
118
|
+
if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;
|
|
119
|
+
(0, import_common.writeJson)(mcpPath, config);
|
|
120
|
+
console.log(` \u2713 Removed kirograph from ${mcpPath}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
97
123
|
const rulePath = path.join(projectRoot, ".windsurf", "rules", WINDSURF_RULES_FILE);
|
|
98
124
|
if (fs.existsSync(rulePath)) {
|
|
99
125
|
fs.unlinkSync(rulePath);
|
|
@@ -126,10 +152,13 @@ function uninitWindsurf(projectRoot) {
|
|
|
126
152
|
}
|
|
127
153
|
}
|
|
128
154
|
}
|
|
129
|
-
function printWindsurfNextSteps(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
155
|
+
function printWindsurfNextSteps(_projectRoot) {
|
|
156
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
157
|
+
const mcpPath = path.join(home, ".codeium", "windsurf", "mcp_config.json");
|
|
158
|
+
console.log("\n Done! Restart Windsurf for the MCP server and hooks to load.");
|
|
159
|
+
console.log(` MCP registered in ${mcpPath}`);
|
|
160
|
+
console.log(" Rule is in .windsurf/rules/kirograph.md");
|
|
161
|
+
console.log(" Auto-sync hook is in .windsurf/hooks.json\n");
|
|
133
162
|
}
|
|
134
163
|
// Annotate the CommonJS export names for ESM import in node:
|
|
135
164
|
0 && (module.exports = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/bin/installer/targets/windsurf.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Windsurf target.\n *\n * MCP: user-scoped at ~/.codeium/windsurf/mcp_config.json (print instructions)\n * Rules: .windsurf/rules/kirograph.md (workspace-level, with frontmatter)\n * Hooks: .windsurf/hooks.json (workspace-level)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n printMcpSetup,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst WINDSURF_RULES_FILE = 'kirograph.md';\n\nfunction buildWindsurfHooks(): object {\n return {\n hooks: {\n post_cascade_response: [\n { command: 'kirograph sync --quiet 2>/dev/null || true', show_output: false },\n ],\n },\n };\n}\n\nfunction buildWindsurfRule(instructions: string): string {\n const frontmatter = [\n '---',\n 'trigger: always_on',\n '---',\n '',\n ].join('\\n');\n return frontmatter + instructions;\n}\n\nexport function installWindsurfEarly(_projectRoot: string): void {\n //
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAoB;AACpB,WAAsB;AAEtB,
|
|
4
|
+
"sourcesContent": ["/**\n * Windsurf target.\n *\n * MCP: user-scoped at ~/.codeium/windsurf/mcp_config.json (print instructions)\n * Rules: .windsurf/rules/kirograph.md (workspace-level, with frontmatter)\n * Hooks: .windsurf/hooks.json (workspace-level)\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n ensureDir,\n buildInstructionOpts,\n readJson,\n writeJson,\n printMcpSetup,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n KIROGRAPH_SERVER_NAME,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst WINDSURF_RULES_FILE = 'kirograph.md';\n\nfunction buildWindsurfHooks(): object {\n return {\n hooks: {\n post_cascade_response: [\n { command: 'kirograph sync --quiet 2>/dev/null || true', show_output: false },\n ],\n },\n };\n}\n\nfunction buildWindsurfRule(instructions: string): string {\n const frontmatter = [\n '---',\n 'trigger: always_on',\n '---',\n '',\n ].join('\\n');\n return frontmatter + instructions;\n}\n\nexport function installWindsurfEarly(_projectRoot: string): void {\n // Write MCP config to user-scoped ~/.codeium/windsurf/mcp_config.json\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.codeium', 'windsurf', 'mcp_config.json');\n ensureDir(path.dirname(mcpPath));\n const existing = readJson(mcpPath);\n existing.mcpServers = existing.mcpServers ?? {};\n if (existing.mcpServers[KIROGRAPH_SERVER_NAME]) {\n console.log(` \u2713 Windsurf MCP already configured in ${mcpPath}`);\n return;\n }\n existing.mcpServers[KIROGRAPH_SERVER_NAME] = {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n };\n writeJson(mcpPath, existing);\n console.log(` \u2713 Windsurf MCP server registered in ${mcpPath}`);\n}\n\nexport function installWindsurfLate(projectRoot: string, cavemanMode?: CavemanMode | 'off', shellCompressionLevel?: string, enableMemory?: boolean, enableDocs?: boolean, enableData?: boolean, enableSecurity?: boolean, enableArchitecture?: boolean): void {\n const opts = buildInstructionOpts(cavemanMode, shellCompressionLevel, enableMemory, true, enableDocs, enableData, enableSecurity, enableArchitecture);\n\n const instructionsPath = path.join(projectRoot, '.kirograph', 'windsurf.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(opts));\n console.log(` \u2713 Windsurf instructions written to ${instructionsPath}`);\n\n // Write rules file inside .windsurf/rules/ with frontmatter\n const rulesDir = path.join(projectRoot, '.windsurf', 'rules');\n ensureDir(rulesDir);\n const rulePath = path.join(rulesDir, WINDSURF_RULES_FILE);\n fs.writeFileSync(rulePath, buildWindsurfRule(buildAgentInstructions(opts)));\n console.log(` \u2713 Windsurf rule written to ${rulePath}`);\n\n // Remove legacy .windsurfrules if it exists and was created by us\n const legacyPath = path.join(projectRoot, '.windsurfrules');\n if (fs.existsSync(legacyPath)) {\n const content = fs.readFileSync(legacyPath, 'utf8');\n if (content.includes('kirograph')) {\n fs.unlinkSync(legacyPath);\n console.log(` \u2713 Removed legacy .windsurfrules (migrated to .windsurf/rules/)`);\n }\n }\n\n // Write hooks\n const hooksPath = path.join(projectRoot, '.windsurf', 'hooks.json');\n const existing = readJson(hooksPath);\n const kgHooks = buildWindsurfHooks() as any;\n existing.hooks = existing.hooks ?? {};\n for (const [event, commands] of Object.entries(kgHooks.hooks)) {\n existing.hooks[event] = existing.hooks[event] ?? [];\n for (const cmd of commands as Array<{ command: string; show_output: boolean }>) {\n if (!existing.hooks[event].some((h: any) => h.command === cmd.command)) {\n existing.hooks[event].push(cmd);\n }\n }\n }\n writeJson(hooksPath, existing);\n console.log(` \u2713 Windsurf hooks written to ${hooksPath}`);\n}\n\nexport function uninitWindsurf(projectRoot: string): void {\n // Remove user-scoped MCP config\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.codeium', 'windsurf', 'mcp_config.json');\n if (fs.existsSync(mcpPath)) {\n const config = readJson(mcpPath);\n if (config.mcpServers?.[KIROGRAPH_SERVER_NAME]) {\n delete config.mcpServers[KIROGRAPH_SERVER_NAME];\n if (Object.keys(config.mcpServers).length === 0) delete config.mcpServers;\n writeJson(mcpPath, config);\n console.log(` \u2713 Removed kirograph from ${mcpPath}`);\n }\n }\n\n // Remove rule file\n const rulePath = path.join(projectRoot, '.windsurf', 'rules', WINDSURF_RULES_FILE);\n if (fs.existsSync(rulePath)) {\n fs.unlinkSync(rulePath);\n console.log(` \u2713 Removed .windsurf/rules/${WINDSURF_RULES_FILE}`);\n }\n\n // Remove legacy .windsurfrules block\n const legacyPath = path.join(projectRoot, '.windsurfrules');\n if (fs.existsSync(legacyPath)) {\n const content = fs.readFileSync(legacyPath, 'utf8');\n if (content.includes('kirograph')) {\n fs.unlinkSync(legacyPath);\n console.log(` \u2713 Removed legacy .windsurfrules`);\n }\n }\n\n // Remove kirograph hooks\n const hooksPath = path.join(projectRoot, '.windsurf', 'hooks.json');\n if (fs.existsSync(hooksPath)) {\n const config = readJson(hooksPath);\n if (config.hooks) {\n let changed = false;\n for (const event of Object.keys(config.hooks)) {\n const before = config.hooks[event].length;\n config.hooks[event] = config.hooks[event].filter((h: any) => !h.command?.includes('kirograph'));\n if (config.hooks[event].length === 0) delete config.hooks[event];\n if (config.hooks[event]?.length !== before) changed = true;\n }\n if (Object.keys(config.hooks).length === 0) delete config.hooks;\n if (changed) {\n writeJson(hooksPath, config);\n console.log(` \u2713 Removed kirograph hooks from .windsurf/hooks.json`);\n }\n }\n }\n}\n\nexport function printWindsurfNextSteps(_projectRoot: string): void {\n const home = process.env.HOME || process.env.USERPROFILE || '';\n const mcpPath = path.join(home, '.codeium', 'windsurf', 'mcp_config.json');\n console.log('\\n Done! Restart Windsurf for the MCP server and hooks to load.');\n console.log(` MCP registered in ${mcpPath}`);\n console.log(' Rule is in .windsurf/rules/kirograph.md');\n console.log(' Auto-sync hook is in .windsurf/hooks.json\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAoB;AACpB,WAAsB;AAEtB,oBASO;AACP,0BAAuC;AAEvC,MAAM,sBAAsB;AAE5B,SAAS,qBAA6B;AACpC,SAAO;AAAA,IACL,OAAO;AAAA,MACL,uBAAuB;AAAA,QACrB,EAAE,SAAS,8CAA8C,aAAa,MAAM;AAAA,MAC9E;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,kBAAkB,cAA8B;AACvD,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACX,SAAO,cAAc;AACvB;AAEO,SAAS,qBAAqB,cAA4B;AAE/D,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,YAAY,YAAY,iBAAiB;AACzE,+BAAU,KAAK,QAAQ,OAAO,CAAC;AAC/B,QAAM,eAAW,wBAAS,OAAO;AACjC,WAAS,aAAa,SAAS,cAAc,CAAC;AAC9C,MAAI,SAAS,WAAW,mCAAqB,GAAG;AAC9C,YAAQ,IAAI,+CAA0C,OAAO,EAAE;AAC/D;AAAA,EACF;AACA,WAAS,WAAW,mCAAqB,IAAI;AAAA,IAC3C,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,+BAAU,SAAS,QAAQ;AAC3B,UAAQ,IAAI,8CAAyC,OAAO,EAAE;AAChE;AAEO,SAAS,oBAAoB,aAAqB,aAAmC,uBAAgC,cAAwB,YAAsB,YAAsB,gBAA0B,oBAAoC;AAC5P,QAAM,WAAO,oCAAqB,aAAa,uBAAuB,cAAc,MAAM,YAAY,YAAY,gBAAgB,kBAAkB;AAEpJ,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,aAAa;AAC3E,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,4CAAuB,IAAI,CAAC;AAC/D,UAAQ,IAAI,6CAAwC,gBAAgB,EAAE;AAGtE,QAAM,WAAW,KAAK,KAAK,aAAa,aAAa,OAAO;AAC5D,+BAAU,QAAQ;AAClB,QAAM,WAAW,KAAK,KAAK,UAAU,mBAAmB;AACxD,KAAG,cAAc,UAAU,sBAAkB,4CAAuB,IAAI,CAAC,CAAC;AAC1E,UAAQ,IAAI,qCAAgC,QAAQ,EAAE;AAGtD,QAAM,aAAa,KAAK,KAAK,aAAa,gBAAgB;AAC1D,MAAI,GAAG,WAAW,UAAU,GAAG;AAC7B,UAAM,UAAU,GAAG,aAAa,YAAY,MAAM;AAClD,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,SAAG,WAAW,UAAU;AACxB,cAAQ,IAAI,uEAAkE;AAAA,IAChF;AAAA,EACF;AAGA,QAAM,YAAY,KAAK,KAAK,aAAa,aAAa,YAAY;AAClE,QAAM,eAAW,wBAAS,SAAS;AACnC,QAAM,UAAU,mBAAmB;AACnC,WAAS,QAAQ,SAAS,SAAS,CAAC;AACpC,aAAW,CAAC,OAAO,QAAQ,KAAK,OAAO,QAAQ,QAAQ,KAAK,GAAG;AAC7D,aAAS,MAAM,KAAK,IAAI,SAAS,MAAM,KAAK,KAAK,CAAC;AAClD,eAAW,OAAO,UAA8D;AAC9E,UAAI,CAAC,SAAS,MAAM,KAAK,EAAE,KAAK,CAAC,MAAW,EAAE,YAAY,IAAI,OAAO,GAAG;AACtE,iBAAS,MAAM,KAAK,EAAE,KAAK,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AACA,+BAAU,WAAW,QAAQ;AAC7B,UAAQ,IAAI,sCAAiC,SAAS,EAAE;AAC1D;AAEO,SAAS,eAAe,aAA2B;AAExD,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,YAAY,YAAY,iBAAiB;AACzE,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,UAAM,aAAS,wBAAS,OAAO;AAC/B,QAAI,OAAO,aAAa,mCAAqB,GAAG;AAC9C,aAAO,OAAO,WAAW,mCAAqB;AAC9C,UAAI,OAAO,KAAK,OAAO,UAAU,EAAE,WAAW,EAAG,QAAO,OAAO;AAC/D,mCAAU,SAAS,MAAM;AACzB,cAAQ,IAAI,mCAA8B,OAAO,EAAE;AAAA,IACrD;AAAA,EACF;AAGA,QAAM,WAAW,KAAK,KAAK,aAAa,aAAa,SAAS,mBAAmB;AACjF,MAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,OAAG,WAAW,QAAQ;AACtB,YAAQ,IAAI,oCAA+B,mBAAmB,EAAE;AAAA,EAClE;AAGA,QAAM,aAAa,KAAK,KAAK,aAAa,gBAAgB;AAC1D,MAAI,GAAG,WAAW,UAAU,GAAG;AAC7B,UAAM,UAAU,GAAG,aAAa,YAAY,MAAM;AAClD,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,SAAG,WAAW,UAAU;AACxB,cAAQ,IAAI,wCAAmC;AAAA,IACjD;AAAA,EACF;AAGA,QAAM,YAAY,KAAK,KAAK,aAAa,aAAa,YAAY;AAClE,MAAI,GAAG,WAAW,SAAS,GAAG;AAC5B,UAAM,aAAS,wBAAS,SAAS;AACjC,QAAI,OAAO,OAAO;AAChB,UAAI,UAAU;AACd,iBAAW,SAAS,OAAO,KAAK,OAAO,KAAK,GAAG;AAC7C,cAAM,SAAS,OAAO,MAAM,KAAK,EAAE;AACnC,eAAO,MAAM,KAAK,IAAI,OAAO,MAAM,KAAK,EAAE,OAAO,CAAC,MAAW,CAAC,EAAE,SAAS,SAAS,WAAW,CAAC;AAC9F,YAAI,OAAO,MAAM,KAAK,EAAE,WAAW,EAAG,QAAO,OAAO,MAAM,KAAK;AAC/D,YAAI,OAAO,MAAM,KAAK,GAAG,WAAW,OAAQ,WAAU;AAAA,MACxD;AACA,UAAI,OAAO,KAAK,OAAO,KAAK,EAAE,WAAW,EAAG,QAAO,OAAO;AAC1D,UAAI,SAAS;AACX,qCAAU,WAAW,MAAM;AAC3B,gBAAQ,IAAI,4DAAuD;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,uBAAuB,cAA4B;AACjE,QAAM,OAAO,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe;AAC5D,QAAM,UAAU,KAAK,KAAK,MAAM,YAAY,YAAY,iBAAiB;AACzE,UAAQ,IAAI,kEAAkE;AAC9E,UAAQ,IAAI,uBAAuB,OAAO,EAAE;AAC5C,UAAQ,IAAI,2CAA2C;AACvD,UAAQ,IAAI,+CAA+C;AAC7D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|