@a1st/aix 0.0.3
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/bin/dev.js +13 -0
- package/bin/run.js +5 -0
- package/dist/base-command.d.ts +48 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +131 -0
- package/dist/base-command.js.map +1 -0
- package/dist/commands/add/index.d.ts +7 -0
- package/dist/commands/add/index.d.ts.map +1 -0
- package/dist/commands/add/index.js +10 -0
- package/dist/commands/add/index.js.map +1 -0
- package/dist/commands/add/mcp.d.ts +32 -0
- package/dist/commands/add/mcp.d.ts.map +1 -0
- package/dist/commands/add/mcp.js +209 -0
- package/dist/commands/add/mcp.js.map +1 -0
- package/dist/commands/add/prompt.d.ts +18 -0
- package/dist/commands/add/prompt.d.ts.map +1 -0
- package/dist/commands/add/prompt.js +196 -0
- package/dist/commands/add/prompt.js.map +1 -0
- package/dist/commands/add/rule.d.ts +20 -0
- package/dist/commands/add/rule.d.ts.map +1 -0
- package/dist/commands/add/rule.js +207 -0
- package/dist/commands/add/rule.js.map +1 -0
- package/dist/commands/add/skill.d.ts +16 -0
- package/dist/commands/add/skill.d.ts.map +1 -0
- package/dist/commands/add/skill.js +212 -0
- package/dist/commands/add/skill.js.map +1 -0
- package/dist/commands/backups.d.ts +9 -0
- package/dist/commands/backups.d.ts.map +1 -0
- package/dist/commands/backups.js +147 -0
- package/dist/commands/backups.js.map +1 -0
- package/dist/commands/cache/clear.d.ts +8 -0
- package/dist/commands/cache/clear.d.ts.map +1 -0
- package/dist/commands/cache/clear.js +34 -0
- package/dist/commands/cache/clear.js.map +1 -0
- package/dist/commands/cache/index.d.ts +7 -0
- package/dist/commands/cache/index.d.ts.map +1 -0
- package/dist/commands/cache/index.js +10 -0
- package/dist/commands/cache/index.js.map +1 -0
- package/dist/commands/config/get.d.ts +11 -0
- package/dist/commands/config/get.d.ts.map +1 -0
- package/dist/commands/config/get.js +49 -0
- package/dist/commands/config/get.js.map +1 -0
- package/dist/commands/config/index.d.ts +7 -0
- package/dist/commands/config/index.d.ts.map +1 -0
- package/dist/commands/config/index.js +10 -0
- package/dist/commands/config/index.js.map +1 -0
- package/dist/commands/config/set.d.ts +12 -0
- package/dist/commands/config/set.d.ts.map +1 -0
- package/dist/commands/config/set.js +58 -0
- package/dist/commands/config/set.js.map +1 -0
- package/dist/commands/config/show.d.ts +10 -0
- package/dist/commands/config/show.d.ts.map +1 -0
- package/dist/commands/config/show.js +49 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/global/cleanup.d.ts +14 -0
- package/dist/commands/global/cleanup.d.ts.map +1 -0
- package/dist/commands/global/cleanup.js +92 -0
- package/dist/commands/global/cleanup.js.map +1 -0
- package/dist/commands/global/index.d.ts +7 -0
- package/dist/commands/global/index.d.ts.map +1 -0
- package/dist/commands/global/index.js +10 -0
- package/dist/commands/global/index.js.map +1 -0
- package/dist/commands/global/list.d.ts +7 -0
- package/dist/commands/global/list.d.ts.map +1 -0
- package/dist/commands/global/list.js +40 -0
- package/dist/commands/global/list.js.map +1 -0
- package/dist/commands/init.d.ts +12 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +110 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +55 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +412 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list/editors.d.ts +7 -0
- package/dist/commands/list/editors.d.ts.map +1 -0
- package/dist/commands/list/editors.js +36 -0
- package/dist/commands/list/editors.js.map +1 -0
- package/dist/commands/list/index.d.ts +12 -0
- package/dist/commands/list/index.d.ts.map +1 -0
- package/dist/commands/list/index.js +60 -0
- package/dist/commands/list/index.js.map +1 -0
- package/dist/commands/list/mcp.d.ts +8 -0
- package/dist/commands/list/mcp.d.ts.map +1 -0
- package/dist/commands/list/mcp.js +45 -0
- package/dist/commands/list/mcp.js.map +1 -0
- package/dist/commands/list/rules.d.ts +7 -0
- package/dist/commands/list/rules.d.ts.map +1 -0
- package/dist/commands/list/rules.js +59 -0
- package/dist/commands/list/rules.js.map +1 -0
- package/dist/commands/list/skills.d.ts +7 -0
- package/dist/commands/list/skills.d.ts.map +1 -0
- package/dist/commands/list/skills.js +34 -0
- package/dist/commands/list/skills.js.map +1 -0
- package/dist/commands/remove/index.d.ts +7 -0
- package/dist/commands/remove/index.d.ts.map +1 -0
- package/dist/commands/remove/index.js +10 -0
- package/dist/commands/remove/index.js.map +1 -0
- package/dist/commands/remove/mcp.d.ts +15 -0
- package/dist/commands/remove/mcp.d.ts.map +1 -0
- package/dist/commands/remove/mcp.js +125 -0
- package/dist/commands/remove/mcp.js.map +1 -0
- package/dist/commands/remove/skill.d.ts +15 -0
- package/dist/commands/remove/skill.d.ts.map +1 -0
- package/dist/commands/remove/skill.js +115 -0
- package/dist/commands/remove/skill.js.map +1 -0
- package/dist/commands/search.d.ts +18 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +221 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/validate.d.ts +7 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +57 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/flags/local.d.ts +8 -0
- package/dist/flags/local.d.ts.map +1 -0
- package/dist/flags/local.js +13 -0
- package/dist/flags/local.js.map +1 -0
- package/dist/flags/scope.d.ts +20 -0
- package/dist/flags/scope.d.ts.map +1 -0
- package/dist/flags/scope.js +30 -0
- package/dist/flags/scope.js.map +1 -0
- package/dist/hooks/postrun/patch-autocomplete.d.ts +18 -0
- package/dist/hooks/postrun/patch-autocomplete.d.ts.map +1 -0
- package/dist/hooks/postrun/patch-autocomplete.js +49 -0
- package/dist/hooks/postrun/patch-autocomplete.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/add-helper.d.ts +49 -0
- package/dist/lib/add-helper.d.ts.map +1 -0
- package/dist/lib/add-helper.js +172 -0
- package/dist/lib/add-helper.js.map +1 -0
- package/dist/lib/delete-helper.d.ts +25 -0
- package/dist/lib/delete-helper.d.ts.map +1 -0
- package/dist/lib/delete-helper.js +76 -0
- package/dist/lib/delete-helper.js.map +1 -0
- package/dist/lib/errors.d.ts +30 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +41 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/help.d.ts +7 -0
- package/dist/lib/help.d.ts.map +1 -0
- package/dist/lib/help.js +39 -0
- package/dist/lib/help.js.map +1 -0
- package/dist/lib/install-helper.d.ts +23 -0
- package/dist/lib/install-helper.d.ts.map +1 -0
- package/dist/lib/install-helper.js +49 -0
- package/dist/lib/install-helper.js.map +1 -0
- package/dist/lib/output.d.ts +26 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +77 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/search/debounce.d.ts +17 -0
- package/dist/lib/search/debounce.d.ts.map +1 -0
- package/dist/lib/search/debounce.js +33 -0
- package/dist/lib/search/debounce.js.map +1 -0
- package/dist/lib/search/index.d.ts +5 -0
- package/dist/lib/search/index.d.ts.map +1 -0
- package/dist/lib/search/index.js +5 -0
- package/dist/lib/search/index.js.map +1 -0
- package/dist/lib/search/registry.d.ts +43 -0
- package/dist/lib/search/registry.d.ts.map +1 -0
- package/dist/lib/search/registry.js +83 -0
- package/dist/lib/search/registry.js.map +1 -0
- package/dist/lib/search/sources/claude-plugins-dev.d.ts +16 -0
- package/dist/lib/search/sources/claude-plugins-dev.d.ts.map +1 -0
- package/dist/lib/search/sources/claude-plugins-dev.js +44 -0
- package/dist/lib/search/sources/claude-plugins-dev.js.map +1 -0
- package/dist/lib/search/sources/index.d.ts +4 -0
- package/dist/lib/search/sources/index.d.ts.map +1 -0
- package/dist/lib/search/sources/index.js +4 -0
- package/dist/lib/search/sources/index.js.map +1 -0
- package/dist/lib/search/sources/mcp-registry.d.ts +14 -0
- package/dist/lib/search/sources/mcp-registry.d.ts.map +1 -0
- package/dist/lib/search/sources/mcp-registry.js +40 -0
- package/dist/lib/search/sources/mcp-registry.js.map +1 -0
- package/dist/lib/search/sources/npm.d.ts +14 -0
- package/dist/lib/search/sources/npm.d.ts.map +1 -0
- package/dist/lib/search/sources/npm.js +42 -0
- package/dist/lib/search/sources/npm.js.map +1 -0
- package/dist/lib/search/types.d.ts +52 -0
- package/dist/lib/search/types.d.ts.map +1 -0
- package/dist/lib/search/types.js +14 -0
- package/dist/lib/search/types.js.map +1 -0
- package/dist/ui/search/components/DetailsPanel.d.ts +9 -0
- package/dist/ui/search/components/DetailsPanel.d.ts.map +1 -0
- package/dist/ui/search/components/DetailsPanel.js +11 -0
- package/dist/ui/search/components/DetailsPanel.js.map +1 -0
- package/dist/ui/search/components/ResultsList.d.ts +14 -0
- package/dist/ui/search/components/ResultsList.d.ts.map +1 -0
- package/dist/ui/search/components/ResultsList.js +32 -0
- package/dist/ui/search/components/ResultsList.js.map +1 -0
- package/dist/ui/search/components/SearchApp.d.ts +4 -0
- package/dist/ui/search/components/SearchApp.d.ts.map +1 -0
- package/dist/ui/search/components/SearchApp.js +61 -0
- package/dist/ui/search/components/SearchApp.js.map +1 -0
- package/dist/ui/search/components/SearchInput.d.ts +12 -0
- package/dist/ui/search/components/SearchInput.d.ts.map +1 -0
- package/dist/ui/search/components/SearchInput.js +14 -0
- package/dist/ui/search/components/SearchInput.js.map +1 -0
- package/dist/ui/search/components/StatusBar.d.ts +10 -0
- package/dist/ui/search/components/StatusBar.d.ts.map +1 -0
- package/dist/ui/search/components/StatusBar.js +13 -0
- package/dist/ui/search/components/StatusBar.js.map +1 -0
- package/dist/ui/search/components/TabBar.d.ts +10 -0
- package/dist/ui/search/components/TabBar.d.ts.map +1 -0
- package/dist/ui/search/components/TabBar.js +6 -0
- package/dist/ui/search/components/TabBar.js.map +1 -0
- package/dist/ui/search/hooks/use-install.d.ts +18 -0
- package/dist/ui/search/hooks/use-install.d.ts.map +1 -0
- package/dist/ui/search/hooks/use-install.js +51 -0
- package/dist/ui/search/hooks/use-install.js.map +1 -0
- package/dist/ui/search/hooks/use-keyboard.d.ts +25 -0
- package/dist/ui/search/hooks/use-keyboard.d.ts.map +1 -0
- package/dist/ui/search/hooks/use-keyboard.js +58 -0
- package/dist/ui/search/hooks/use-keyboard.js.map +1 -0
- package/dist/ui/search/hooks/use-search.d.ts +21 -0
- package/dist/ui/search/hooks/use-search.d.ts.map +1 -0
- package/dist/ui/search/hooks/use-search.js +73 -0
- package/dist/ui/search/hooks/use-search.js.map +1 -0
- package/dist/ui/search/index.d.ts +10 -0
- package/dist/ui/search/index.d.ts.map +1 -0
- package/dist/ui/search/index.js +10 -0
- package/dist/ui/search/index.js.map +1 -0
- package/dist/ui/search/render.d.ts +11 -0
- package/dist/ui/search/render.d.ts.map +1 -0
- package/dist/ui/search/render.js +22 -0
- package/dist/ui/search/render.js.map +1 -0
- package/dist/ui/search/types.d.ts +37 -0
- package/dist/ui/search/types.d.ts.map +1 -0
- package/dist/ui/search/types.js +2 -0
- package/dist/ui/search/types.js.map +1 -0
- package/dist/ui/search/utils/index.d.ts +2 -0
- package/dist/ui/search/utils/index.d.ts.map +1 -0
- package/dist/ui/search/utils/index.js +2 -0
- package/dist/ui/search/utils/index.js.map +1 -0
- package/dist/ui/search/utils/sanitize.d.ts +11 -0
- package/dist/ui/search/utils/sanitize.d.ts.map +1 -0
- package/dist/ui/search/utils/sanitize.js +33 -0
- package/dist/ui/search/utils/sanitize.js.map +1 -0
- package/oclif.manifest.json +1772 -0
- package/package.json +103 -0
- package/theme.json +15 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
import { updateConfig } from '@a1st/aix-core';
|
|
4
|
+
export default class ConfigSet extends BaseCommand {
|
|
5
|
+
static description = 'Set a configuration value';
|
|
6
|
+
static examples = [
|
|
7
|
+
'<%= config.bin %> <%= command.id %> skills.typescript "^1.0.0"',
|
|
8
|
+
'<%= config.bin %> <%= command.id %> rules \'["Use TypeScript"]\'',
|
|
9
|
+
];
|
|
10
|
+
static args = {
|
|
11
|
+
key: Args.string({
|
|
12
|
+
description: 'Configuration key (dot notation, e.g., "skills.typescript")',
|
|
13
|
+
required: true,
|
|
14
|
+
}),
|
|
15
|
+
value: Args.string({
|
|
16
|
+
description: 'Value to set (JSON for objects/arrays)',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { args } = await this.parse(ConfigSet);
|
|
22
|
+
const loaded = await this.requireConfig();
|
|
23
|
+
// Parse value as JSON if it looks like JSON, otherwise use as string
|
|
24
|
+
let parsedValue;
|
|
25
|
+
try {
|
|
26
|
+
parsedValue = JSON.parse(args.value);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
parsedValue = args.value;
|
|
30
|
+
}
|
|
31
|
+
await updateConfig(loaded.path, (config) => {
|
|
32
|
+
return this.setNestedValue(config, args.key, parsedValue);
|
|
33
|
+
});
|
|
34
|
+
this.output.success(`Set ${args.key}`);
|
|
35
|
+
if (this.flags.json) {
|
|
36
|
+
this.output.json({ key: args.key, value: parsedValue });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
setNestedValue(obj, path, value) {
|
|
40
|
+
const parts = path.split('.');
|
|
41
|
+
const result = { ...obj };
|
|
42
|
+
let current = result;
|
|
43
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
44
|
+
const part = parts[i];
|
|
45
|
+
if (current[part] === undefined || current[part] === null) {
|
|
46
|
+
current[part] = {};
|
|
47
|
+
}
|
|
48
|
+
else if (typeof current[part] === 'object') {
|
|
49
|
+
current[part] = { ...current[part] };
|
|
50
|
+
}
|
|
51
|
+
current = current[part];
|
|
52
|
+
}
|
|
53
|
+
const lastPart = parts[parts.length - 1];
|
|
54
|
+
current[lastPart] = value;
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/config/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAA6B;IACjE,MAAM,CAAU,WAAW,GAAG,2BAA2B,CAAC;IAE1D,MAAM,CAAU,QAAQ,GAAG;QACxB,gEAAgE;QAChE,kEAAkE;KACpE,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,IAAI;SAChB,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SAChB,CAAC;KACJ,CAAC;IAEF,KAAK,CAAC,GAAG;QACN,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1C,qEAAqE;QACrE,IAAI,WAAoB,CAAC;QAEzB,IAAI,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACxC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,CAAC;IACJ,CAAC;IAEO,cAAc,CAAoC,GAAM,EAAE,IAAY,EAAE,KAAc;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAA6B,CAAC;QACrD,IAAI,OAAO,GAAG,MAAM,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YAEvB,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,OAAO,CAAC,IAAI,CAA6B,EAAE,CAAC;YACrE,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAA4B,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAE1C,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAE1B,OAAO,MAAW,CAAC;IACtB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class ConfigShow extends BaseCommand<typeof ConfigShow> {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
resolved: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=show.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/config/show.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,OAAO,UAAU,CAAC;IACnE,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;MAMnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B5B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class ConfigShow extends BaseCommand {
|
|
4
|
+
static description = 'Show the current configuration';
|
|
5
|
+
static examples = [
|
|
6
|
+
'<%= config.bin %> <%= command.id %>',
|
|
7
|
+
'<%= config.bin %> <%= command.id %> --resolved',
|
|
8
|
+
];
|
|
9
|
+
static flags = {
|
|
10
|
+
resolved: Flags.boolean({
|
|
11
|
+
char: 'r',
|
|
12
|
+
description: 'Show the final merged configuration (after extends and local overrides)',
|
|
13
|
+
default: false,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { flags } = await this.parse(ConfigShow), loaded = await this.requireConfig();
|
|
18
|
+
if (flags.resolved || this.flags.json) {
|
|
19
|
+
// Show the fully resolved/merged config
|
|
20
|
+
if (this.flags.json) {
|
|
21
|
+
this.output.json({
|
|
22
|
+
path: loaded.path,
|
|
23
|
+
...(loaded.localPath && { localPath: loaded.localPath }),
|
|
24
|
+
...(loaded.hasLocalOverrides && { hasLocalOverrides: loaded.hasLocalOverrides }),
|
|
25
|
+
config: loaded.config,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (loaded.hasLocalOverrides && loaded.localPath) {
|
|
30
|
+
this.output.info(`Resolved from: ${loaded.path} + ${loaded.localPath}`);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.output.info(`Resolved from: ${loaded.path}`);
|
|
34
|
+
}
|
|
35
|
+
this.output.log(JSON.stringify(loaded.config, null, 2));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Show summary of config sources
|
|
40
|
+
this.output.log(`Configuration: ${loaded.path}`);
|
|
41
|
+
if (loaded.hasLocalOverrides && loaded.localPath) {
|
|
42
|
+
this.output.log(`Local overrides: ${loaded.localPath}`);
|
|
43
|
+
}
|
|
44
|
+
this.output.log('');
|
|
45
|
+
this.output.log('Use --resolved to see the full merged configuration.');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=show.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/config/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAA8B;IACnE,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAC;IAE/D,MAAM,CAAU,QAAQ,GAAG;QACxB,qCAAqC;QACrC,gDAAgD;KAClD,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACrB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,yEAAyE;YACtF,OAAO,EAAE,KAAK;SAChB,CAAC;KACJ,CAAC;IAEF,KAAK,CAAC,GAAG;QACN,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EACxC,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,wCAAwC;YACxC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxD,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAChF,MAAM,EAAE,MAAM,CAAC,MAAM;iBACvB,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACL,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACL,iCAAiC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class GlobalCleanup extends BaseCommand<typeof GlobalCleanup> {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/commands/global/cleanup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW,CAAC,OAAO,aAAa,CAAC;IACzE,OAAgB,WAAW,SAAsD;IAEjF,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;;MAWnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8E5B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { GlobalTrackingService } from '@a1st/aix-core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
export default class GlobalCleanup extends BaseCommand {
|
|
6
|
+
static description = 'Find and clean up orphaned global configurations';
|
|
7
|
+
static examples = [
|
|
8
|
+
'<%= config.bin %> <%= command.id %>',
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --dry-run',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --force',
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
...BaseCommand.baseFlags,
|
|
14
|
+
'dry-run': Flags.boolean({
|
|
15
|
+
description: 'Show what would be cleaned up without making changes',
|
|
16
|
+
default: false,
|
|
17
|
+
}),
|
|
18
|
+
force: Flags.boolean({
|
|
19
|
+
char: 'f',
|
|
20
|
+
description: 'Remove orphaned entries without confirmation',
|
|
21
|
+
default: false,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const tracking = new GlobalTrackingService(), data = await tracking.load(), entries = Object.entries(data.entries), orphaned = [];
|
|
26
|
+
// Find orphaned entries (no projects depend on them, or projects don't exist)
|
|
27
|
+
for (const [key, entry] of entries) {
|
|
28
|
+
// Check if any projects still exist
|
|
29
|
+
const existingProjects = entry.projects.filter((p) => existsSync(p));
|
|
30
|
+
if (existingProjects.length === 0) {
|
|
31
|
+
orphaned.push({
|
|
32
|
+
key,
|
|
33
|
+
editor: entry.editor,
|
|
34
|
+
type: entry.type,
|
|
35
|
+
name: entry.name,
|
|
36
|
+
reason: entry.projects.length === 0
|
|
37
|
+
? 'No projects depend on this'
|
|
38
|
+
: 'All dependent projects have been removed',
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else if (existingProjects.length < entry.projects.length) {
|
|
42
|
+
// Some projects were removed - update tracking
|
|
43
|
+
if (!this.flags['dry-run']) {
|
|
44
|
+
// eslint-disable-next-line no-await-in-loop -- Sequential updates
|
|
45
|
+
await tracking.save({
|
|
46
|
+
...data,
|
|
47
|
+
entries: {
|
|
48
|
+
...data.entries,
|
|
49
|
+
[key]: { ...entry, projects: existingProjects },
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
this.output.info(`Updated ${key}: removed ${entry.projects.length - existingProjects.length} missing project(s)`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (this.flags.json) {
|
|
57
|
+
this.output.json({ orphaned });
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (orphaned.length === 0) {
|
|
61
|
+
this.output.info('No orphaned global configurations found');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.output.header('Orphaned Global Configurations');
|
|
65
|
+
this.output.table(orphaned, {
|
|
66
|
+
columns: [
|
|
67
|
+
{ key: 'editor', name: 'Editor' },
|
|
68
|
+
{ key: 'type', name: 'Type' },
|
|
69
|
+
{ key: 'name', name: 'Name' },
|
|
70
|
+
{ key: 'reason', name: 'Reason' },
|
|
71
|
+
],
|
|
72
|
+
});
|
|
73
|
+
if (this.flags['dry-run']) {
|
|
74
|
+
this.output.info(`\nDry run: ${orphaned.length} orphaned entry/entries would be removed from tracking`);
|
|
75
|
+
this.output.info('Note: This only removes tracking entries, not the actual global config files');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (!this.flags.force) {
|
|
79
|
+
this.output.warn('\nUse --force to remove these entries from tracking');
|
|
80
|
+
this.output.info('Note: This only removes tracking entries, not the actual global config files');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Remove orphaned entries
|
|
84
|
+
for (const entry of orphaned) {
|
|
85
|
+
// eslint-disable-next-line no-await-in-loop -- Sequential for atomic operations
|
|
86
|
+
await tracking.removeEntry(entry.key);
|
|
87
|
+
this.output.info(`Removed tracking for ${entry.key}`);
|
|
88
|
+
}
|
|
89
|
+
this.output.info(`\nCleaned up ${orphaned.length} orphaned tracking entry/entries`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/commands/global/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC7C,OAAgB,WAAW,SAAsD;IAEjF,OAAgB,MAAM,UAAQ;IAExB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command, Help } from '@oclif/core';
|
|
2
|
+
export default class GlobalIndex extends Command {
|
|
3
|
+
static description = 'Find and clean up orphaned global configurations';
|
|
4
|
+
static hidden = true;
|
|
5
|
+
async run() {
|
|
6
|
+
const help = new Help(this.config);
|
|
7
|
+
await help.showHelp(['global']);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC7C,MAAM,CAAU,WAAW,GAAG,kDAAkD,CAAC;IAEjF,MAAM,CAAU,MAAM,GAAG,IAAI,CAAC;IAE9B,KAAK,CAAC,GAAG;QACN,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/global/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,OAAO,UAAU,CAAC;IACnE,OAAgB,WAAW,SAA0C;IAErE,OAAgB,QAAQ,WAGtB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC5B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { GlobalTrackingService } from '@a1st/aix-core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class GlobalList extends BaseCommand {
|
|
4
|
+
static description = 'List globally tracked configurations';
|
|
5
|
+
static examples = [
|
|
6
|
+
'<%= config.bin %> <%= command.id %>',
|
|
7
|
+
'<%= config.bin %> <%= command.id %> --json',
|
|
8
|
+
];
|
|
9
|
+
async run() {
|
|
10
|
+
const tracking = new GlobalTrackingService(), data = await tracking.load();
|
|
11
|
+
if (this.flags.json) {
|
|
12
|
+
this.output.json(data);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const entries = Object.entries(data.entries);
|
|
16
|
+
if (entries.length === 0) {
|
|
17
|
+
this.output.info('No global configurations tracked');
|
|
18
|
+
this.output.info('Global configs are tracked when installing to editors with global-only features (Windsurf MCP, Codex MCP/Prompts)');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const rows = entries.map(([key, entry]) => ({
|
|
22
|
+
key,
|
|
23
|
+
editor: entry.editor,
|
|
24
|
+
type: entry.type,
|
|
25
|
+
name: entry.name,
|
|
26
|
+
projects: entry.projects.length,
|
|
27
|
+
}));
|
|
28
|
+
this.output.header('Global Configurations');
|
|
29
|
+
this.output.table(rows, {
|
|
30
|
+
columns: [
|
|
31
|
+
{ key: 'editor', name: 'Editor' },
|
|
32
|
+
{ key: 'type', name: 'Type' },
|
|
33
|
+
{ key: 'name', name: 'Name' },
|
|
34
|
+
{ key: 'projects', name: 'Projects' },
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
this.output.info('\nTracking file: ~/.aix/global-tracking.json');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/global/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAA8B;IACnE,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAErE,MAAM,CAAU,QAAQ,GAAG;QACxB,qCAAqC;QACrC,4CAA4C;KAC9C,CAAC;IAEF,KAAK,CAAC,GAAG;QACN,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,EACtC,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mHAAmH,CAAC,CAAC;YACtI,OAAO;QACV,CAAC;QAED,MAAM,IAAI,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,GAAG;YACH,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;SACjC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACrB,OAAO,EAAE;gBACN,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7B,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../base-command.js';
|
|
2
|
+
export default class Init extends BaseCommand<typeof Init> {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
private importFromEditorConfig;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACvD,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;MAUnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA+BZ,sBAAsB;CAuEtC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { writeFile } from 'node:fs/promises';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { BaseCommand } from '../base-command.js';
|
|
6
|
+
import { createEmptyConfig } from '@a1st/aix-schema';
|
|
7
|
+
import { importFromEditor, getAvailableEditors, writeImportedContent, commitImport, rollbackImport, } from '@a1st/aix-core';
|
|
8
|
+
export default class Init extends BaseCommand {
|
|
9
|
+
static description = 'Initialize a new ai.json configuration file';
|
|
10
|
+
static examples = [
|
|
11
|
+
'<%= config.bin %> <%= command.id %>',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --force',
|
|
13
|
+
'<%= config.bin %> <%= command.id %> --from windsurf',
|
|
14
|
+
'<%= config.bin %> <%= command.id %> --from cursor --force',
|
|
15
|
+
];
|
|
16
|
+
static flags = {
|
|
17
|
+
force: Flags.boolean({
|
|
18
|
+
char: 'f',
|
|
19
|
+
description: 'Overwrite existing ai.json',
|
|
20
|
+
default: false,
|
|
21
|
+
}),
|
|
22
|
+
from: Flags.string({
|
|
23
|
+
description: `Import global config from an editor (${getAvailableEditors().join(', ')})`,
|
|
24
|
+
options: getAvailableEditors(),
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const configPath = join(process.cwd(), 'ai.json');
|
|
29
|
+
if (existsSync(configPath) && !this.flags.force) {
|
|
30
|
+
this.error('ai.json already exists. Use --force to overwrite.');
|
|
31
|
+
}
|
|
32
|
+
let config;
|
|
33
|
+
const editor = this.flags.from;
|
|
34
|
+
if (editor) {
|
|
35
|
+
try {
|
|
36
|
+
config = await this.importFromEditorConfig(editor);
|
|
37
|
+
await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
38
|
+
await commitImport(process.cwd(), editor);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
await rollbackImport(process.cwd(), editor);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
config = createEmptyConfig();
|
|
47
|
+
await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
48
|
+
}
|
|
49
|
+
this.output.success(`Created ${configPath}`);
|
|
50
|
+
if (this.flags.json) {
|
|
51
|
+
this.output.json({ path: configPath, config });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async importFromEditorConfig(editor) {
|
|
55
|
+
const projectRoot = process.cwd(), result = await importFromEditor(editor, { projectRoot });
|
|
56
|
+
// Show what sources were found
|
|
57
|
+
if (result.sources.global && result.sources.local) {
|
|
58
|
+
this.output.info(`Importing from ${editor} (global + local project config)`);
|
|
59
|
+
}
|
|
60
|
+
else if (result.sources.global) {
|
|
61
|
+
this.output.info(`Importing from ${editor} (global config)`);
|
|
62
|
+
}
|
|
63
|
+
else if (result.sources.local) {
|
|
64
|
+
this.output.info(`Importing from ${editor} (local project config)`);
|
|
65
|
+
}
|
|
66
|
+
// Show warnings
|
|
67
|
+
for (const warning of result.warnings) {
|
|
68
|
+
this.output.warn(warning);
|
|
69
|
+
}
|
|
70
|
+
const mcpCount = Object.keys(result.mcp).length, rulesCount = result.rules.length, skillsCount = Object.keys(result.skills).length, promptsCount = Object.keys(result.prompts).length;
|
|
71
|
+
if (mcpCount > 0) {
|
|
72
|
+
this.output.success(`Imported ${mcpCount} MCP server${mcpCount === 1 ? '' : 's'}`);
|
|
73
|
+
}
|
|
74
|
+
if (rulesCount > 0) {
|
|
75
|
+
this.output.success(`Imported ${rulesCount} rule${rulesCount === 1 ? '' : 's'}`);
|
|
76
|
+
}
|
|
77
|
+
if (skillsCount > 0) {
|
|
78
|
+
this.output.success(`Imported ${skillsCount} skill${skillsCount === 1 ? '' : 's'}`);
|
|
79
|
+
}
|
|
80
|
+
if (promptsCount > 0) {
|
|
81
|
+
this.output.success(`Imported ${promptsCount} prompt${promptsCount === 1 ? '' : 's'}`);
|
|
82
|
+
}
|
|
83
|
+
if (mcpCount === 0 && rulesCount === 0 && skillsCount === 0 && promptsCount === 0) {
|
|
84
|
+
this.output.warn('No configuration found to import');
|
|
85
|
+
}
|
|
86
|
+
// Write imported content to .aix/imported/<editor>/ and get path references
|
|
87
|
+
const written = await writeImportedContent(process.cwd(), editor, {
|
|
88
|
+
rules: result.rules,
|
|
89
|
+
prompts: result.prompts,
|
|
90
|
+
});
|
|
91
|
+
// Build rules object with path references
|
|
92
|
+
const rules = {};
|
|
93
|
+
for (const [name, relativePath] of Object.entries(written.rules)) {
|
|
94
|
+
rules[name] = { path: relativePath };
|
|
95
|
+
}
|
|
96
|
+
// Build prompts object with path references
|
|
97
|
+
const prompts = {};
|
|
98
|
+
for (const [name, relativePath] of Object.entries(written.prompts)) {
|
|
99
|
+
prompts[name] = { path: relativePath };
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
...createEmptyConfig(),
|
|
103
|
+
mcp: result.mcp,
|
|
104
|
+
rules,
|
|
105
|
+
skills: result.skills,
|
|
106
|
+
prompts,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACJ,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GAEhB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAwB;IACvD,MAAM,CAAU,WAAW,GAAG,6CAA6C,CAAC;IAE5E,MAAM,CAAU,QAAQ,GAAG;QACxB,qCAAqC;QACrC,6CAA6C;QAC7C,qDAAqD;QACrD,2DAA2D;KAC7D,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,wCAAwC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACxF,OAAO,EAAE,mBAAmB,EAAE;SAChC,CAAC;KACJ,CAAC;IAEF,KAAK,CAAC,GAAG;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QAElD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,MAAoB,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAA8B,CAAC;QAEzD,IAAI,MAAM,EAAE,CAAC;YACV,IAAI,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpE,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACd,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,KAAK,CAAC;YACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACL,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAkB;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAC3B,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/D,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,kCAAkC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,kBAAkB,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,yBAAyB,CAAC,CAAC;QACvE,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EACzC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAChC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAC/C,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAExD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,QAAQ,cAAc,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,UAAU,QAAQ,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,WAAW,SAAS,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,YAAY,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,4EAA4E;QAC5E,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE;YAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,KAAK,GAAqC,EAAE,CAAC;QAEnD,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QACxC,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAqC,EAAE,CAAC;QAErD,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO;YACJ,GAAG,iBAAiB,EAAE;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO;SACT,CAAC;IACL,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BaseCommand } from '../base-command.js';
|
|
2
|
+
export default class Install extends BaseCommand<typeof Install> {
|
|
3
|
+
static aliases: string[];
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static args: {
|
|
7
|
+
source: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
target: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
save: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
overwrite: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve which editors to install to based on flags, config, and detection.
|
|
20
|
+
*/
|
|
21
|
+
private resolveEditors;
|
|
22
|
+
/**
|
|
23
|
+
* Install to a single editor and handle output.
|
|
24
|
+
*/
|
|
25
|
+
private installToSingleEditor;
|
|
26
|
+
/**
|
|
27
|
+
* Handle the result of installing to an editor.
|
|
28
|
+
*/
|
|
29
|
+
private handleInstallResult;
|
|
30
|
+
/**
|
|
31
|
+
* Save remote config to local ai.json (creates, merges, or overwrites).
|
|
32
|
+
*/
|
|
33
|
+
private saveRemoteConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Display warnings for features that the editor doesn't support.
|
|
36
|
+
*/
|
|
37
|
+
private showUnsupportedFeatureWarnings;
|
|
38
|
+
/**
|
|
39
|
+
* Display changes grouped by category with better visual hierarchy.
|
|
40
|
+
*/
|
|
41
|
+
private displayChanges;
|
|
42
|
+
/**
|
|
43
|
+
* Get the display prefix for a change action.
|
|
44
|
+
*/
|
|
45
|
+
private getChangePrefix;
|
|
46
|
+
/**
|
|
47
|
+
* Extract skill name from path like .aix/skills/pdf or .windsurf/skills/pdf -> pdf
|
|
48
|
+
*/
|
|
49
|
+
private extractSkillName;
|
|
50
|
+
/**
|
|
51
|
+
* Extract filename from path
|
|
52
|
+
*/
|
|
53
|
+
private extractFileName;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAwBjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW,CAAC,OAAO,OAAO,CAAC;IAC7D,OAAgB,OAAO,WAAS;IAEhC,OAAgB,WAAW,SAAsC;IAEjE,OAAgB,QAAQ,WAYtB;IAEF,OAAgB,IAAI;;MAMlB;IAEF,OAAgB,KAAK;;;;;;;MAyBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8G1B;;OAEG;YACW,cAAc;IAsD5B;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;YACW,gBAAgB;IAqF9B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA4BtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAyDtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,eAAe;CAMzB"}
|