ai-factory 2.9.3 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -67
- package/dist/cli/commands/extension.d.ts.map +1 -1
- package/dist/cli/commands/extension.js +37 -22
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +44 -19
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +61 -13
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +10 -6
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/wizard/skill-hints.d.ts.map +1 -1
- package/dist/cli/wizard/skill-hints.js +2 -0
- package/dist/cli/wizard/skill-hints.js.map +1 -1
- package/dist/core/agents.d.ts +27 -1
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +99 -6
- package/dist/core/agents.js.map +1 -1
- package/dist/core/config.d.ts +19 -4
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +140 -15
- package/dist/core/config.js.map +1 -1
- package/dist/core/extension-ops.d.ts +15 -1
- package/dist/core/extension-ops.d.ts.map +1 -1
- package/dist/core/extension-ops.js +201 -2
- package/dist/core/extension-ops.js.map +1 -1
- package/dist/core/extensions.d.ts +26 -4
- package/dist/core/extensions.d.ts.map +1 -1
- package/dist/core/extensions.js +190 -6
- package/dist/core/extensions.js.map +1 -1
- package/dist/core/installer.d.ts +25 -4
- package/dist/core/installer.d.ts.map +1 -1
- package/dist/core/installer.js +256 -40
- package/dist/core/installer.js.map +1 -1
- package/dist/core/transformer.d.ts.map +1 -1
- package/dist/core/transformer.js +1 -0
- package/dist/core/transformer.js.map +1 -1
- package/dist/core/transformers/antigravity.d.ts.map +1 -1
- package/dist/core/transformers/antigravity.js +2 -0
- package/dist/core/transformers/antigravity.js.map +1 -1
- package/dist/utils/fs.d.ts +9 -3
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +9 -5
- package/dist/utils/fs.js.map +1 -1
- package/package.json +16 -5
- package/schemas/extension.schema.json +243 -0
- package/skills/aif/SKILL.md +294 -196
- package/skills/aif/references/config-template.yaml +9 -0
- package/skills/aif/references/update-config.mjs +676 -0
- package/skills/aif-architecture/SKILL.md +19 -14
- package/skills/aif-commit/SKILL.md +1 -0
- package/skills/aif-implement/SKILL.md +157 -1
- package/skills/aif-plan/SKILL.md +46 -2
- package/skills/aif-qa/SKILL.md +188 -0
- package/skills/aif-qa/references/CHANGE-SUMMARY.md +155 -0
- package/skills/aif-qa/references/TEST-CASES.md +106 -0
- package/skills/aif-qa/references/TEST-PLAN.md +90 -0
- package/skills/aif-qa/templates/CHANGE-SUMMARY.md +49 -0
- package/skills/aif-qa/templates/TEST-CASES.md +42 -0
- package/skills/aif-qa/templates/TEST-PLAN.md +81 -0
- package/skills/aif-review/SKILL.md +34 -1
- package/skills/aif-rules-check/SKILL.md +205 -0
- package/skills/aif-rules-check/references/RULES-CHECK-CONTRACT.md +55 -0
- package/skills/aif-security-checklist/SKILL.md +37 -0
- package/skills/aif-verify/SKILL.md +37 -1
- package/skills/aif-verify/references/CONTEXT-GATES-AND-OWNERSHIP.md +11 -0
- package/skills/aif-verify/references/GATE-RESULT-CONTRACT.md +88 -0
- package/subagents/best-practices-sidecar.md +5 -2
- package/subagents/implement-coordinator.md +7 -3
- package/subagents/plan-coordinator.md +13 -4
- package/subagents/plan-polisher.md +82 -16
- package/subagents/review-sidecar.md +5 -2
- package/subagents/rules-sidecar.md +31 -0
- package/subagents/security-sidecar.md +5 -2
package/README.md
CHANGED
|
@@ -72,46 +72,9 @@ Then open your AI agent and start working:
|
|
|
72
72
|
/aif
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
Need CLI flags, update/upgrade details, or extension commands? See [Getting Started](docs/getting-started.md). Need slash-command reference? See [Core Skills](docs/skills.md).
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
ai-factory init
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Or running without installation via `npx`:
|
|
83
|
-
```bash
|
|
84
|
-
npx ai-factory init
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Non-interactive mode
|
|
88
|
-
|
|
89
|
-
Pass `--agents` to skip the interactive wizard:
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
# Agents + MCP servers
|
|
93
|
-
ai-factory init --agents claude,cursor --mcp github,playwright
|
|
94
|
-
|
|
95
|
-
# With specific skills
|
|
96
|
-
ai-factory init --agents claude --skills commit,plan
|
|
97
|
-
|
|
98
|
-
# Without base skills
|
|
99
|
-
ai-factory init --agents codex --no-skills --mcp github
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Available MCP servers: `github`, `postgres`, `filesystem`, `chrome-devtools`, `playwright`
|
|
103
|
-
|
|
104
|
-
### Upgrading from v1 to v2
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
ai-factory upgrade
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
`ai-factory upgrade` removes old bare-named skills (`commit`, `feature`, etc.) and installs new `aif-*` prefixed versions. Custom skills are preserved.
|
|
111
|
-
|
|
112
|
-
> **Note:** `ai-factory update` automatically checks npm for a newer CLI version and offers to install it before updating skills, then reports `changed/unchanged/skipped/removed` for installed base skills. Use `ai-factory update --force` for a clean reinstall of currently installed base skills.
|
|
113
|
-
|
|
114
|
-
### Example Workflow
|
|
77
|
+
## Example Workflow
|
|
115
78
|
|
|
116
79
|
```bash
|
|
117
80
|
# Explore options and requirements before planning (optional)
|
|
@@ -144,20 +107,6 @@ ai-factory upgrade
|
|
|
144
107
|
|
|
145
108
|
See the full [Development Workflow](docs/workflow.md) with diagram and decision table.
|
|
146
109
|
|
|
147
|
-
### Auto-Generated Documentation
|
|
148
|
-
|
|
149
|
-
AI Factory can generate and maintain your project docs with a single command:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
/aif-docs # Creates README + docs/ structure from your codebase
|
|
153
|
-
/aif-docs --web # Also generates a static HTML documentation site
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
- **Generates docs from scratch** — analyzes your codebase and creates a lean README + detailed `docs/` pages by topic
|
|
157
|
-
- **Cleans up scattered files** — finds loose CONTRIBUTING.md, ARCHITECTURE.md, SETUP.md in your root and consolidates them into a structured `docs/` directory
|
|
158
|
-
- **Keeps docs in sync** — integrates with `/aif-implement` docs policy (`Docs: yes` = mandatory docs checkpoint routed to `/aif-docs`, `Docs: no` = visible `WARN [docs]`)
|
|
159
|
-
- **Builds a docs website** — `--web` generates a static HTML site with navigation and dark mode, ready to host
|
|
160
|
-
|
|
161
110
|
---
|
|
162
111
|
|
|
163
112
|
## Documentation
|
|
@@ -169,6 +118,7 @@ AI Factory can generate and maintain your project docs with a single command:
|
|
|
169
118
|
| [Reflex Loop](docs/loop.md) | Iterative generate → evaluate → critique → refine workflow |
|
|
170
119
|
| [Subagents](docs/subagents.md) | Claude Code only: repo-local planning, implementation, and loop subagents with narrow role contracts |
|
|
171
120
|
| [Core Skills](docs/skills.md) | All slash commands — explore, grounded, plan, fix, implement, evolve, docs, and more |
|
|
121
|
+
| [Quality Gates](docs/quality-gates.md) | Machine-readable `aif-gate-result` summaries for verify, review, security, and rules gates |
|
|
172
122
|
| [Skill Evolution](docs/evolve.md) | How /aif-fix patches feed into /aif-evolve to generate smarter skill rules |
|
|
173
123
|
| [Plan Files](docs/plan-files.md) | Plan files, self-improvement patches, skill acquisition |
|
|
174
124
|
| [Security](docs/security.md) | Two-level security scanning for external skills |
|
|
@@ -176,22 +126,9 @@ AI Factory can generate and maintain your project docs with a single command:
|
|
|
176
126
|
| [Configuration](docs/configuration.md) | `.ai-factory.json`, MCP servers, project structure, best practices |
|
|
177
127
|
| [Config Reference](docs/config-reference.md) | Full `config.yaml` key reference and skill read/write matrix |
|
|
178
128
|
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-

|
|
182
|
-
|
|
183
|
-
## AIF Handoff
|
|
184
|
-
|
|
185
|
-
Looking for an **Autonomous Kanban board where AI agents plan, implement, and review your tasks**? Check out [aif-handoff](https://github.com/lee-to/aif-handoff) — a visual task management system built on top of AI Factory.
|
|
186
|
-
|
|
187
|
-

|
|
188
|
-

|
|
189
|
-

|
|
190
|
-

|
|
191
|
-
|
|
192
129
|
## Links
|
|
193
|
-
|
|
194
130
|
- [Official Website](https://aif.cutcode.dev) - AI Factory website
|
|
131
|
+
- [aif-handoff](https://github.com/lee-to/aif-handoff) - Autonomous Kanban board built on AI Factory
|
|
195
132
|
- If AI Factory feels too simple for your goals, try [HLV](https://github.com/lee-to/hlv)
|
|
196
133
|
- [skills.sh](https://skills.sh) - Skill marketplace
|
|
197
134
|
- [Agent Skills Spec](https://agentskills.io) - Skill specification
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/extension.ts"],"names":[],"mappings":"AAkDA,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CvE;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FxE;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC1D;AAED,wBAAsB,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFxG"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import { loadConfig, saveConfig } from '../../core/config.js';
|
|
3
|
+
import { hydrateAgentFileSources, loadConfig, saveConfig } from '../../core/config.js';
|
|
4
|
+
import { hydrateProjectAgentRegistry } from '../../core/agents.js';
|
|
4
5
|
import { resolveExtension, removeExtensionFiles, getExtensionsDir, loadExtensionManifest, } from '../../core/extensions.js';
|
|
5
6
|
import { removeExtensionMcpServers } from '../../core/mcp.js';
|
|
6
|
-
import { removeSkillsForAllAgents, collectReplacedSkills, restoreBaseSkills, stripInjectionsForAllAgents, removeCustomSkillsForAllAgents, commitResolvedExtension, refreshExtensions, } from '../../core/extension-ops.js';
|
|
7
|
-
|
|
8
|
-
const projectDir = process.cwd();
|
|
9
|
-
console.log(chalk.bold.blue('\n🏭 AI Factory - Install Extension\n'));
|
|
7
|
+
import { collectTrackedExtensionAgentFileTargets, removeSkillsForAllAgents, collectReplacedSkills, collectManifestAgentFileTargets, removeAgentFilesForAllAgentsByTargets, removeExtensionAgentFilesForAllAgents, pruneAgentFileSources, pruneInstalledAgentFiles, pruneManagedAgentFiles, restoreBaseSkills, stripInjectionsForAllAgents, removeCustomSkillsForAllAgents, commitResolvedExtension, refreshExtensions, getManifestRuntimeIds, assertNoConfiguredRuntimeOrphans, } from '../../core/extension-ops.js';
|
|
8
|
+
async function loadHydratedExtensionConfig(projectDir, options = {}) {
|
|
10
9
|
const config = await loadConfig(projectDir);
|
|
11
10
|
if (!config) {
|
|
12
11
|
console.log(chalk.red('Error: No .ai-factory.json found.'));
|
|
13
|
-
|
|
12
|
+
if (options.showInitHint) {
|
|
13
|
+
console.log(chalk.dim('Run "ai-factory init" to set up your project first.'));
|
|
14
|
+
}
|
|
14
15
|
process.exit(1);
|
|
15
16
|
}
|
|
17
|
+
await hydrateProjectAgentRegistry(projectDir, {
|
|
18
|
+
extensionNames: config.extensions?.map(extension => extension.name) ?? [],
|
|
19
|
+
});
|
|
20
|
+
return config;
|
|
21
|
+
}
|
|
22
|
+
export async function extensionAddCommand(source) {
|
|
23
|
+
const projectDir = process.cwd();
|
|
24
|
+
console.log(chalk.bold.blue('\n🏭 AI Factory - Install Extension\n'));
|
|
25
|
+
const config = await loadHydratedExtensionConfig(projectDir, { showInitHint: true });
|
|
16
26
|
console.log(chalk.dim(`Installing from: ${source}\n`));
|
|
17
27
|
try {
|
|
18
28
|
const resolved = await resolveExtension(projectDir, source);
|
|
@@ -55,11 +65,8 @@ export async function extensionAddCommand(source) {
|
|
|
55
65
|
export async function extensionRemoveCommand(name) {
|
|
56
66
|
const projectDir = process.cwd();
|
|
57
67
|
console.log(chalk.bold.blue('\n🏭 AI Factory - Remove Extension\n'));
|
|
58
|
-
const config = await
|
|
59
|
-
|
|
60
|
-
console.log(chalk.red('Error: No .ai-factory.json found.'));
|
|
61
|
-
process.exit(1);
|
|
62
|
-
}
|
|
68
|
+
const config = await loadHydratedExtensionConfig(projectDir);
|
|
69
|
+
await hydrateAgentFileSources(projectDir, config);
|
|
63
70
|
const extensions = config.extensions ?? [];
|
|
64
71
|
const index = extensions.findIndex(e => e.name === name);
|
|
65
72
|
if (index < 0) {
|
|
@@ -69,6 +76,23 @@ export async function extensionRemoveCommand(name) {
|
|
|
69
76
|
try {
|
|
70
77
|
const extensionDir = path.join(getExtensionsDir(projectDir), name);
|
|
71
78
|
const manifest = await loadExtensionManifest(extensionDir);
|
|
79
|
+
assertNoConfiguredRuntimeOrphans(config, getManifestRuntimeIds(manifest), name, 'remove');
|
|
80
|
+
const trackedAgentFileTargets = manifest?.agentFiles?.length
|
|
81
|
+
? collectManifestAgentFileTargets(manifest)
|
|
82
|
+
: collectTrackedExtensionAgentFileTargets(config.agents, name);
|
|
83
|
+
if (Array.from(trackedAgentFileTargets.values()).some(targets => targets.length > 0)) {
|
|
84
|
+
const removedAgentFiles = manifest?.agentFiles?.length
|
|
85
|
+
? await removeExtensionAgentFilesForAllAgents(projectDir, config.agents, manifest)
|
|
86
|
+
: await removeAgentFilesForAllAgentsByTargets(projectDir, config.agents, trackedAgentFileTargets);
|
|
87
|
+
pruneInstalledAgentFiles(config.agents, trackedAgentFileTargets);
|
|
88
|
+
pruneAgentFileSources(config.agents, trackedAgentFileTargets);
|
|
89
|
+
pruneManagedAgentFiles(config.agents, trackedAgentFileTargets);
|
|
90
|
+
for (const [agentId, files] of removedAgentFiles) {
|
|
91
|
+
if (files.length > 0) {
|
|
92
|
+
console.log(chalk.green(`✓ Agent files removed for ${agentId}: ${files.join(', ')}`));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
72
96
|
// Strip injections before removing files
|
|
73
97
|
await stripInjectionsForAllAgents(projectDir, config.agents, name, manifest);
|
|
74
98
|
// Remove replacement skills (installed under base names)
|
|
@@ -119,11 +143,7 @@ export async function extensionRemoveCommand(name) {
|
|
|
119
143
|
}
|
|
120
144
|
export async function extensionListCommand() {
|
|
121
145
|
const projectDir = process.cwd();
|
|
122
|
-
const config = await
|
|
123
|
-
if (!config) {
|
|
124
|
-
console.log(chalk.red('Error: No .ai-factory.json found.'));
|
|
125
|
-
process.exit(1);
|
|
126
|
-
}
|
|
146
|
+
const config = await loadHydratedExtensionConfig(projectDir);
|
|
127
147
|
const extensions = config.extensions ?? [];
|
|
128
148
|
if (extensions.length === 0) {
|
|
129
149
|
console.log(chalk.dim('\nNo extensions installed.\n'));
|
|
@@ -164,12 +184,7 @@ export async function extensionUpdateCommand(name, options) {
|
|
|
164
184
|
if (force) {
|
|
165
185
|
console.log(chalk.dim('Force mode: refreshing all extensions regardless of version\n'));
|
|
166
186
|
}
|
|
167
|
-
const config = await
|
|
168
|
-
if (!config) {
|
|
169
|
-
console.log(chalk.red('Error: No .ai-factory.json found.'));
|
|
170
|
-
console.log(chalk.dim('Run "ai-factory init" to set up your project first.'));
|
|
171
|
-
process.exit(1);
|
|
172
|
-
}
|
|
187
|
+
const config = await loadHydratedExtensionConfig(projectDir, { showInitHint: true });
|
|
173
188
|
const extensions = config.extensions ?? [];
|
|
174
189
|
if (extensions.length === 0) {
|
|
175
190
|
console.log(chalk.dim('No extensions installed.\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/cli/commands/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,MAAM,IAAI,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE;gBAC7D,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACtB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YACH,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;YAC1F,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAAgC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEzD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAE3D,yCAAyC;QACzC,MAAM,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7E,yDAAyD;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;YACpG,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC7G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE7C,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;YACvF,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;YAC7F,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAC9F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAa,EAAE,OAA6B;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAEtE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE;QAC1D,WAAW;QACX,KAAK;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,qCAAqC,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,CAAC,CAAC,aAAa,KAAK,eAAe,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,8CAA8C,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,CAAC,CAAC,aAAa,KAAK,4BAA4B,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,2CAA2C,CAAC,CACvE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/cli/commands/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuFD,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgN1E"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { runWizard } from '../wizard/prompts.js';
|
|
4
|
-
import {
|
|
4
|
+
import { buildBundledAgentFileSources, buildExtensionAgentFileSources, buildManagedSkillsState, installSkills, installSubagents, getAvailableSkills, rebuildManagedAgentFilesForAgents, resolveInstalledAgentFileTargetPath, } from '../../core/installer.js';
|
|
5
5
|
import { saveConfig, configExists, loadConfig, getCurrentVersion } from '../../core/config.js';
|
|
6
6
|
import { configureMcp, getMcpInstructions } from '../../core/mcp.js';
|
|
7
|
-
import { getAgentConfig, getAvailableAgentIds } from '../../core/agents.js';
|
|
7
|
+
import { getAgentConfig, getAvailableAgentIds, hydrateProjectAgentRegistry } from '../../core/agents.js';
|
|
8
8
|
import { cleanupAgentSetup, getAgentOnboarding } from '../../core/transformer.js';
|
|
9
9
|
import { removeDirectory, removeFile, copyFile, fileExists, getSkillsDir } from '../../utils/fs.js';
|
|
10
10
|
import { applyExtensionInjections } from '../../core/injections.js';
|
|
11
|
-
import { collectReplacedSkills } from '../../core/extension-ops.js';
|
|
11
|
+
import { assertNoAgentFileConflicts, collectReplacedSkills, installExtensionAgentFilesForAllAgents, mergeAgentFileSources, mergeInstalledAgentFiles, } from '../../core/extension-ops.js';
|
|
12
|
+
import { loadAllExtensions } from '../../core/extensions.js';
|
|
12
13
|
const VALID_MCP_KEYS = {
|
|
13
14
|
github: 'mcpGithub',
|
|
14
15
|
postgres: 'mcpPostgres',
|
|
@@ -67,13 +68,18 @@ function buildAnswersFromFlags(options, availableSkills) {
|
|
|
67
68
|
async function removeAgentSetup(projectDir, agent) {
|
|
68
69
|
const agentConfig = getAgentConfig(agent.id);
|
|
69
70
|
await removeDirectory(path.join(projectDir, agent.skillsDir));
|
|
70
|
-
// Remove only AI Factory-managed
|
|
71
|
+
// Remove only AI Factory-managed agent files, not the entire directory.
|
|
71
72
|
// The directory may contain user-created custom agents unrelated to AI Factory.
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
const managedFiles = agent.
|
|
73
|
+
const agentsDir = agent.agentsDir ?? agentConfig.agentsDir;
|
|
74
|
+
if (agentsDir) {
|
|
75
|
+
const managedFiles = agent.installedAgentFiles ?? [];
|
|
75
76
|
for (const relPath of managedFiles) {
|
|
76
|
-
|
|
77
|
+
try {
|
|
78
|
+
await removeFile(resolveInstalledAgentFileTargetPath(projectDir, agentsDir, relPath));
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.log(chalk.yellow(`Warning: Skipping unsafe managed agent file path "${relPath}" while removing ${agent.id}: ${error.message}`));
|
|
82
|
+
}
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
await cleanupAgentSetup(agent.id, projectDir, agent.skillsDir);
|
|
@@ -84,6 +90,9 @@ export async function initCommand(options = {}) {
|
|
|
84
90
|
console.log(chalk.bold.blue('\n🏭 AI Factory - Project Setup\n'));
|
|
85
91
|
const hasExistingConfig = await configExists(projectDir);
|
|
86
92
|
const existingConfig = hasExistingConfig ? await loadConfig(projectDir) : null;
|
|
93
|
+
await hydrateProjectAgentRegistry(projectDir, {
|
|
94
|
+
extensionNames: existingConfig?.extensions?.map(extension => extension.name) ?? [],
|
|
95
|
+
});
|
|
87
96
|
if (hasExistingConfig) {
|
|
88
97
|
console.log(chalk.yellow('Warning: .ai-factory.json already exists.'));
|
|
89
98
|
console.log('Running init will reconfigure selected agents (add/remove) and reinstall base skills.\n');
|
|
@@ -118,10 +127,11 @@ export async function initCommand(options = {}) {
|
|
|
118
127
|
skills: answers.selectedSkills,
|
|
119
128
|
agentId: agentSelection.id,
|
|
120
129
|
});
|
|
121
|
-
const
|
|
130
|
+
const installedAgentFiles = agentConfig.agentsDir
|
|
122
131
|
? await installSubagents({
|
|
123
132
|
projectDir,
|
|
124
|
-
|
|
133
|
+
agentId: agentSelection.id,
|
|
134
|
+
agentsDir: agentConfig.agentsDir,
|
|
125
135
|
})
|
|
126
136
|
: [];
|
|
127
137
|
const configuredMcp = await configureMcp(projectDir, {
|
|
@@ -138,9 +148,10 @@ export async function initCommand(options = {}) {
|
|
|
138
148
|
id: agentSelection.id,
|
|
139
149
|
skillsDir: agentConfig.skillsDir,
|
|
140
150
|
installedSkills,
|
|
141
|
-
...(agentConfig.
|
|
142
|
-
|
|
143
|
-
|
|
151
|
+
...(agentConfig.agentsDir ? {
|
|
152
|
+
agentsDir: agentConfig.agentsDir,
|
|
153
|
+
installedAgentFiles,
|
|
154
|
+
agentFileSources: buildBundledAgentFileSources(installedAgentFiles),
|
|
144
155
|
} : {}),
|
|
145
156
|
mcp: {
|
|
146
157
|
github: agentSelection.mcpGithub,
|
|
@@ -154,6 +165,22 @@ export async function initCommand(options = {}) {
|
|
|
154
165
|
const existingExtensions = existingConfig?.extensions ?? [];
|
|
155
166
|
// Re-apply extension injections after skill installation
|
|
156
167
|
if (existingExtensions.length > 0) {
|
|
168
|
+
const loadedExtensions = await loadAllExtensions(projectDir, existingExtensions.map(extension => extension.name));
|
|
169
|
+
const conflictCheckConfig = existingConfig ?? {
|
|
170
|
+
version: getCurrentVersion(),
|
|
171
|
+
agents: installedAgents,
|
|
172
|
+
extensions: existingExtensions,
|
|
173
|
+
};
|
|
174
|
+
for (const { dir, manifest } of loadedExtensions) {
|
|
175
|
+
await assertNoAgentFileConflicts(projectDir, {
|
|
176
|
+
...conflictCheckConfig,
|
|
177
|
+
extensions: existingExtensions,
|
|
178
|
+
agents: installedAgents,
|
|
179
|
+
}, manifest);
|
|
180
|
+
const agentFileResults = await installExtensionAgentFilesForAllAgents(projectDir, installedAgents, dir, manifest);
|
|
181
|
+
mergeInstalledAgentFiles(installedAgents, agentFileResults);
|
|
182
|
+
mergeAgentFileSources(installedAgents, buildExtensionAgentFileSources(manifest));
|
|
183
|
+
}
|
|
157
184
|
let totalInjections = 0;
|
|
158
185
|
for (const agent of installedAgents) {
|
|
159
186
|
totalInjections += await applyExtensionInjections(projectDir, agent, existingExtensions);
|
|
@@ -166,10 +193,8 @@ export async function initCommand(options = {}) {
|
|
|
166
193
|
for (const agent of installedAgents) {
|
|
167
194
|
const managedBaseSkills = agent.installedSkills.filter(skill => !replacedSkills.has(skill));
|
|
168
195
|
agent.managedSkills = await buildManagedSkillsState(projectDir, agent, managedBaseSkills);
|
|
169
|
-
if (agent.subagentsDir) {
|
|
170
|
-
agent.managedSubagents = await buildManagedSubagentsState(projectDir, agent, agent.installedSubagents ?? []);
|
|
171
|
-
}
|
|
172
196
|
}
|
|
197
|
+
await rebuildManagedAgentFilesForAgents(projectDir, installedAgents);
|
|
173
198
|
await saveConfig(projectDir, {
|
|
174
199
|
version: getCurrentVersion(),
|
|
175
200
|
agents: installedAgents,
|
|
@@ -194,9 +219,9 @@ export async function initCommand(options = {}) {
|
|
|
194
219
|
console.log(chalk.bold(`${agentConfig.displayName}:`));
|
|
195
220
|
console.log(chalk.dim(` Skills directory: ${path.join(projectDir, agent.skillsDir)}`));
|
|
196
221
|
console.log(chalk.dim(` Installed skills: ${agent.installedSkills.length}`));
|
|
197
|
-
if (agent.
|
|
198
|
-
console.log(chalk.dim(`
|
|
199
|
-
console.log(chalk.dim(` Installed
|
|
222
|
+
if (agent.agentsDir) {
|
|
223
|
+
console.log(chalk.dim(` Agent files directory: ${path.join(projectDir, agent.agentsDir)}`));
|
|
224
|
+
console.log(chalk.dim(` Installed agent files: ${agent.installedAgentFiles?.length ?? 0}`));
|
|
200
225
|
}
|
|
201
226
|
const configuredMcp = mcpSummary[agent.id];
|
|
202
227
|
if (configuredMcp && configuredMcp.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AA+BA,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyHD,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuWrF"}
|
|
@@ -3,11 +3,12 @@ import path from 'path';
|
|
|
3
3
|
import { realpathSync } from 'fs';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
import inquirer from 'inquirer';
|
|
6
|
-
import { getCurrentVersion, loadConfig, saveConfig } from '../../core/config.js';
|
|
7
|
-
import { compareExtensionVersions, getExtensionsDir, getNpmVersionCheckResult,
|
|
8
|
-
import {
|
|
6
|
+
import { getCurrentVersion, hydrateAgentFileSources, loadConfig, saveConfig } from '../../core/config.js';
|
|
7
|
+
import { compareExtensionVersions, getExtensionsDir, getNpmVersionCheckResult, loadAllExtensions } from '../../core/extensions.js';
|
|
8
|
+
import { hydrateProjectAgentRegistry } from '../../core/agents.js';
|
|
9
|
+
import { buildExtensionAgentFileSources, buildManagedSkillsState, getAvailableSkills, partitionSkills, rebuildManagedAgentFilesForAgents, updateSkills, updateSubagents, } from '../../core/installer.js';
|
|
9
10
|
import { applyExtensionInjections } from '../../core/injections.js';
|
|
10
|
-
import { installExtensionSkillsForAllAgents, installSkillsForAllAgents, collectReplacedSkills, refreshExtensions, } from '../../core/extension-ops.js';
|
|
11
|
+
import { installExtensionSkillsForAllAgents, installExtensionAgentFilesForAllAgents, installSkillsForAllAgents, collectReplacedSkills, mergeAgentFileSources, mergeInstalledAgentFiles, refreshExtensions, } from '../../core/extension-ops.js';
|
|
11
12
|
import { fileExists } from '../../utils/fs.js';
|
|
12
13
|
function formatReason(reason) {
|
|
13
14
|
switch (reason) {
|
|
@@ -33,6 +34,8 @@ function formatReason(reason) {
|
|
|
33
34
|
return 'install failed';
|
|
34
35
|
case 'source-missing':
|
|
35
36
|
return 'source unavailable';
|
|
37
|
+
case 'extension-refresh':
|
|
38
|
+
return 'extension refresh';
|
|
36
39
|
default:
|
|
37
40
|
return reason;
|
|
38
41
|
}
|
|
@@ -127,6 +130,9 @@ export async function updateCommand(options = {}) {
|
|
|
127
130
|
console.log(chalk.dim('Run "ai-factory init" to set up your project first.'));
|
|
128
131
|
process.exit(1);
|
|
129
132
|
}
|
|
133
|
+
await hydrateProjectAgentRegistry(projectDir, {
|
|
134
|
+
extensionNames: config.extensions?.map(extension => extension.name) ?? [],
|
|
135
|
+
});
|
|
130
136
|
const currentVersion = getCurrentVersion();
|
|
131
137
|
console.log(chalk.dim(`Config version: ${config.version}`));
|
|
132
138
|
console.log(chalk.dim(`Package version: ${currentVersion}\n`));
|
|
@@ -170,12 +176,22 @@ export async function updateCommand(options = {}) {
|
|
|
170
176
|
console.log(chalk.yellow(` ⚠ ${r.name}: ${r.failureReason}`));
|
|
171
177
|
}
|
|
172
178
|
console.log(chalk.dim(`Extensions: ${extensionSummary.updated.length} updated, ${extensionSummary.unchanged.length} unchanged, ${extensionSummary.failed.length} failed\n`));
|
|
179
|
+
await hydrateProjectAgentRegistry(projectDir, {
|
|
180
|
+
extensionNames: config.extensions?.map(extension => extension.name) ?? [],
|
|
181
|
+
});
|
|
173
182
|
}
|
|
174
183
|
console.log(chalk.dim('Updating skills and agent assets...\n'));
|
|
175
184
|
try {
|
|
176
185
|
const availableSkills = await getAvailableSkills();
|
|
177
186
|
const skillEntriesByAgent = new Map();
|
|
178
187
|
const subagentEntriesByAgent = new Map();
|
|
188
|
+
const installedExtensions = extensions.length > 0
|
|
189
|
+
? await loadAllExtensions(projectDir, extensions.map(extension => extension.name))
|
|
190
|
+
: [];
|
|
191
|
+
const extensionManifests = new Map(installedExtensions.map(({ manifest }) => [manifest.name, manifest]));
|
|
192
|
+
await hydrateAgentFileSources(projectDir, config, {
|
|
193
|
+
installedExtensions,
|
|
194
|
+
});
|
|
179
195
|
const allReplacedSkills = collectReplacedSkills(extensions);
|
|
180
196
|
if (allReplacedSkills.size > 0) {
|
|
181
197
|
console.log(chalk.dim(`Skipping replaced skills: ${[...allReplacedSkills].join(', ')}`));
|
|
@@ -188,7 +204,8 @@ export async function updateCommand(options = {}) {
|
|
|
188
204
|
agent.installedSkills = result.installedSkills;
|
|
189
205
|
skillEntriesByAgent.set(agent.id, result.entries);
|
|
190
206
|
const subagentResult = await updateSubagents(agent, projectDir, { force });
|
|
191
|
-
agent.
|
|
207
|
+
agent.installedAgentFiles = subagentResult.installedAgentFiles;
|
|
208
|
+
agent.agentFileSources = subagentResult.agentFileSources;
|
|
192
209
|
subagentEntriesByAgent.set(agent.id, subagentResult.entries);
|
|
193
210
|
}
|
|
194
211
|
// Re-install replacement skills from extensions
|
|
@@ -198,7 +215,7 @@ export async function updateCommand(options = {}) {
|
|
|
198
215
|
if (!ext.replacedSkills?.length)
|
|
199
216
|
continue;
|
|
200
217
|
const extensionDir = path.join(getExtensionsDir(projectDir), ext.name);
|
|
201
|
-
const manifest =
|
|
218
|
+
const manifest = extensionManifests.get(ext.name);
|
|
202
219
|
if (!manifest?.replaces) {
|
|
203
220
|
console.log(chalk.yellow(`⚠ Extension "${ext.name}" manifest missing — restoring base skills: ${ext.replacedSkills.join(', ')}`));
|
|
204
221
|
failedReplacements.push(...ext.replacedSkills);
|
|
@@ -248,6 +265,34 @@ export async function updateCommand(options = {}) {
|
|
|
248
265
|
await installSkillsForAllAgents(projectDir, config.agents, toRestore);
|
|
249
266
|
}
|
|
250
267
|
}
|
|
268
|
+
// Re-install extension-managed agent files so ordinary updates heal drift
|
|
269
|
+
// even when the extension version itself did not change.
|
|
270
|
+
for (const ext of extensions) {
|
|
271
|
+
const extensionDir = path.join(getExtensionsDir(projectDir), ext.name);
|
|
272
|
+
const manifest = extensionManifests.get(ext.name);
|
|
273
|
+
if (!manifest?.agentFiles?.length) {
|
|
274
|
+
const preservesTrackedAgentFiles = config.agents.some(agent => Object.values(agent.agentFileSources ?? {}).some(source => source.kind === 'extension' && source.extensionName === ext.name));
|
|
275
|
+
if (preservesTrackedAgentFiles) {
|
|
276
|
+
console.log(chalk.yellow(`⚠ Extension "${ext.name}" agent file manifest missing — preserving tracked agent file state`));
|
|
277
|
+
}
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
const results = await installExtensionAgentFilesForAllAgents(projectDir, config.agents, extensionDir, manifest);
|
|
281
|
+
mergeInstalledAgentFiles(config.agents, results);
|
|
282
|
+
mergeAgentFileSources(config.agents, buildExtensionAgentFileSources(manifest));
|
|
283
|
+
for (const [agentId, installed] of results) {
|
|
284
|
+
if (installed.length === 0) {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
const existingEntries = subagentEntriesByAgent.get(agentId) ?? [];
|
|
288
|
+
existingEntries.push(...installed.map(subagent => ({
|
|
289
|
+
subagent,
|
|
290
|
+
status: 'changed',
|
|
291
|
+
reason: 'extension-refresh',
|
|
292
|
+
})));
|
|
293
|
+
subagentEntriesByAgent.set(agentId, existingEntries);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
251
296
|
// Re-apply extension injections
|
|
252
297
|
if (config.extensions?.length) {
|
|
253
298
|
let totalInjections = 0;
|
|
@@ -264,12 +309,15 @@ export async function updateCommand(options = {}) {
|
|
|
264
309
|
const { base: baseSkills } = partitionSkills(agent.installedSkills);
|
|
265
310
|
const managedBaseSkills = baseSkills.filter(skill => availableSkills.includes(skill) && !finalReplacedSkills.has(skill));
|
|
266
311
|
agent.managedSkills = await buildManagedSkillsState(projectDir, agent, managedBaseSkills);
|
|
267
|
-
if (agent.subagentsDir) {
|
|
268
|
-
agent.managedSubagents = await buildManagedSubagentsState(projectDir, agent, agent.installedSubagents ?? []);
|
|
269
|
-
}
|
|
270
312
|
}
|
|
313
|
+
await rebuildManagedAgentFilesForAgents(projectDir, config.agents, {
|
|
314
|
+
preserveExistingOnMissingSource: true,
|
|
315
|
+
warn: (message) => console.log(chalk.yellow(`⚠ ${message}`)),
|
|
316
|
+
});
|
|
271
317
|
config.version = currentVersion;
|
|
272
|
-
await saveConfig(projectDir, config
|
|
318
|
+
await saveConfig(projectDir, config, {
|
|
319
|
+
installedExtensions,
|
|
320
|
+
});
|
|
273
321
|
console.log(chalk.green('✓ Skills and agent assets updated successfully'));
|
|
274
322
|
console.log(chalk.green('✓ Configuration updated'));
|
|
275
323
|
for (const agent of config.agents) {
|
|
@@ -323,9 +371,9 @@ export async function updateCommand(options = {}) {
|
|
|
323
371
|
}
|
|
324
372
|
}
|
|
325
373
|
const subagentEntries = subagentEntriesByAgent.get(agent.id) ?? [];
|
|
326
|
-
if (agent.
|
|
374
|
+
if (agent.agentsDir || subagentEntries.length > 0) {
|
|
327
375
|
const groupedSubagents = groupAndSortEntriesByStatus(subagentEntries, e => e.subagent);
|
|
328
|
-
console.log(chalk.bold(`[${agent.id}]
|
|
376
|
+
console.log(chalk.bold(`[${agent.id}] Agent files:`));
|
|
329
377
|
console.log(chalk.dim(` changed: ${groupedSubagents.changed.length}`));
|
|
330
378
|
console.log(chalk.dim(` unchanged: ${groupedSubagents.unchanged.length}`));
|
|
331
379
|
console.log(chalk.dim(` skipped: ${groupedSubagents.skipped.length}`));
|
|
@@ -354,7 +402,7 @@ export async function updateCommand(options = {}) {
|
|
|
354
402
|
'source-missing',
|
|
355
403
|
].includes(entry.reason));
|
|
356
404
|
if (recoveredSubagents.length > 0) {
|
|
357
|
-
console.log(chalk.yellow(' WARN: managed
|
|
405
|
+
console.log(chalk.yellow(' WARN: managed agent file state recovered for:'));
|
|
358
406
|
for (const entry of recoveredSubagents) {
|
|
359
407
|
console.log(chalk.yellow(` - ${entry.subagent} (${formatReason(entry.reason)})`));
|
|
360
408
|
}
|