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.
Files changed (78) hide show
  1. package/README.md +4 -67
  2. package/dist/cli/commands/extension.d.ts.map +1 -1
  3. package/dist/cli/commands/extension.js +37 -22
  4. package/dist/cli/commands/extension.js.map +1 -1
  5. package/dist/cli/commands/init.d.ts.map +1 -1
  6. package/dist/cli/commands/init.js +44 -19
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/commands/update.d.ts.map +1 -1
  9. package/dist/cli/commands/update.js +61 -13
  10. package/dist/cli/commands/update.js.map +1 -1
  11. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  12. package/dist/cli/commands/upgrade.js +10 -6
  13. package/dist/cli/commands/upgrade.js.map +1 -1
  14. package/dist/cli/index.js +1 -0
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/cli/wizard/skill-hints.d.ts.map +1 -1
  17. package/dist/cli/wizard/skill-hints.js +2 -0
  18. package/dist/cli/wizard/skill-hints.js.map +1 -1
  19. package/dist/core/agents.d.ts +27 -1
  20. package/dist/core/agents.d.ts.map +1 -1
  21. package/dist/core/agents.js +99 -6
  22. package/dist/core/agents.js.map +1 -1
  23. package/dist/core/config.d.ts +19 -4
  24. package/dist/core/config.d.ts.map +1 -1
  25. package/dist/core/config.js +140 -15
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/extension-ops.d.ts +15 -1
  28. package/dist/core/extension-ops.d.ts.map +1 -1
  29. package/dist/core/extension-ops.js +201 -2
  30. package/dist/core/extension-ops.js.map +1 -1
  31. package/dist/core/extensions.d.ts +26 -4
  32. package/dist/core/extensions.d.ts.map +1 -1
  33. package/dist/core/extensions.js +190 -6
  34. package/dist/core/extensions.js.map +1 -1
  35. package/dist/core/installer.d.ts +25 -4
  36. package/dist/core/installer.d.ts.map +1 -1
  37. package/dist/core/installer.js +256 -40
  38. package/dist/core/installer.js.map +1 -1
  39. package/dist/core/transformer.d.ts.map +1 -1
  40. package/dist/core/transformer.js +1 -0
  41. package/dist/core/transformer.js.map +1 -1
  42. package/dist/core/transformers/antigravity.d.ts.map +1 -1
  43. package/dist/core/transformers/antigravity.js +2 -0
  44. package/dist/core/transformers/antigravity.js.map +1 -1
  45. package/dist/utils/fs.d.ts +9 -3
  46. package/dist/utils/fs.d.ts.map +1 -1
  47. package/dist/utils/fs.js +9 -5
  48. package/dist/utils/fs.js.map +1 -1
  49. package/package.json +16 -5
  50. package/schemas/extension.schema.json +243 -0
  51. package/skills/aif/SKILL.md +294 -196
  52. package/skills/aif/references/config-template.yaml +9 -0
  53. package/skills/aif/references/update-config.mjs +676 -0
  54. package/skills/aif-architecture/SKILL.md +19 -14
  55. package/skills/aif-commit/SKILL.md +1 -0
  56. package/skills/aif-implement/SKILL.md +157 -1
  57. package/skills/aif-plan/SKILL.md +46 -2
  58. package/skills/aif-qa/SKILL.md +188 -0
  59. package/skills/aif-qa/references/CHANGE-SUMMARY.md +155 -0
  60. package/skills/aif-qa/references/TEST-CASES.md +106 -0
  61. package/skills/aif-qa/references/TEST-PLAN.md +90 -0
  62. package/skills/aif-qa/templates/CHANGE-SUMMARY.md +49 -0
  63. package/skills/aif-qa/templates/TEST-CASES.md +42 -0
  64. package/skills/aif-qa/templates/TEST-PLAN.md +81 -0
  65. package/skills/aif-review/SKILL.md +34 -1
  66. package/skills/aif-rules-check/SKILL.md +205 -0
  67. package/skills/aif-rules-check/references/RULES-CHECK-CONTRACT.md +55 -0
  68. package/skills/aif-security-checklist/SKILL.md +37 -0
  69. package/skills/aif-verify/SKILL.md +37 -1
  70. package/skills/aif-verify/references/CONTEXT-GATES-AND-OWNERSHIP.md +11 -0
  71. package/skills/aif-verify/references/GATE-RESULT-CONTRACT.md +88 -0
  72. package/subagents/best-practices-sidecar.md +5 -2
  73. package/subagents/implement-coordinator.md +7 -3
  74. package/subagents/plan-coordinator.md +13 -4
  75. package/subagents/plan-polisher.md +82 -16
  76. package/subagents/review-sidecar.md +5 -2
  77. package/subagents/rules-sidecar.md +31 -0
  78. 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
- ## Usage
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
- If the package is installed:
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
- ![happy](https://github.com/ilhm344/ai-factory/blob/2.x/art/aif2.jpg)
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
- ![ui-light](https://github.com/lee-to/aif-handoff/blob/main/art/ui-light.png)
188
- ![ui-dark](https://github.com/lee-to/aif-handoff/blob/main/art/ui-dark.png)
189
- ![ui-light-list](https://github.com/lee-to/aif-handoff/blob/main/art/ui-light-list.png)
190
- ![ui-dark-list](https://github.com/lee-to/aif-handoff/blob/main/art/ui-dark-list.png)
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":"AAoBA,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDvE;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ExE;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC1D;AAED,wBAAsB,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFxG"}
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
- export async function extensionAddCommand(source) {
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
- console.log(chalk.dim('Run "ai-factory init" to set up your project first.'));
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 loadConfig(projectDir);
59
- if (!config) {
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 loadConfig(projectDir);
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 loadConfig(projectDir);
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":"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"}
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":"AAYA,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;AA+ED,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4L1E"}
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 { buildManagedSkillsState, buildManagedSubagentsState, installSkills, installSubagents, getAvailableSkills } from '../../core/installer.js';
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 subagents, not the entire directory.
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 subagentsDir = agent.subagentsDir ?? agentConfig.subagentsDir;
73
- if (subagentsDir) {
74
- const managedFiles = agent.installedSubagents ?? [];
73
+ const agentsDir = agent.agentsDir ?? agentConfig.agentsDir;
74
+ if (agentsDir) {
75
+ const managedFiles = agent.installedAgentFiles ?? [];
75
76
  for (const relPath of managedFiles) {
76
- await removeFile(path.join(projectDir, subagentsDir, relPath));
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 installedSubagents = agentConfig.subagentsDir
130
+ const installedAgentFiles = agentConfig.agentsDir
122
131
  ? await installSubagents({
123
132
  projectDir,
124
- subagentsDir: agentConfig.subagentsDir,
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.subagentsDir ? {
142
- subagentsDir: agentConfig.subagentsDir,
143
- installedSubagents,
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.subagentsDir) {
198
- console.log(chalk.dim(` Subagents directory: ${path.join(projectDir, agent.subagentsDir)}`));
199
- console.log(chalk.dim(` Installed subagents: ${agent.installedSubagents?.length ?? 0}`));
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAA0B,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sCAAsC,EACtC,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,eAAe;IAC3B,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,eAAe;CAC5B,CAAC;AAEF,SAAS,qBAAqB,CAAC,OAAoB,EAAE,eAAyB;IAC5E,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,eAAe;IACf,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG;QACzB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;IAED,eAAe;IACf,IAAI,cAAwB,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,cAAc,GAAG,EAAE,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gDAAgD,CAAC;YAC7H,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,cAAc,GAAG,QAAQ,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,eAAe,CAAC;IACnC,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,EAAE;QACF,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAChD,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACxC,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,KAAwB;IAC1E,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9D,wEAAwE;IACxE,gFAAgF;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC;IAC3D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,mCAAmC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,qDAAqD,OAAO,oBAAoB,KAAK,CAAC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CACxH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAuB,EAAE;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,2BAA2B,CAAC,UAAU,EAAE;QAC5C,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;KACnF,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAE7E,IAAI,OAAsB,CAAC;QAC3B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACnD,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAClE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEnD,MAAM,eAAe,GAAwB,EAAE,CAAC;QAChD,MAAM,UAAU,GAA6B,EAAE,CAAC;QAEhD,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC;gBAC1C,UAAU;gBACV,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,MAAM,EAAE,OAAO,CAAC,cAAc;gBAC9B,OAAO,EAAE,cAAc,CAAC,EAAE;aAC3B,CAAC,CAAC;YACH,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS;gBAC/C,CAAC,CAAC,MAAM,gBAAgB,CAAC;oBACvB,UAAU;oBACV,OAAO,EAAE,cAAc,CAAC,EAAE;oBAC1B,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,CAAC;gBACF,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE;gBACnD,MAAM,EAAE,cAAc,CAAC,SAAS;gBAChC,UAAU,EAAE,cAAc,CAAC,aAAa;gBACxC,QAAQ,EAAE,cAAc,CAAC,WAAW;gBACpC,cAAc,EAAE,cAAc,CAAC,iBAAiB;gBAChD,UAAU,EAAE,cAAc,CAAC,aAAa;aACzC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YAEtB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC;YAChD,CAAC;YAED,eAAe,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,cAAc,CAAC,EAAE;gBACrB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,eAAe;gBACf,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC1B,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,mBAAmB;oBACnB,gBAAgB,EAAE,4BAA4B,CAAC,mBAAmB,CAAC;iBACpE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,EAAE;oBACH,MAAM,EAAE,cAAc,CAAC,SAAS;oBAChC,UAAU,EAAE,cAAc,CAAC,aAAa;oBACxC,QAAQ,EAAE,cAAc,CAAC,WAAW;oBACpC,cAAc,EAAE,cAAc,CAAC,iBAAiB;oBAChD,UAAU,EAAE,cAAc,CAAC,aAAa;iBACzC;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,kBAAkB,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;QAE5D,yDAAyD;QACzD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAClH,MAAM,mBAAmB,GAAG,cAAc,IAAI;gBAC5C,OAAO,EAAE,iBAAiB,EAAE;gBAC5B,MAAM,EAAE,eAAe;gBACvB,UAAU,EAAE,kBAAkB;aAC/B,CAAC;YACF,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,gBAAgB,EAAE,CAAC;gBACjD,MAAM,0BAA0B,CAAC,UAAU,EAAE;oBAC3C,GAAG,mBAAmB;oBACtB,UAAU,EAAE,kBAAkB;oBAC9B,MAAM,EAAE,eAAe;iBACxB,EAAE,QAAQ,CAAC,CAAC;gBACb,MAAM,gBAAgB,GAAG,MAAM,sCAAsC,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAClH,wBAAwB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,qBAAqB,CAAC,eAAe,EAAE,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,eAAe,IAAI,MAAM,wBAAwB,CAAC,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,eAAe,yBAAyB,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QACjE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5F,KAAK,CAAC,aAAa,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,iCAAiC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAErE,MAAM,UAAU,CAAC,UAAU,EAAE;YAC3B,OAAO,EAAE,iBAAiB,EAAE;YAC5B,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,kBAAkB;SAC/B,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;YACvE,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+EAA+E,CAAC,CAAC,CAAC;YAC7G,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;gBAC3F,MAAM,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9E,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/F,CAAC;YAED,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClF,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBACvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK;YACL,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,iBAAiB;aACtC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;aAClD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,qDAAqD,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7J,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAElB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAI,KAAe,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,cAAc,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AA0BA,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuHD,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2SrF"}
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, loadExtensionManifest } from '../../core/extensions.js';
8
- import { buildManagedSkillsState, buildManagedSubagentsState, getAvailableSkills, partitionSkills, updateSkills, updateSubagents, } from '../../core/installer.js';
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.installedSubagents = subagentResult.installedSubagents;
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 = await loadExtensionManifest(extensionDir);
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.subagentsDir || subagentEntries.length > 0) {
374
+ if (agent.agentsDir || subagentEntries.length > 0) {
327
375
  const groupedSubagents = groupAndSortEntriesByStatus(subagentEntries, e => e.subagent);
328
- console.log(chalk.bold(`[${agent.id}] Subagents:`));
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 subagent state recovered for:'));
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
  }