kirograph 0.13.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -85
- package/dist/bin/commands/caveman.js +12 -0
- package/dist/bin/commands/caveman.js.map +2 -2
- package/dist/bin/commands/help.js +6 -4
- package/dist/bin/commands/help.js.map +2 -2
- package/dist/bin/commands/install.js +8 -2
- package/dist/bin/commands/install.js.map +2 -2
- package/dist/bin/commands/serve.js +2 -2
- package/dist/bin/commands/serve.js.map +2 -2
- package/dist/bin/commands/uninit.js +65 -41
- package/dist/bin/commands/uninit.js.map +2 -2
- package/dist/bin/installer/cli-agent.js +5 -25
- package/dist/bin/installer/cli-agent.js.map +2 -2
- package/dist/bin/installer/common.js +154 -0
- package/dist/bin/installer/common.js.map +7 -0
- package/dist/bin/installer/index.js +99 -86
- package/dist/bin/installer/index.js.map +2 -2
- package/dist/bin/installer/instructions.js +60 -0
- package/dist/bin/installer/instructions.js.map +7 -0
- package/dist/bin/installer/mcp.js +6 -36
- package/dist/bin/installer/mcp.js.map +2 -2
- package/dist/bin/installer/targets/claude.js +79 -0
- package/dist/bin/installer/targets/claude.js.map +7 -0
- package/dist/bin/installer/targets/codex.js +77 -0
- package/dist/bin/installer/targets/codex.js.map +7 -0
- package/dist/bin/installer/targets/index.js +57 -0
- package/dist/bin/installer/targets/index.js.map +7 -0
- package/dist/bin/installer/targets/kiro.js +61 -0
- package/dist/bin/installer/targets/kiro.js.map +7 -0
- package/dist/bin/kirograph.js +1 -1
- package/dist/mcp/tool-names.js +48 -0
- package/dist/mcp/tool-names.js.map +7 -0
- package/dist/mcp/tools.js +3 -0
- package/dist/mcp/tools.js.map +2 -2
- package/package.json +2 -2
|
@@ -31,46 +31,16 @@ __export(mcp_exports, {
|
|
|
31
31
|
writeMcpConfig: () => writeMcpConfig
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(mcp_exports);
|
|
34
|
-
var fs = __toESM(require("fs"));
|
|
35
34
|
var path = __toESM(require("path"));
|
|
36
|
-
|
|
37
|
-
fs.mkdirSync(p, { recursive: true });
|
|
38
|
-
}
|
|
39
|
-
function readJson(p) {
|
|
40
|
-
try {
|
|
41
|
-
return JSON.parse(fs.readFileSync(p, "utf8"));
|
|
42
|
-
} catch {
|
|
43
|
-
return {};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function writeJson(p, data) {
|
|
47
|
-
fs.writeFileSync(p, JSON.stringify(data, null, 2) + "\n");
|
|
48
|
-
}
|
|
35
|
+
var import_common = require("./common");
|
|
49
36
|
function writeMcpConfig(kiroDir) {
|
|
50
37
|
const mcpPath = path.join(kiroDir, "settings", "mcp.json");
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
existing.mcpServers.kirograph = {
|
|
55
|
-
command: "kirograph",
|
|
56
|
-
args: ["serve", "--mcp"],
|
|
38
|
+
(0, import_common.writeMcpServersConfig)(mcpPath, {
|
|
39
|
+
command: import_common.KIROGRAPH_COMMAND,
|
|
40
|
+
args: import_common.KIROGRAPH_MCP_ARGS,
|
|
57
41
|
disabled: false,
|
|
58
|
-
autoApprove:
|
|
59
|
-
|
|
60
|
-
"kirograph_context",
|
|
61
|
-
"kirograph_callers",
|
|
62
|
-
"kirograph_callees",
|
|
63
|
-
"kirograph_impact",
|
|
64
|
-
"kirograph_node",
|
|
65
|
-
"kirograph_status",
|
|
66
|
-
"kirograph_files",
|
|
67
|
-
"kirograph_dead_code",
|
|
68
|
-
"kirograph_circular_deps",
|
|
69
|
-
"kirograph_path",
|
|
70
|
-
"kirograph_type_hierarchy"
|
|
71
|
-
]
|
|
72
|
-
};
|
|
73
|
-
writeJson(mcpPath, existing);
|
|
42
|
+
autoApprove: import_common.KIROGRAPH_TOOLS
|
|
43
|
+
});
|
|
74
44
|
console.log(` \u2713 MCP server registered in ${mcpPath}`);
|
|
75
45
|
}
|
|
76
46
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/bin/installer/mcp.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * KiroGraph Installer \u2014 MCP server registration\n */\n\nimport * as
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,
|
|
4
|
+
"sourcesContent": ["/**\n * KiroGraph Installer \u2014 MCP server registration\n */\n\nimport * as path from 'path';\nimport { KIROGRAPH_COMMAND, KIROGRAPH_MCP_ARGS, KIROGRAPH_TOOLS, writeMcpServersConfig } from './common';\n\nexport function writeMcpConfig(kiroDir: string): void {\n const mcpPath = path.join(kiroDir, 'settings', 'mcp.json');\n writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n disabled: false,\n autoApprove: KIROGRAPH_TOOLS,\n });\n console.log(` \u2713 MCP server registered in ${mcpPath}`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,WAAsB;AACtB,oBAA8F;AAEvF,SAAS,eAAe,SAAuB;AACpD,QAAM,UAAU,KAAK,KAAK,SAAS,YAAY,UAAU;AACzD,2CAAsB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,EACf,CAAC;AACD,UAAQ,IAAI,qCAAgC,OAAO,EAAE;AACvD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
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 claude_exports = {};
|
|
30
|
+
__export(claude_exports, {
|
|
31
|
+
installClaudeEarly: () => installClaudeEarly,
|
|
32
|
+
installClaudeLate: () => installClaudeLate,
|
|
33
|
+
printClaudeNextSteps: () => printClaudeNextSteps,
|
|
34
|
+
uninitClaude: () => uninitClaude
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(claude_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
|
+
const CLAUDE_IMPORT = "@.kirograph/claude.md";
|
|
42
|
+
function installClaudeEarly(projectRoot) {
|
|
43
|
+
const mcpPath = path.join(projectRoot, ".mcp.json");
|
|
44
|
+
(0, import_common.writeMcpServersConfig)(mcpPath, {
|
|
45
|
+
command: import_common.KIROGRAPH_COMMAND,
|
|
46
|
+
args: import_common.KIROGRAPH_MCP_ARGS
|
|
47
|
+
});
|
|
48
|
+
console.log(` \u2713 Claude MCP server registered in ${mcpPath}`);
|
|
49
|
+
}
|
|
50
|
+
function installClaudeLate(projectRoot, cavemanMode) {
|
|
51
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "claude.md");
|
|
52
|
+
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
53
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)(cavemanMode));
|
|
54
|
+
console.log(` \u2713 Claude instructions written to ${instructionsPath}`);
|
|
55
|
+
const memoryPath = path.join(projectRoot, "CLAUDE.md");
|
|
56
|
+
const changed = (0, import_common.appendImportLine)(memoryPath, CLAUDE_IMPORT, "## KiroGraph");
|
|
57
|
+
console.log(changed ? ` \u2713 Claude project memory updated in ${memoryPath}` : ` \u2713 Claude project memory already imports ${CLAUDE_IMPORT}`);
|
|
58
|
+
}
|
|
59
|
+
function uninitClaude(projectRoot) {
|
|
60
|
+
const mcpPath = path.join(projectRoot, ".mcp.json");
|
|
61
|
+
if ((0, import_common.removeMcpServersConfig)(mcpPath)) {
|
|
62
|
+
console.log(` \u2713 Removed kirograph from .mcp.json`);
|
|
63
|
+
}
|
|
64
|
+
const memoryPath = path.join(projectRoot, "CLAUDE.md");
|
|
65
|
+
if ((0, import_common.removeImportLine)(memoryPath, CLAUDE_IMPORT)) {
|
|
66
|
+
console.log(` \u2713 Removed KiroGraph import from CLAUDE.md`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function printClaudeNextSteps() {
|
|
70
|
+
console.log("\n Done! Restart Claude Code for the MCP server and project memory to load.\n");
|
|
71
|
+
}
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
installClaudeEarly,
|
|
75
|
+
installClaudeLate,
|
|
76
|
+
printClaudeNextSteps,
|
|
77
|
+
uninitClaude
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/claude.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport {\n appendImportLine,\n ensureDir,\n KIROGRAPH_COMMAND,\n KIROGRAPH_MCP_ARGS,\n removeMcpServersConfig,\n removeImportLine,\n writeMcpServersConfig,\n} from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst CLAUDE_IMPORT = '@.kirograph/claude.md';\n\nexport function installClaudeEarly(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.mcp.json');\n writeMcpServersConfig(mcpPath, {\n command: KIROGRAPH_COMMAND,\n args: KIROGRAPH_MCP_ARGS,\n });\n console.log(` \u2713 Claude MCP server registered in ${mcpPath}`);\n}\n\nexport function installClaudeLate(projectRoot: string, cavemanMode?: CavemanMode | 'off'): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'claude.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(cavemanMode));\n console.log(` \u2713 Claude instructions written to ${instructionsPath}`);\n\n const memoryPath = path.join(projectRoot, 'CLAUDE.md');\n const changed = appendImportLine(memoryPath, CLAUDE_IMPORT, '## KiroGraph');\n console.log(changed\n ? ` \u2713 Claude project memory updated in ${memoryPath}`\n : ` \u2713 Claude project memory already imports ${CLAUDE_IMPORT}`);\n}\n\nexport function uninitClaude(projectRoot: string): void {\n const mcpPath = path.join(projectRoot, '.mcp.json');\n if (removeMcpServersConfig(mcpPath)) {\n console.log(` \u2713 Removed kirograph from .mcp.json`);\n }\n\n const memoryPath = path.join(projectRoot, 'CLAUDE.md');\n if (removeImportLine(memoryPath, CLAUDE_IMPORT)) {\n console.log(` \u2713 Removed KiroGraph import from CLAUDE.md`);\n }\n}\n\nexport function printClaudeNextSteps(): void {\n console.log('\\n Done! Restart Claude Code for the MCP server and project memory to load.\\n');\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAQO;AACP,0BAAuC;AAEvC,MAAM,gBAAgB;AAEf,SAAS,mBAAmB,aAA2B;AAC5D,QAAM,UAAU,KAAK,KAAK,aAAa,WAAW;AAClD,2CAAsB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,MAAM;AAAA,EACR,CAAC;AACD,UAAQ,IAAI,4CAAuC,OAAO,EAAE;AAC9D;AAEO,SAAS,kBAAkB,aAAqB,aAAyC;AAC9F,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,WAAW;AACzE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,4CAAuB,WAAW,CAAC;AACtE,UAAQ,IAAI,2CAAsC,gBAAgB,EAAE;AAEpE,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,QAAM,cAAU,gCAAiB,YAAY,eAAe,cAAc;AAC1E,UAAQ,IAAI,UACR,6CAAwC,UAAU,KAClD,kDAA6C,aAAa,EAAE;AAClE;AAEO,SAAS,aAAa,aAA2B;AACtD,QAAM,UAAU,KAAK,KAAK,aAAa,WAAW;AAClD,UAAI,sCAAuB,OAAO,GAAG;AACnC,YAAQ,IAAI,2CAAsC;AAAA,EACpD;AAEA,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,UAAI,gCAAiB,YAAY,aAAa,GAAG;AAC/C,YAAQ,IAAI,kDAA6C;AAAA,EAC3D;AACF;AAEO,SAAS,uBAA6B;AAC3C,UAAQ,IAAI,gFAAgF;AAC9F;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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 codex_exports = {};
|
|
30
|
+
__export(codex_exports, {
|
|
31
|
+
installCodexEarly: () => installCodexEarly,
|
|
32
|
+
installCodexLate: () => installCodexLate,
|
|
33
|
+
printCodexNextSteps: () => printCodexNextSteps,
|
|
34
|
+
uninitCodex: () => uninitCodex
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(codex_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
|
+
const CODEX_BLOCK_ID = "codex";
|
|
42
|
+
function installCodexEarly(_projectRoot) {
|
|
43
|
+
}
|
|
44
|
+
function installCodexLate(projectRoot, cavemanMode) {
|
|
45
|
+
const instructionsPath = path.join(projectRoot, ".kirograph", "codex.md");
|
|
46
|
+
(0, import_common.ensureDir)(path.dirname(instructionsPath));
|
|
47
|
+
fs.writeFileSync(instructionsPath, (0, import_instructions.buildAgentInstructions)(cavemanMode));
|
|
48
|
+
console.log(` \u2713 Codex instructions written to ${instructionsPath}`);
|
|
49
|
+
const agentsPath = path.join(projectRoot, "AGENTS.md");
|
|
50
|
+
const changed = (0, import_common.upsertGeneratedBlock)(agentsPath, CODEX_BLOCK_ID, "## KiroGraph", (0, import_instructions.buildAgentInstructions)(cavemanMode));
|
|
51
|
+
console.log(changed ? ` \u2713 Codex project instructions updated in ${agentsPath}` : ` \u2713 Codex project instructions already up to date`);
|
|
52
|
+
}
|
|
53
|
+
function uninitCodex(projectRoot) {
|
|
54
|
+
const agentsPath = path.join(projectRoot, "AGENTS.md");
|
|
55
|
+
if ((0, import_common.removeGeneratedBlock)(agentsPath, CODEX_BLOCK_ID)) {
|
|
56
|
+
console.log(` \u2713 Removed KiroGraph block from AGENTS.md`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function printCodexNextSteps(projectRoot) {
|
|
60
|
+
const escapedPath = projectRoot.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
61
|
+
console.log("\n Done! Codex project instructions are installed.");
|
|
62
|
+
console.log(" Add the MCP server to Codex with:");
|
|
63
|
+
console.log(` codex mcp add kirograph -- kirograph serve --mcp --path "${escapedPath}"`);
|
|
64
|
+
console.log("\n Or add this to ~/.codex/config.toml:");
|
|
65
|
+
console.log(" [mcp_servers.kirograph]");
|
|
66
|
+
console.log(' command = "kirograph"');
|
|
67
|
+
console.log(` args = ["serve", "--mcp", "--path", "${escapedPath}"]
|
|
68
|
+
`);
|
|
69
|
+
}
|
|
70
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
+
0 && (module.exports = {
|
|
72
|
+
installCodexEarly,
|
|
73
|
+
installCodexLate,
|
|
74
|
+
printCodexNextSteps,
|
|
75
|
+
uninitCodex
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/codex.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport { ensureDir, removeGeneratedBlock, upsertGeneratedBlock } from '../common';\nimport { buildAgentInstructions } from '../instructions';\n\nconst CODEX_BLOCK_ID = 'codex';\n\nexport function installCodexEarly(_projectRoot: string): void {\n // Codex MCP config is user-scoped. We print the exact config in next steps\n // instead of writing outside the project from an installer command.\n}\n\nexport function installCodexLate(projectRoot: string, cavemanMode?: CavemanMode | 'off'): void {\n const instructionsPath = path.join(projectRoot, '.kirograph', 'codex.md');\n ensureDir(path.dirname(instructionsPath));\n fs.writeFileSync(instructionsPath, buildAgentInstructions(cavemanMode));\n console.log(` \u2713 Codex instructions written to ${instructionsPath}`);\n\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const changed = upsertGeneratedBlock(agentsPath, CODEX_BLOCK_ID, '## KiroGraph', buildAgentInstructions(cavemanMode));\n console.log(changed\n ? ` \u2713 Codex project instructions updated in ${agentsPath}`\n : ` \u2713 Codex project instructions already up to date`);\n}\n\nexport function uninitCodex(projectRoot: string): void {\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n if (removeGeneratedBlock(agentsPath, CODEX_BLOCK_ID)) {\n console.log(` \u2713 Removed KiroGraph block from AGENTS.md`);\n }\n}\n\nexport function printCodexNextSteps(projectRoot: string): void {\n const escapedPath = projectRoot.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n console.log('\\n Done! Codex project instructions are installed.');\n console.log(' Add the MCP server to Codex with:');\n console.log(` codex mcp add kirograph -- kirograph serve --mcp --path \"${escapedPath}\"`);\n console.log('\\n Or add this to ~/.codex/config.toml:');\n console.log(' [mcp_servers.kirograph]');\n console.log(' command = \"kirograph\"');\n console.log(` args = [\"serve\", \"--mcp\", \"--path\", \"${escapedPath}\"]\\n`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAoB;AACpB,WAAsB;AAEtB,oBAAsE;AACtE,0BAAuC;AAEvC,MAAM,iBAAiB;AAEhB,SAAS,kBAAkB,cAA4B;AAG9D;AAEO,SAAS,iBAAiB,aAAqB,aAAyC;AAC7F,QAAM,mBAAmB,KAAK,KAAK,aAAa,cAAc,UAAU;AACxE,+BAAU,KAAK,QAAQ,gBAAgB,CAAC;AACxC,KAAG,cAAc,sBAAkB,4CAAuB,WAAW,CAAC;AACtE,UAAQ,IAAI,0CAAqC,gBAAgB,EAAE;AAEnE,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,QAAM,cAAU,oCAAqB,YAAY,gBAAgB,oBAAgB,4CAAuB,WAAW,CAAC;AACpH,UAAQ,IAAI,UACR,kDAA6C,UAAU,KACvD,wDAAmD;AACzD;AAEO,SAAS,YAAY,aAA2B;AACrD,QAAM,aAAa,KAAK,KAAK,aAAa,WAAW;AACrD,UAAI,oCAAqB,YAAY,cAAc,GAAG;AACpD,YAAQ,IAAI,iDAA4C;AAAA,EAC1D;AACF;AAEO,SAAS,oBAAoB,aAA2B;AAC7D,QAAM,cAAc,YAAY,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAK;AAC1E,UAAQ,IAAI,qDAAqD;AACjE,UAAQ,IAAI,qCAAqC;AACjD,UAAQ,IAAI,gEAAgE,WAAW,GAAG;AAC1F,UAAQ,IAAI,0CAA0C;AACtD,UAAQ,IAAI,6BAA6B;AACzC,UAAQ,IAAI,2BAA2B;AACvC,UAAQ,IAAI,4CAA4C,WAAW;AAAA,CAAM;AAC3E;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var targets_exports = {};
|
|
20
|
+
__export(targets_exports, {
|
|
21
|
+
getTargetInstaller: () => getTargetInstaller
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(targets_exports);
|
|
24
|
+
var import_kiro = require("./kiro");
|
|
25
|
+
var import_claude = require("./claude");
|
|
26
|
+
var import_codex = require("./codex");
|
|
27
|
+
function getTargetInstaller(target) {
|
|
28
|
+
if (target === "claude") {
|
|
29
|
+
return {
|
|
30
|
+
label: "Claude Code",
|
|
31
|
+
installEarly: import_claude.installClaudeEarly,
|
|
32
|
+
installLate: import_claude.installClaudeLate,
|
|
33
|
+
printNextSteps: import_claude.printClaudeNextSteps,
|
|
34
|
+
uninit: import_claude.uninitClaude
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (target === "codex") {
|
|
38
|
+
return {
|
|
39
|
+
label: "Codex",
|
|
40
|
+
installEarly: import_codex.installCodexEarly,
|
|
41
|
+
installLate: import_codex.installCodexLate,
|
|
42
|
+
printNextSteps: import_codex.printCodexNextSteps,
|
|
43
|
+
uninit: import_codex.uninitCodex
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
label: "Kiro",
|
|
48
|
+
installEarly: import_kiro.installKiroEarly,
|
|
49
|
+
installLate: import_kiro.installKiroLate,
|
|
50
|
+
printNextSteps: import_kiro.printKiroNextSteps
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
getTargetInstaller
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/index.ts"],
|
|
4
|
+
"sourcesContent": ["import type { CavemanMode } from '../caveman';\nimport type { InstallTarget } from '../common';\nimport { installKiroEarly, installKiroLate, printKiroNextSteps } from './kiro';\nimport { installClaudeEarly, installClaudeLate, printClaudeNextSteps, uninitClaude } from './claude';\nimport { installCodexEarly, installCodexLate, printCodexNextSteps, uninitCodex } from './codex';\n\nexport interface TargetInstaller {\n label: string;\n installEarly(projectRoot: string): void;\n installLate(projectRoot: string, cavemanMode?: CavemanMode | 'off'): void;\n printNextSteps(projectRoot: string): void;\n uninit?(projectRoot: string): void;\n}\n\nexport function getTargetInstaller(target: InstallTarget): TargetInstaller {\n if (target === 'claude') {\n return {\n label: 'Claude Code',\n installEarly: installClaudeEarly,\n installLate: installClaudeLate,\n printNextSteps: printClaudeNextSteps,\n uninit: uninitClaude,\n };\n }\n\n if (target === 'codex') {\n return {\n label: 'Codex',\n installEarly: installCodexEarly,\n installLate: installCodexLate,\n printNextSteps: printCodexNextSteps,\n uninit: uninitCodex,\n };\n }\n\n return {\n label: 'Kiro',\n installEarly: installKiroEarly,\n installLate: installKiroLate,\n printNextSteps: printKiroNextSteps,\n };\n}\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAsE;AACtE,oBAA0F;AAC1F,mBAAsF;AAU/E,SAAS,mBAAmB,QAAwC;AACzE,MAAI,WAAW,UAAU;AACvB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,WAAW,SAAS;AACtB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,cAAc;AAAA,MACd,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,cAAc;AAAA,IACd,aAAa;AAAA,IACb,gBAAgB;AAAA,EAClB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
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 kiro_exports = {};
|
|
30
|
+
__export(kiro_exports, {
|
|
31
|
+
installKiroEarly: () => installKiroEarly,
|
|
32
|
+
installKiroLate: () => installKiroLate,
|
|
33
|
+
printKiroNextSteps: () => printKiroNextSteps
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(kiro_exports);
|
|
36
|
+
var path = __toESM(require("path"));
|
|
37
|
+
var import_cli_agent = require("../cli-agent");
|
|
38
|
+
var import_hooks = require("../hooks");
|
|
39
|
+
var import_mcp = require("../mcp");
|
|
40
|
+
var import_steering = require("../steering");
|
|
41
|
+
function installKiroEarly(projectRoot) {
|
|
42
|
+
const kiroDir = path.join(projectRoot, ".kiro");
|
|
43
|
+
(0, import_mcp.writeMcpConfig)(kiroDir);
|
|
44
|
+
(0, import_hooks.writeHooks)(kiroDir);
|
|
45
|
+
}
|
|
46
|
+
function installKiroLate(projectRoot, cavemanMode) {
|
|
47
|
+
const kiroDir = path.join(projectRoot, ".kiro");
|
|
48
|
+
(0, import_steering.writeSteering)(kiroDir, cavemanMode);
|
|
49
|
+
(0, import_cli_agent.writeCliAgent)(kiroDir);
|
|
50
|
+
}
|
|
51
|
+
function printKiroNextSteps() {
|
|
52
|
+
console.log("\n Done! Restart Kiro IDE for the MCP server to load.");
|
|
53
|
+
console.log(' For Kiro CLI, use the "kirograph" agent: kiro-cli --agent kirograph\n');
|
|
54
|
+
}
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
installKiroEarly,
|
|
58
|
+
installKiroLate,
|
|
59
|
+
printKiroNextSteps
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=kiro.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bin/installer/targets/kiro.ts"],
|
|
4
|
+
"sourcesContent": ["import * as path from 'path';\nimport { CavemanMode } from '../caveman';\nimport { writeCliAgent } from '../cli-agent';\nimport { writeHooks } from '../hooks';\nimport { writeMcpConfig } from '../mcp';\nimport { writeSteering } from '../steering';\n\nexport function installKiroEarly(projectRoot: string): void {\n const kiroDir = path.join(projectRoot, '.kiro');\n writeMcpConfig(kiroDir);\n writeHooks(kiroDir);\n}\n\nexport function installKiroLate(projectRoot: string, cavemanMode?: CavemanMode | 'off'): void {\n const kiroDir = path.join(projectRoot, '.kiro');\n writeSteering(kiroDir, cavemanMode);\n writeCliAgent(kiroDir);\n}\n\nexport function printKiroNextSteps(): void {\n console.log('\\n Done! Restart Kiro IDE for the MCP server to load.');\n console.log(' For Kiro CLI, use the \"kirograph\" agent: kiro-cli --agent kirograph\\n');\n}\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAsB;AAEtB,uBAA8B;AAC9B,mBAA2B;AAC3B,iBAA+B;AAC/B,sBAA8B;AAEvB,SAAS,iBAAiB,aAA2B;AAC1D,QAAM,UAAU,KAAK,KAAK,aAAa,OAAO;AAC9C,iCAAe,OAAO;AACtB,+BAAW,OAAO;AACpB;AAEO,SAAS,gBAAgB,aAAqB,aAAyC;AAC5F,QAAM,UAAU,KAAK,KAAK,aAAa,OAAO;AAC9C,qCAAc,SAAS,WAAW;AAClC,sCAAc,OAAO;AACvB;AAEO,SAAS,qBAA2B;AACzC,UAAQ,IAAI,wDAAwD;AACpE,UAAQ,IAAI,yEAAyE;AACvF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/bin/kirograph.js
CHANGED
|
@@ -56,7 +56,7 @@ process.on("uncaughtException", (err) => {
|
|
|
56
56
|
process.exit(1);
|
|
57
57
|
});
|
|
58
58
|
const program = new import_commander.Command();
|
|
59
|
-
program.name("kirograph").description("Semantic code knowledge graph for Kiro").version("0.13.
|
|
59
|
+
program.name("kirograph").description("Semantic code knowledge graph for Kiro").version("0.13.1").addHelpCommand(true).hook("preAction", (thisCommand) => {
|
|
60
60
|
const name = thisCommand.name();
|
|
61
61
|
if (name === "init") (0, import_banner.printBanner)();
|
|
62
62
|
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var tool_names_exports = {};
|
|
20
|
+
__export(tool_names_exports, {
|
|
21
|
+
KIROGRAPH_TOOL_NAMES: () => KIROGRAPH_TOOL_NAMES
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(tool_names_exports);
|
|
24
|
+
const KIROGRAPH_TOOL_NAMES = [
|
|
25
|
+
"kirograph_search",
|
|
26
|
+
"kirograph_context",
|
|
27
|
+
"kirograph_callers",
|
|
28
|
+
"kirograph_callees",
|
|
29
|
+
"kirograph_impact",
|
|
30
|
+
"kirograph_node",
|
|
31
|
+
"kirograph_status",
|
|
32
|
+
"kirograph_files",
|
|
33
|
+
"kirograph_dead_code",
|
|
34
|
+
"kirograph_circular_deps",
|
|
35
|
+
"kirograph_path",
|
|
36
|
+
"kirograph_architecture",
|
|
37
|
+
"kirograph_coupling",
|
|
38
|
+
"kirograph_package",
|
|
39
|
+
"kirograph_hotspots",
|
|
40
|
+
"kirograph_surprising",
|
|
41
|
+
"kirograph_diff",
|
|
42
|
+
"kirograph_type_hierarchy"
|
|
43
|
+
];
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
KIROGRAPH_TOOL_NAMES
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=tool-names.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/mcp/tool-names.ts"],
|
|
4
|
+
"sourcesContent": ["export const KIROGRAPH_TOOL_NAMES = [\n 'kirograph_search',\n 'kirograph_context',\n 'kirograph_callers',\n 'kirograph_callees',\n 'kirograph_impact',\n 'kirograph_node',\n 'kirograph_status',\n 'kirograph_files',\n 'kirograph_dead_code',\n 'kirograph_circular_deps',\n 'kirograph_path',\n 'kirograph_architecture',\n 'kirograph_coupling',\n 'kirograph_package',\n 'kirograph_hotspots',\n 'kirograph_surprising',\n 'kirograph_diff',\n 'kirograph_type_hierarchy',\n];\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var tools_exports = {};
|
|
30
30
|
__export(tools_exports, {
|
|
31
|
+
KIROGRAPH_TOOL_NAMES: () => import_tool_names.KIROGRAPH_TOOL_NAMES,
|
|
31
32
|
ToolHandler: () => ToolHandler,
|
|
32
33
|
tools: () => tools
|
|
33
34
|
});
|
|
@@ -37,6 +38,7 @@ var path = __toESM(require("path"));
|
|
|
37
38
|
var crypto = __toESM(require("crypto"));
|
|
38
39
|
var import__ = __toESM(require("../index"));
|
|
39
40
|
var import_errors = require("../errors");
|
|
41
|
+
var import_tool_names = require("./tool-names");
|
|
40
42
|
const MAX_OUTPUT = 15e3;
|
|
41
43
|
function truncate(s) {
|
|
42
44
|
return s.length > MAX_OUTPUT ? s.slice(0, MAX_OUTPUT) + "\n\u2026[truncated]" : s;
|
|
@@ -773,6 +775,7 @@ class ToolHandler {
|
|
|
773
775
|
}
|
|
774
776
|
// Annotate the CommonJS export names for ESM import in node:
|
|
775
777
|
0 && (module.exports = {
|
|
778
|
+
KIROGRAPH_TOOL_NAMES,
|
|
776
779
|
ToolHandler,
|
|
777
780
|
tools
|
|
778
781
|
});
|