kyro-ai 3.2.0 → 3.2.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/.claude-plugin/plugin.json +1 -1
- package/README.md +40 -30
- package/WORKFLOW.yaml +1 -1
- package/dist/cli/adapters/codex.js +2 -2
- package/dist/cli/adapters/opencode.d.ts +0 -2
- package/dist/cli/adapters/opencode.d.ts.map +1 -1
- package/dist/cli/adapters/opencode.js +2 -10
- package/dist/cli/adapters/opencode.js.map +1 -1
- package/dist/cli/adapters/registry.d.ts.map +1 -1
- package/dist/cli/adapters/registry.js +3 -1
- package/dist/cli/adapters/registry.js.map +1 -1
- package/dist/cli/adapters/standard.d.ts +5 -0
- package/dist/cli/adapters/standard.d.ts.map +1 -0
- package/dist/cli/adapters/standard.js +41 -0
- package/dist/cli/adapters/standard.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +19 -14
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +8 -7
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/tui.d.ts.map +1 -1
- package/dist/cli/commands/tui.js +10 -6
- package/dist/cli/commands/tui.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +9 -9
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/constants.d.ts +12 -7
- package/dist/cli/constants.d.ts.map +1 -1
- package/dist/cli/constants.js +13 -5
- package/dist/cli/constants.js.map +1 -1
- package/dist/cli/fs.d.ts +3 -0
- package/dist/cli/fs.d.ts.map +1 -1
- package/dist/cli/fs.js +30 -5
- package/dist/cli/fs.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +3 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/install-plan.d.ts.map +1 -1
- package/dist/cli/install-plan.js +27 -20
- package/dist/cli/install-plan.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +3 -1
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/state.js +1 -1
- package/dist/cli/state.js.map +1 -1
- package/dist/cli/types.d.ts +3 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/docs/cli.md +74 -28
- package/package.json +1 -1
package/dist/cli/constants.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KYRO_MANIFEST_PATH = exports.
|
|
3
|
+
exports.KYRO_MANIFEST_PATH = exports.AGENT_SKILLS_ROOT = exports.KYRO_SKILLS_ROOT = exports.KYRO_COMMANDS_ROOT = exports.KYRO_CORE_ROOT = exports.KYRO_ROOT = exports.KYRO_GLOBAL_ROOT = exports.GLOBAL_AGENTS_ROOT = exports.KYRO_STATE_PATH = exports.ARTIFACT_ROOT = exports.KYRO_PROJECT_ROOT = exports.WORKFLOW_NAME = exports.WORKSPACE_ROOT = exports.PACKAGE_ROOT = exports.COMMAND_NAMES = exports.SCOPE = exports.AGENT = void 0;
|
|
4
|
+
exports.getKyroRuntimeRoot = getKyroRuntimeRoot;
|
|
4
5
|
const node_path_1 = require("node:path");
|
|
5
6
|
exports.AGENT = {
|
|
7
|
+
STANDARD: 'standard',
|
|
6
8
|
OPENCODE: 'opencode',
|
|
7
9
|
CLAUDE: 'claude',
|
|
8
10
|
CODEX: 'codex',
|
|
@@ -16,12 +18,18 @@ exports.COMMAND_NAMES = ['forge', 'status', 'wrap-up'];
|
|
|
16
18
|
exports.PACKAGE_ROOT = (0, node_path_1.resolve)(__dirname, '../..');
|
|
17
19
|
exports.WORKSPACE_ROOT = process.cwd();
|
|
18
20
|
exports.WORKFLOW_NAME = 'kyro-ai';
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
+
exports.KYRO_PROJECT_ROOT = '.agents/kyro';
|
|
22
|
+
exports.ARTIFACT_ROOT = `${exports.KYRO_PROJECT_ROOT}/scopes`;
|
|
23
|
+
exports.KYRO_STATE_PATH = `${exports.KYRO_PROJECT_ROOT}/kyro.json`;
|
|
24
|
+
exports.GLOBAL_AGENTS_ROOT = '~/.agents';
|
|
25
|
+
exports.KYRO_GLOBAL_ROOT = `${exports.GLOBAL_AGENTS_ROOT}/kyro`;
|
|
26
|
+
exports.KYRO_ROOT = `${exports.KYRO_GLOBAL_ROOT}/current`;
|
|
21
27
|
exports.KYRO_CORE_ROOT = `${exports.KYRO_ROOT}/core`;
|
|
22
28
|
exports.KYRO_COMMANDS_ROOT = `${exports.KYRO_ROOT}/commands`;
|
|
23
29
|
exports.KYRO_SKILLS_ROOT = `${exports.KYRO_ROOT}/skills`;
|
|
24
|
-
exports.AGENT_SKILLS_ROOT =
|
|
25
|
-
exports.KYRO_STATE_PATH = `${exports.KYRO_ROOT}/kyro.json`;
|
|
30
|
+
exports.AGENT_SKILLS_ROOT = `${exports.GLOBAL_AGENTS_ROOT}/skills`;
|
|
26
31
|
exports.KYRO_MANIFEST_PATH = `${exports.KYRO_ROOT}/manifest.json`;
|
|
32
|
+
function getKyroRuntimeRoot(version) {
|
|
33
|
+
return `${exports.KYRO_GLOBAL_ROOT}/versions/${version}`;
|
|
34
|
+
}
|
|
27
35
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":";;;AAgCA,gDAEC;AAlCD,yCAAoC;AAEvB,QAAA,KAAK,GAAG;IACnB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,KAAK,GAAG;IACnB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAExD,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,iBAAiB,GAAG,cAAc,CAAC;AACnC,QAAA,aAAa,GAAG,GAAG,yBAAiB,SAAS,CAAC;AAC9C,QAAA,eAAe,GAAG,GAAG,yBAAiB,YAAY,CAAC;AACnD,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,gBAAgB,GAAG,GAAG,0BAAkB,OAAO,CAAC;AAChD,QAAA,SAAS,GAAG,GAAG,wBAAgB,UAAU,CAAC;AAC1C,QAAA,cAAc,GAAG,GAAG,iBAAS,OAAO,CAAC;AACrC,QAAA,kBAAkB,GAAG,GAAG,iBAAS,WAAW,CAAC;AAC7C,QAAA,gBAAgB,GAAG,GAAG,iBAAS,SAAS,CAAC;AACzC,QAAA,iBAAiB,GAAG,GAAG,0BAAkB,SAAS,CAAC;AACnD,QAAA,kBAAkB,GAAG,GAAG,iBAAS,gBAAgB,CAAC;AAE/D,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,GAAG,wBAAgB,aAAa,OAAO,EAAE,CAAC;AACnD,CAAC"}
|
package/dist/cli/fs.d.ts
CHANGED
|
@@ -6,7 +6,10 @@ export declare function addCopyFilePlan(plan: OperationPlan[], source: string, t
|
|
|
6
6
|
export declare function listRelativeFiles(sourceDir: string): string[];
|
|
7
7
|
export declare function readJsonFromPackage<T>(file: string): T;
|
|
8
8
|
export declare function readJsonFromWorkspace<T>(file: string): T | null;
|
|
9
|
+
export declare function readJsonFromManagedPath<T>(file: string): T | null;
|
|
9
10
|
export declare function readPackageText(file: string): string;
|
|
10
11
|
export declare function workspaceFileExists(file: string): boolean;
|
|
12
|
+
export declare function managedPathExists(file: string): boolean;
|
|
13
|
+
export declare function resolveManagedPath(file: string): string;
|
|
11
14
|
export declare function hasManagedBlock(file: string, blockName: string): boolean;
|
|
12
15
|
//# sourceMappingURL=fs.d.ts.map
|
package/dist/cli/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/cli/fs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/cli/fs.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAgCrD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAOpE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAItG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAK7D;AAaD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAIjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKxE"}
|
package/dist/cli/fs.js
CHANGED
|
@@ -7,15 +7,19 @@ exports.addCopyFilePlan = addCopyFilePlan;
|
|
|
7
7
|
exports.listRelativeFiles = listRelativeFiles;
|
|
8
8
|
exports.readJsonFromPackage = readJsonFromPackage;
|
|
9
9
|
exports.readJsonFromWorkspace = readJsonFromWorkspace;
|
|
10
|
+
exports.readJsonFromManagedPath = readJsonFromManagedPath;
|
|
10
11
|
exports.readPackageText = readPackageText;
|
|
11
12
|
exports.workspaceFileExists = workspaceFileExists;
|
|
13
|
+
exports.managedPathExists = managedPathExists;
|
|
14
|
+
exports.resolveManagedPath = resolveManagedPath;
|
|
12
15
|
exports.hasManagedBlock = hasManagedBlock;
|
|
13
16
|
const node_fs_1 = require("node:fs");
|
|
17
|
+
const node_os_1 = require("node:os");
|
|
14
18
|
const node_path_1 = require("node:path");
|
|
15
19
|
const constants_1 = require("./constants");
|
|
16
20
|
function applyPlan(plan) {
|
|
17
21
|
for (const operation of plan) {
|
|
18
|
-
const target = (
|
|
22
|
+
const target = resolveManagedPath(operation.path);
|
|
19
23
|
if (operation.action === 'mkdir') {
|
|
20
24
|
(0, node_fs_1.mkdirSync)(target, { recursive: true });
|
|
21
25
|
}
|
|
@@ -32,6 +36,13 @@ function applyPlan(plan) {
|
|
|
32
36
|
else if (operation.action === 'remove') {
|
|
33
37
|
(0, node_fs_1.rmSync)(target, { recursive: true, force: true });
|
|
34
38
|
}
|
|
39
|
+
else if (operation.action === 'symlink') {
|
|
40
|
+
if (!operation.source)
|
|
41
|
+
throw new Error(`Symlink operation missing source for ${operation.path}`);
|
|
42
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(target), { recursive: true });
|
|
43
|
+
(0, node_fs_1.rmSync)(target, { recursive: true, force: true });
|
|
44
|
+
(0, node_fs_1.symlinkSync)(resolveManagedPath(operation.source), target, 'dir');
|
|
45
|
+
}
|
|
35
46
|
else if (operation.action === 'upsert-block') {
|
|
36
47
|
if (!operation.blockName)
|
|
37
48
|
throw new Error(`Block operation missing blockName for ${operation.path}`);
|
|
@@ -86,7 +97,10 @@ function readJsonFromPackage(file) {
|
|
|
86
97
|
return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.resolve)(constants_1.PACKAGE_ROOT, file), 'utf-8'));
|
|
87
98
|
}
|
|
88
99
|
function readJsonFromWorkspace(file) {
|
|
89
|
-
|
|
100
|
+
return readJsonFromManagedPath(file);
|
|
101
|
+
}
|
|
102
|
+
function readJsonFromManagedPath(file) {
|
|
103
|
+
const path = resolveManagedPath(file);
|
|
90
104
|
if (!(0, node_fs_1.existsSync)(path))
|
|
91
105
|
return null;
|
|
92
106
|
return JSON.parse((0, node_fs_1.readFileSync)(path, 'utf-8'));
|
|
@@ -95,13 +109,24 @@ function readPackageText(file) {
|
|
|
95
109
|
return (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(constants_1.PACKAGE_ROOT, file), 'utf-8');
|
|
96
110
|
}
|
|
97
111
|
function workspaceFileExists(file) {
|
|
98
|
-
return (0, node_fs_1.existsSync)((
|
|
112
|
+
return (0, node_fs_1.existsSync)(resolveManagedPath(file));
|
|
113
|
+
}
|
|
114
|
+
function managedPathExists(file) {
|
|
115
|
+
return (0, node_fs_1.existsSync)(resolveManagedPath(file));
|
|
116
|
+
}
|
|
117
|
+
function resolveManagedPath(file) {
|
|
118
|
+
if (file === '~')
|
|
119
|
+
return (0, node_os_1.homedir)();
|
|
120
|
+
if (file.startsWith('~/'))
|
|
121
|
+
return (0, node_path_1.resolve)((0, node_os_1.homedir)(), file.slice(2));
|
|
122
|
+
return (0, node_path_1.resolve)(constants_1.WORKSPACE_ROOT, file);
|
|
99
123
|
}
|
|
100
124
|
function hasManagedBlock(file, blockName) {
|
|
101
|
-
const path = (
|
|
125
|
+
const path = resolveManagedPath(file);
|
|
102
126
|
if (!(0, node_fs_1.existsSync)(path))
|
|
103
127
|
return false;
|
|
104
|
-
|
|
128
|
+
const text = (0, node_fs_1.readFileSync)(path, 'utf-8');
|
|
129
|
+
return text.includes(startMarker(blockName)) && text.includes(endMarker(blockName));
|
|
105
130
|
}
|
|
106
131
|
function upsertManagedBlock(existing, blockName, content) {
|
|
107
132
|
const block = formatManagedBlock(blockName, content);
|
package/dist/cli/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/cli/fs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/cli/fs.ts"],"names":[],"mappings":";;AAeA,8BAgCC;AAED,8BAOC;AAED,oDAIC;AAED,0CAEC;AAED,8CAKC;AAaD,kDAEC;AAED,sDAEC;AAED,0DAIC;AAED,0CAEC;AAED,kDAEC;AAED,8CAEC;AAED,gDAIC;AAED,0CAKC;AA3HD,qCASiB;AACjB,qCAAkC;AAClC,yCAA6D;AAC7D,2CAA2D;AAG3D,SAAgB,SAAS,CAAC,IAAqB;IAC7C,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,IAAA,mBAAS,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACxC,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAA,uBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9F,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAA,sBAAY,EAAC,IAAA,mBAAO,EAAC,wBAAY,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACjG,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,IAAA,qBAAW,EAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAA,uBAAa,EAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7G,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,IAAI,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAA,uBAAa,EAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa,EAAE,IAAqB;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAqB,EAAE,SAAiB,EAAE,SAAiB;IAC9F,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,eAAe,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAqB,EAAE,MAAc,EAAE,MAAc;IACnF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,wBAAY,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAe,EAAE,IAAY;IAC/D,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAI,IAAY;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAA,mBAAO,EAAC,wBAAY,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAM,CAAC;AAC7E,CAAC;AAED,SAAgB,qBAAqB,CAAI,IAAY;IACnD,OAAO,uBAAuB,CAAI,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,uBAAuB,CAAI,IAAY;IACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;AACtD,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAA,sBAAY,EAAC,IAAA,mBAAO,EAAC,wBAAY,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAA,oBAAU,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAA,oBAAU,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAA,iBAAO,GAAE,CAAC;IACnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAA,mBAAO,EAAC,IAAA,iBAAO,GAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,IAAA,mBAAO,EAAC,0BAAc,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,SAAiB;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,SAAiB,EAAE,OAAe;IAC9E,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,SAAiB;IAC7D,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,OAAe;IAC5D,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,gBAAgB,SAAS,YAAY,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB;IAClC,OAAO,gBAAgB,SAAS,UAAU,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAUtD"}
|
package/dist/cli/help.js
CHANGED
|
@@ -8,15 +8,14 @@ function readPackageVersion() {
|
|
|
8
8
|
return (0, fs_1.readJsonFromPackage)('package.json').version;
|
|
9
9
|
}
|
|
10
10
|
function printHelp() {
|
|
11
|
-
console.log(`Kyro — Multi-Agent Harness\n\nUsage:\n kyro Open interactive TUI\n kyro install
|
|
12
|
-
kyro install --agent codex --scope workspace --yes\n kyro doctor\n`);
|
|
11
|
+
console.log(`Kyro — Multi-Agent Harness\n\nUsage:\n kyro Open interactive TUI\n kyro install Install Kyro standard .agents assets\n kyro doctor Check package/workspace health\n kyro sync [options] Refresh managed workspace assets\n kyro uninstall [options] Remove managed workspace assets\n\nOptions:\n --agent <name> Agent adapter: standard, opencode, codex\n --scope <scope> Install scope: workspace (default)\n --dry-run Preview changes\n --yes, -y Skip confirmation prompts where available\n --help, -h Show help\n --version, -v Show version\n\nExamples:\n kyro install --scope workspace --dry-run\n kyro install --agent opencode --scope workspace --yes\n kyro doctor\n`);
|
|
13
12
|
}
|
|
14
13
|
function printCommandHelp(command) {
|
|
15
14
|
if (command === 'install') {
|
|
16
|
-
console.log('Usage: kyro install --agent opencode --scope workspace [--dry-run] [--yes]');
|
|
15
|
+
console.log('Usage: kyro install [--agent standard|opencode|codex] --scope workspace [--dry-run] [--yes]');
|
|
17
16
|
}
|
|
18
17
|
else if (command === 'sync') {
|
|
19
|
-
console.log('Usage: kyro sync [--agent opencode] [--dry-run]');
|
|
18
|
+
console.log('Usage: kyro sync [--agent standard|opencode|codex] [--dry-run]');
|
|
20
19
|
}
|
|
21
20
|
else if (command === 'uninstall') {
|
|
22
21
|
console.log('Usage: kyro uninstall [--dry-run] [--yes]');
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":";;AAEA,gDAEC;AAED,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":";;AAEA,gDAEC;AAED,8BAEC;AAED,4CAUC;AApBD,6BAA2C;AAE3C,SAAgB,kBAAkB;IAChC,OAAO,IAAA,wBAAmB,EAAsB,cAAc,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC,40BAA40B,CAAC,CAAC;AAC51B,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;IAC7G,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,SAAS,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plan.d.ts","sourceRoot":"","sources":["../../src/cli/install-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-plan.d.ts","sourceRoot":"","sources":["../../src/cli/install-plan.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAkC,aAAa,EAAE,MAAM,SAAS,CAAC;AAElG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,aAAa,EAAE,CAwCtF"}
|
package/dist/cli/install-plan.js
CHANGED
|
@@ -9,10 +9,11 @@ const state_1 = require("./state");
|
|
|
9
9
|
function buildInstallPlan(agents, scope) {
|
|
10
10
|
const now = new Date().toISOString();
|
|
11
11
|
const packageVersion = (0, help_1.readPackageVersion)();
|
|
12
|
-
const
|
|
12
|
+
const runtimeRoot = (0, constants_1.getKyroRuntimeRoot)(packageVersion);
|
|
13
|
+
const state = mergeProjectState(agents, scope, now, packageVersion);
|
|
13
14
|
const manifestAgents = state.installedAdapters.map((adapter) => adapter.agent);
|
|
14
15
|
const adapters = state.installedAdapters;
|
|
15
|
-
const managedFiles = buildManagedFiles(manifestAgents);
|
|
16
|
+
const managedFiles = buildManagedFiles(manifestAgents, runtimeRoot);
|
|
16
17
|
const managedBlocks = buildManagedBlocks(manifestAgents);
|
|
17
18
|
const manifest = {
|
|
18
19
|
schemaVersion: 1,
|
|
@@ -27,27 +28,30 @@ function buildInstallPlan(agents, scope) {
|
|
|
27
28
|
const plan = [
|
|
28
29
|
{ action: 'mkdir', path: constants_1.ARTIFACT_ROOT },
|
|
29
30
|
{ action: 'write', path: constants_1.KYRO_STATE_PATH, content: `${JSON.stringify(state, null, 2)}\n` },
|
|
30
|
-
{ action: 'mkdir', path:
|
|
31
|
-
{ action: 'write', path:
|
|
32
|
-
{ action: 'write', path: `${
|
|
31
|
+
{ action: 'mkdir', path: runtimeRoot },
|
|
32
|
+
{ action: 'write', path: `${runtimeRoot}/manifest.json`, content: `${JSON.stringify(manifest, null, 2)}\n` },
|
|
33
|
+
{ action: 'write', path: `${runtimeRoot}/KYRO.md`, content: buildKyroBootstrap(runtimeRoot) },
|
|
33
34
|
];
|
|
34
|
-
(0, fs_1.addCopyDirectoryPlan)(plan, 'agents', `${
|
|
35
|
-
(0, fs_1.addCopyDirectoryPlan)(plan, 'commands',
|
|
36
|
-
(0, fs_1.addCopyDirectoryPlan)(plan, 'skills',
|
|
37
|
-
(0, fs_1.addCopyFilePlan)(plan, 'config.json', `${
|
|
38
|
-
(0, fs_1.addCopyFilePlan)(plan, 'WORKFLOW.yaml', `${
|
|
35
|
+
(0, fs_1.addCopyDirectoryPlan)(plan, 'agents', `${runtimeRoot}/core/agents`);
|
|
36
|
+
(0, fs_1.addCopyDirectoryPlan)(plan, 'commands', `${runtimeRoot}/commands`);
|
|
37
|
+
(0, fs_1.addCopyDirectoryPlan)(plan, 'skills', `${runtimeRoot}/skills`);
|
|
38
|
+
(0, fs_1.addCopyFilePlan)(plan, 'config.json', `${runtimeRoot}/core/config.json`);
|
|
39
|
+
(0, fs_1.addCopyFilePlan)(plan, 'WORKFLOW.yaml', `${runtimeRoot}/core/WORKFLOW.yaml`);
|
|
40
|
+
plan.push({ action: 'symlink', path: constants_1.KYRO_ROOT, source: runtimeRoot });
|
|
39
41
|
for (const adapter of (0, registry_1.getInstalledAdapterDefinitions)(manifestAgents)) {
|
|
40
42
|
adapter.buildProjection(plan);
|
|
41
43
|
}
|
|
42
44
|
return plan;
|
|
43
45
|
}
|
|
44
|
-
function mergeProjectState(agents, scope, installedAt) {
|
|
46
|
+
function mergeProjectState(agents, scope, installedAt, runtimeVersion) {
|
|
45
47
|
const existing = (0, state_1.readProjectState)();
|
|
46
48
|
const base = existing ?? {
|
|
47
49
|
schemaVersion: 1,
|
|
48
50
|
artifactRoot: constants_1.ARTIFACT_ROOT,
|
|
49
51
|
scopes: [],
|
|
50
52
|
activeScope: null,
|
|
53
|
+
runtimeVersion,
|
|
54
|
+
runtimePath: constants_1.KYRO_ROOT,
|
|
51
55
|
installedAdapters: [],
|
|
52
56
|
};
|
|
53
57
|
const adaptersByAgent = new Map();
|
|
@@ -62,26 +66,29 @@ function mergeProjectState(agents, scope, installedAt) {
|
|
|
62
66
|
artifactRoot: constants_1.ARTIFACT_ROOT,
|
|
63
67
|
scopes: [...base.scopes],
|
|
64
68
|
activeScope: base.activeScope,
|
|
69
|
+
runtimeVersion,
|
|
70
|
+
runtimePath: constants_1.KYRO_ROOT,
|
|
65
71
|
installedAdapters: [...adaptersByAgent.values()].sort((a, b) => a.agent.localeCompare(b.agent)),
|
|
66
72
|
};
|
|
67
73
|
}
|
|
68
|
-
function buildManagedFiles(agents) {
|
|
74
|
+
function buildManagedFiles(agents, runtimeRoot) {
|
|
69
75
|
const files = [
|
|
70
76
|
constants_1.KYRO_MANIFEST_PATH,
|
|
71
|
-
`${
|
|
72
|
-
`${
|
|
73
|
-
`${
|
|
77
|
+
`${runtimeRoot}/manifest.json`,
|
|
78
|
+
`${runtimeRoot}/KYRO.md`,
|
|
79
|
+
`${runtimeRoot}/core/config.json`,
|
|
80
|
+
`${runtimeRoot}/core/WORKFLOW.yaml`,
|
|
74
81
|
];
|
|
75
|
-
files.push(...(0, fs_1.listRelativeFiles)('agents').map((file) => `${
|
|
76
|
-
files.push(...(0, fs_1.listRelativeFiles)('commands').map((file) => `${
|
|
77
|
-
files.push(...(0, fs_1.listRelativeFiles)('skills').map((file) => `${
|
|
82
|
+
files.push(...(0, fs_1.listRelativeFiles)('agents').map((file) => `${runtimeRoot}/core/agents/${file}`));
|
|
83
|
+
files.push(...(0, fs_1.listRelativeFiles)('commands').map((file) => `${runtimeRoot}/commands/${file}`));
|
|
84
|
+
files.push(...(0, fs_1.listRelativeFiles)('skills').map((file) => `${runtimeRoot}/skills/${file}`));
|
|
78
85
|
for (const adapter of (0, registry_1.getInstalledAdapterDefinitions)(agents)) {
|
|
79
86
|
files.push(...adapter.buildManagedFiles());
|
|
80
87
|
}
|
|
81
88
|
return [...new Set(files)].sort();
|
|
82
89
|
}
|
|
83
|
-
function buildKyroBootstrap() {
|
|
84
|
-
return `# Kyro
|
|
90
|
+
function buildKyroBootstrap(runtimeRoot) {
|
|
91
|
+
return `# Kyro Global Runtime\n\nThis directory is managed by Kyro.\n\n- Runtime version path: \`${runtimeRoot}/\`\n- Current runtime: \`${constants_1.KYRO_ROOT}/\`\n- Core assets: \`${constants_1.KYRO_CORE_ROOT}/\`\n- Commands: \`${constants_1.KYRO_COMMANDS_ROOT}/\`\n- Skills: \`${constants_1.KYRO_SKILLS_ROOT}/\`\n- Global command skills: \`${constants_1.AGENT_SKILLS_ROOT}/\`\n- Project state: \`${constants_1.KYRO_STATE_PATH}\` in the active project\n\nUse installed global command skills when available. Do not require users to invoke Kyro workflows through natural-language fallbacks unless the host agent has no native command or skill mechanism.\n`;
|
|
85
92
|
}
|
|
86
93
|
function buildManagedBlocks(agents) {
|
|
87
94
|
const blocks = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plan.js","sourceRoot":"","sources":["../../src/cli/install-plan.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"install-plan.js","sourceRoot":"","sources":["../../src/cli/install-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA2CvD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA2CvD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAQ/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAItD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAErD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI9D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAK7D"}
|
package/dist/cli/options.js
CHANGED
|
@@ -53,7 +53,7 @@ function parseOptions(args) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
return {
|
|
56
|
-
agents: uniqueAgents(agents
|
|
56
|
+
agents: uniqueAgents(agents),
|
|
57
57
|
scope,
|
|
58
58
|
dryRun,
|
|
59
59
|
yes,
|
|
@@ -62,6 +62,8 @@ function parseOptions(args) {
|
|
|
62
62
|
}
|
|
63
63
|
function parseAgent(value) {
|
|
64
64
|
const normalized = value.toLowerCase();
|
|
65
|
+
if (normalized === 'standard' || normalized === 'agents' || normalized === '.agents' || normalized === 'default')
|
|
66
|
+
return constants_1.AGENT.STANDARD;
|
|
65
67
|
if (normalized === 'opencode')
|
|
66
68
|
return constants_1.AGENT.OPENCODE;
|
|
67
69
|
if (normalized === 'claude' || normalized === 'claude-code')
|
package/dist/cli/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":";;AAIA,oCA2CC;AAED,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/state.js
CHANGED
|
@@ -8,6 +8,6 @@ function readProjectState() {
|
|
|
8
8
|
return (0, fs_1.readJsonFromWorkspace)(constants_1.KYRO_STATE_PATH);
|
|
9
9
|
}
|
|
10
10
|
function readManifest() {
|
|
11
|
-
return (0, fs_1.
|
|
11
|
+
return (0, fs_1.readJsonFromManagedPath)(constants_1.KYRO_MANIFEST_PATH);
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=state.js.map
|
package/dist/cli/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":";;AAIA,4CAEC;AAED,oCAEC;AAVD,2CAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":";;AAIA,4CAEC;AAED,oCAEC;AAVD,2CAAkE;AAClE,6BAAsE;AAGtE,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,0BAAqB,EAAmB,2BAAe,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,IAAA,4BAAuB,EAAe,8BAAkB,CAAC,CAAC;AACnE,CAAC"}
|
package/dist/cli/types.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface KyroProjectState {
|
|
|
15
15
|
artifactRoot: string;
|
|
16
16
|
scopes: string[];
|
|
17
17
|
activeScope: string | null;
|
|
18
|
+
runtimeVersion: string;
|
|
19
|
+
runtimePath: string;
|
|
18
20
|
installedAdapters: KyroInstalledAdapter[];
|
|
19
21
|
}
|
|
20
22
|
export interface KyroManifest {
|
|
@@ -35,7 +37,7 @@ export interface CliOptions {
|
|
|
35
37
|
help: boolean;
|
|
36
38
|
}
|
|
37
39
|
export interface OperationPlan {
|
|
38
|
-
action: 'write' | 'copy' | 'mkdir' | 'remove' | 'upsert-block' | 'remove-block';
|
|
40
|
+
action: 'write' | 'copy' | 'mkdir' | 'remove' | 'upsert-block' | 'remove-block' | 'symlink';
|
|
39
41
|
path: string;
|
|
40
42
|
source?: string;
|
|
41
43
|
content?: string;
|
package/dist/cli/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/docs/cli.md
CHANGED
|
@@ -1,52 +1,84 @@
|
|
|
1
1
|
# Kyro CLI
|
|
2
2
|
|
|
3
|
-
Kyro includes a small CLI for installing workspace harness assets and checking health.
|
|
3
|
+
Kyro includes a small CLI for installing workspace harness assets, projecting command skills, and checking package/workspace health.
|
|
4
4
|
|
|
5
5
|
## Commands
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
kyro # Open the interactive TUI
|
|
9
|
-
kyro install # Install
|
|
9
|
+
kyro install # Install standard .agents assets by default
|
|
10
10
|
kyro doctor # Read-only package/workspace health check
|
|
11
11
|
kyro sync # Refresh managed workspace assets
|
|
12
|
-
kyro uninstall # Remove managed workspace assets, preserving
|
|
12
|
+
kyro uninstall # Remove managed workspace assets, preserving scope artifacts
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
`npx kyro-ai`
|
|
15
|
+
`npx kyro-ai` resolves to the same CLI entrypoint.
|
|
16
16
|
|
|
17
17
|
## Install Scope
|
|
18
18
|
|
|
19
|
-
The default install scope is `workspace
|
|
19
|
+
The default install scope is `workspace`, but Kyro now separates global runtime from project state.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Global runtime files are installed once per Kyro version:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
|
|
25
|
-
├──
|
|
26
|
-
│
|
|
27
|
-
│
|
|
28
|
-
│
|
|
29
|
-
│
|
|
30
|
-
│
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
│ ├── kyro-status/SKILL.md
|
|
34
|
-
│ └── kyro-wrap-up/SKILL.md
|
|
35
|
-
└── core/
|
|
36
|
-
└── kyro.json
|
|
24
|
+
~/.agents/kyro/
|
|
25
|
+
├── versions/
|
|
26
|
+
│ └── {version}/
|
|
27
|
+
│ ├── core/
|
|
28
|
+
│ ├── commands/
|
|
29
|
+
│ ├── skills/
|
|
30
|
+
│ ├── KYRO.md
|
|
31
|
+
│ └── manifest.json
|
|
32
|
+
└── current -> versions/{version}
|
|
37
33
|
```
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
Global command skills are installed for agent discovery:
|
|
40
36
|
|
|
41
|
-
|
|
37
|
+
```text
|
|
38
|
+
~/.agents/skills/
|
|
39
|
+
├── kyro-forge/SKILL.md
|
|
40
|
+
├── kyro-status/SKILL.md
|
|
41
|
+
└── kyro-wrap-up/SKILL.md
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The project keeps only state and artifacts:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
.agents/kyro/
|
|
48
|
+
├── kyro.json
|
|
49
|
+
└── scopes/
|
|
50
|
+
└── {scope}/
|
|
51
|
+
├── state.json
|
|
52
|
+
├── ROADMAP.md
|
|
53
|
+
└── phases/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Adapters
|
|
57
|
+
|
|
58
|
+
Implemented workspace adapters:
|
|
59
|
+
|
|
60
|
+
| Adapter | Purpose |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| `standard` | Base `~/.agents/skills/kyro-*` command skill projection for compatible agents |
|
|
63
|
+
| `opencode` | OpenCode adapter using the same projected Kyro command skills |
|
|
64
|
+
| `codex` | Codex adapter with projected Kyro command skills plus a managed root `AGENTS.md` block |
|
|
65
|
+
|
|
66
|
+
Default install uses `standard`:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
kyro install --scope workspace --dry-run
|
|
70
|
+
kyro install --scope workspace --yes
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Agent-specific installs:
|
|
42
74
|
|
|
43
75
|
```bash
|
|
44
|
-
kyro install --agent opencode --scope workspace --dry-run
|
|
45
76
|
kyro install --agent opencode --scope workspace --yes
|
|
46
77
|
kyro install --agent codex --scope workspace --yes
|
|
78
|
+
kyro install --agent standard,opencode,codex --scope workspace --yes
|
|
47
79
|
```
|
|
48
80
|
|
|
49
|
-
The adapters project Kyro workflows into
|
|
81
|
+
The adapters project Kyro workflows into `~/.agents/skills/` so compatible agents can discover command-like skills without asking the user to invoke Kyro through prose.
|
|
50
82
|
|
|
51
83
|
Projected skills:
|
|
52
84
|
|
|
@@ -54,14 +86,14 @@ Projected skills:
|
|
|
54
86
|
- `kyro-status`
|
|
55
87
|
- `kyro-wrap-up`
|
|
56
88
|
|
|
57
|
-
Each projected skill references the managed Kyro
|
|
89
|
+
Each projected skill references the managed Kyro runtime in `~/.agents/kyro/current/` instead of duplicating long workflow instructions.
|
|
58
90
|
|
|
59
91
|
## State Model
|
|
60
92
|
|
|
61
|
-
`kyro install` creates only
|
|
93
|
+
`kyro install` creates only root project state:
|
|
62
94
|
|
|
63
95
|
```text
|
|
64
|
-
.agents/kyro/
|
|
96
|
+
.agents/kyro/kyro.json
|
|
65
97
|
```
|
|
66
98
|
|
|
67
99
|
It does not create scoped state. Scoped state is created later when a scope is created or opened by a future scope/forge workflow.
|
|
@@ -74,14 +106,28 @@ Initial state shape:
|
|
|
74
106
|
"artifactRoot": ".agents/kyro/scopes",
|
|
75
107
|
"scopes": [],
|
|
76
108
|
"activeScope": null,
|
|
109
|
+
"runtimeVersion": "3.2.1",
|
|
110
|
+
"runtimePath": "~/.agents/kyro/current",
|
|
77
111
|
"installedAdapters": []
|
|
78
112
|
}
|
|
79
113
|
```
|
|
80
114
|
|
|
115
|
+
## Sync Semantics
|
|
116
|
+
|
|
117
|
+
`kyro sync` without `--agent` refreshes the adapters already recorded in `.agents/kyro/kyro.json`.
|
|
118
|
+
|
|
119
|
+
It must not add the default `standard` adapter to an existing workspace unless the user explicitly passes it:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
kyro sync
|
|
123
|
+
kyro sync --agent standard --dry-run
|
|
124
|
+
kyro sync --agent codex --dry-run
|
|
125
|
+
```
|
|
126
|
+
|
|
81
127
|
## Claude Plugin Support
|
|
82
128
|
|
|
83
|
-
The Claude plugin adapter remains first-class through `.claude-plugin/`. The CLI does not replace it; it complements Kyro's adapter story for agents that need workspace-installed commands, skills, root AGENTS.md managed blocks, and core assets.
|
|
129
|
+
The Claude plugin adapter remains first-class through `.claude-plugin/`. The CLI does not replace it; it complements Kyro's adapter story for agents that need workspace-installed commands, skills, root `AGENTS.md` managed blocks, and core assets.
|
|
84
130
|
|
|
85
131
|
## Unsupported Generic Adapter
|
|
86
132
|
|
|
87
|
-
Kyro does not provide `--agent generic`. Cross-agent instructions belong in
|
|
133
|
+
Kyro does not provide `--agent generic`. Cross-agent instructions belong in root `AGENTS.md`, and adapter installs should target concrete agent capabilities.
|
package/package.json
CHANGED