ai-factory 2.0.0 → 2.2.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 (91) hide show
  1. package/README.md +17 -4
  2. package/dist/cli/commands/extension.d.ts +4 -0
  3. package/dist/cli/commands/extension.d.ts.map +1 -0
  4. package/dist/cli/commands/extension.js +288 -0
  5. package/dist/cli/commands/extension.js.map +1 -0
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +31 -35
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/commands/update.d.ts.map +1 -1
  10. package/dist/cli/commands/update.js +86 -7
  11. package/dist/cli/commands/update.js.map +1 -1
  12. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  13. package/dist/cli/commands/upgrade.js +44 -41
  14. package/dist/cli/commands/upgrade.js.map +1 -1
  15. package/dist/cli/index.js +48 -1
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/wizard/prompts.d.ts +2 -1
  18. package/dist/cli/wizard/prompts.d.ts.map +1 -1
  19. package/dist/cli/wizard/prompts.js +13 -20
  20. package/dist/cli/wizard/prompts.js.map +1 -1
  21. package/dist/core/agents.d.ts.map +1 -1
  22. package/dist/core/agents.js +9 -0
  23. package/dist/core/agents.js.map +1 -1
  24. package/dist/core/config.d.ts +8 -2
  25. package/dist/core/config.d.ts.map +1 -1
  26. package/dist/core/config.js +5 -8
  27. package/dist/core/config.js.map +1 -1
  28. package/dist/core/extension-ops.d.ts +32 -0
  29. package/dist/core/extension-ops.d.ts.map +1 -0
  30. package/dist/core/extension-ops.js +83 -0
  31. package/dist/core/extension-ops.js.map +1 -0
  32. package/dist/core/extensions.d.ts +53 -0
  33. package/dist/core/extensions.d.ts.map +1 -0
  34. package/dist/core/extensions.js +141 -0
  35. package/dist/core/extensions.js.map +1 -0
  36. package/dist/core/injections.d.ts +10 -0
  37. package/dist/core/injections.d.ts.map +1 -0
  38. package/dist/core/injections.js +154 -0
  39. package/dist/core/injections.js.map +1 -0
  40. package/dist/core/installer.d.ts +7 -3
  41. package/dist/core/installer.d.ts.map +1 -1
  42. package/dist/core/installer.js +68 -26
  43. package/dist/core/installer.js.map +1 -1
  44. package/dist/core/mcp.d.ts +12 -0
  45. package/dist/core/mcp.d.ts.map +1 -1
  46. package/dist/core/mcp.js +112 -67
  47. package/dist/core/mcp.js.map +1 -1
  48. package/dist/core/transformer.d.ts +10 -1
  49. package/dist/core/transformer.d.ts.map +1 -1
  50. package/dist/core/transformer.js +19 -1
  51. package/dist/core/transformer.js.map +1 -1
  52. package/dist/core/transformers/antigravity.d.ts +1 -0
  53. package/dist/core/transformers/antigravity.d.ts.map +1 -1
  54. package/dist/core/transformers/antigravity.js +19 -4
  55. package/dist/core/transformers/antigravity.js.map +1 -1
  56. package/dist/core/transformers/codex.d.ts +7 -0
  57. package/dist/core/transformers/codex.d.ts.map +1 -0
  58. package/dist/core/transformers/codex.js +24 -0
  59. package/dist/core/transformers/codex.js.map +1 -0
  60. package/dist/core/transformers/default.d.ts +1 -0
  61. package/dist/core/transformers/default.d.ts.map +1 -1
  62. package/dist/core/transformers/default.js +6 -0
  63. package/dist/core/transformers/default.js.map +1 -1
  64. package/dist/core/transformers/kilocode.js +1 -1
  65. package/dist/core/transformers/kilocode.js.map +1 -1
  66. package/dist/core/transformers/qwen.d.ts +7 -0
  67. package/dist/core/transformers/qwen.d.ts.map +1 -0
  68. package/dist/core/transformers/qwen.js +25 -0
  69. package/dist/core/transformers/qwen.js.map +1 -0
  70. package/dist/utils/fs.d.ts +0 -2
  71. package/dist/utils/fs.d.ts.map +1 -1
  72. package/dist/utils/fs.js +1 -5
  73. package/dist/utils/fs.js.map +1 -1
  74. package/mcp/templates/playwright.json +4 -0
  75. package/package.json +16 -1
  76. package/skills/aif/SKILL.md +27 -52
  77. package/skills/aif-commit/SKILL.md +13 -1
  78. package/skills/aif-grounded/SKILL.md +90 -0
  79. package/skills/aif-implement/SKILL.md +39 -2
  80. package/skills/aif-implement/references/IMPLEMENTATION-GUIDE.md +16 -0
  81. package/skills/aif-loop/SKILL.md +2 -2
  82. package/dist/cli/wizard/detector.d.ts +0 -10
  83. package/dist/cli/wizard/detector.d.ts.map +0 -1
  84. package/dist/cli/wizard/detector.js +0 -231
  85. package/dist/cli/wizard/detector.js.map +0 -1
  86. package/skills/_templates/nextjs/nextjs-patterns/SKILL.md +0 -146
  87. package/skills/_templates/node-api/api-patterns/SKILL.md +0 -245
  88. package/skills/_templates/php/php-patterns/SKILL.md +0 -491
  89. package/skills/_templates/python/python-patterns/SKILL.md +0 -236
  90. package/skills/_templates/react/react-patterns/SKILL.md +0 -181
  91. package/skills/aif-deploy/SKILL.md +0 -138
@@ -1,6 +1,10 @@
1
1
  import chalk from 'chalk';
2
- import { loadConfig, saveConfig, getCurrentVersion } from '../../core/config.js';
3
- import { updateSkills, getAvailableSkills } from '../../core/installer.js';
2
+ import path from 'path';
3
+ import { getCurrentVersion, loadConfig, saveConfig } from '../../core/config.js';
4
+ import { getAvailableSkills, partitionSkills, updateSkills } from '../../core/installer.js';
5
+ import { applyExtensionInjections } from '../../core/injections.js';
6
+ import { getExtensionsDir, loadExtensionManifest } from '../../core/extensions.js';
7
+ import { installExtensionSkillsForAllAgents, installSkillsForAllAgents, collectReplacedSkills, } from '../../core/extension-ops.js';
4
8
  export async function updateCommand() {
5
9
  const projectDir = process.cwd();
6
10
  console.log(chalk.bold.blue('\n🏭 AI Factory - Update Skills\n'));
@@ -18,19 +22,95 @@ export async function updateCommand() {
18
22
  const availableSkills = await getAvailableSkills();
19
23
  const previousBaseSkillsByAgent = new Map();
20
24
  for (const agent of config.agents) {
21
- const previousBaseSkills = agent.installedSkills.filter(s => !s.includes('/'));
25
+ const { base: previousBaseSkills } = partitionSkills(agent.installedSkills);
22
26
  previousBaseSkillsByAgent.set(agent.id, previousBaseSkills);
23
27
  const newSkills = availableSkills.filter(s => !previousBaseSkills.includes(s));
28
+ const removedSkills = previousBaseSkills.filter(s => !availableSkills.includes(s));
24
29
  if (newSkills.length > 0) {
25
30
  console.log(chalk.cyan(`📦 [${agent.id}] New skills available: ${newSkills.join(', ')}`));
26
31
  }
32
+ if (removedSkills.length > 0) {
33
+ console.log(chalk.yellow(`🗑️ [${agent.id}] Removed skills: ${removedSkills.join(', ')}`));
34
+ }
27
35
  }
28
36
  if (config.agents.length > 0) {
29
37
  console.log('');
30
38
  }
39
+ // Collect all replaced skills from extensions
40
+ const extensions = config.extensions ?? [];
41
+ const allReplacedSkills = collectReplacedSkills(extensions);
42
+ if (allReplacedSkills.size > 0) {
43
+ console.log(chalk.dim(`Skipping replaced skills: ${[...allReplacedSkills].join(', ')}`));
44
+ }
31
45
  for (const agent of config.agents) {
32
- const updatedSkills = await updateSkills(agent, projectDir);
33
- agent.installedSkills = updatedSkills;
46
+ agent.installedSkills = await updateSkills(agent, projectDir, [...allReplacedSkills]);
47
+ }
48
+ // Re-install replacement skills from extensions
49
+ // Fix 3: If manifest fails to load, fall back to installing the base skill
50
+ const failedReplacements = [];
51
+ for (const ext of extensions) {
52
+ if (!ext.replacedSkills?.length)
53
+ continue;
54
+ const extensionDir = path.join(getExtensionsDir(projectDir), ext.name);
55
+ const manifest = await loadExtensionManifest(extensionDir);
56
+ if (!manifest?.replaces) {
57
+ console.log(chalk.yellow(`⚠ Extension "${ext.name}" manifest missing — restoring base skills: ${ext.replacedSkills.join(', ')}`));
58
+ failedReplacements.push(...ext.replacedSkills);
59
+ ext.replacedSkills = [];
60
+ continue;
61
+ }
62
+ const nameOverrides = { ...manifest.replaces };
63
+ const manifestBaseSkills = new Set(Object.values(manifest.replaces));
64
+ const replacePaths = Object.entries(manifest.replaces)
65
+ .filter(([, baseSkill]) => ext.replacedSkills.includes(baseSkill))
66
+ .map(([extPath]) => extPath);
67
+ // Detect replacedSkills in config that no longer exist in manifest.replaces
68
+ const orphanedReplacements = ext.replacedSkills.filter(s => !manifestBaseSkills.has(s));
69
+ if (orphanedReplacements.length > 0) {
70
+ console.log(chalk.yellow(`⚠ Extension "${ext.name}" no longer replaces: ${orphanedReplacements.join(', ')}`));
71
+ failedReplacements.push(...orphanedReplacements);
72
+ ext.replacedSkills = ext.replacedSkills.filter(s => manifestBaseSkills.has(s));
73
+ }
74
+ if (replacePaths.length > 0) {
75
+ const results = await installExtensionSkillsForAllAgents(projectDir, config.agents, extensionDir, replacePaths, nameOverrides);
76
+ // Detect replacements that failed to install on all agents
77
+ const agentCount = config.agents.length;
78
+ for (const [extPath, baseSkill] of Object.entries(manifest.replaces)) {
79
+ if (!ext.replacedSkills.includes(baseSkill))
80
+ continue;
81
+ if (!replacePaths.includes(extPath))
82
+ continue;
83
+ let successCount = 0;
84
+ for (const installed of results.values()) {
85
+ if (installed.includes(baseSkill))
86
+ successCount++;
87
+ }
88
+ if (successCount < agentCount) {
89
+ console.log(chalk.yellow(`⚠ Extension "${ext.name}" replacement "${baseSkill}" failed to install — restoring base skill`));
90
+ failedReplacements.push(baseSkill);
91
+ ext.replacedSkills = ext.replacedSkills.filter(s => s !== baseSkill);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ // Install base skills that couldn't be replaced due to broken extensions
97
+ // But only if no other extension still replaces them
98
+ if (failedReplacements.length > 0) {
99
+ const stillReplacedByOthers = collectReplacedSkills(extensions);
100
+ const toRestore = failedReplacements.filter(s => !stillReplacedByOthers.has(s));
101
+ if (toRestore.length > 0) {
102
+ await installSkillsForAllAgents(projectDir, config.agents, toRestore);
103
+ }
104
+ }
105
+ // Re-apply extension injections
106
+ if (config.extensions?.length) {
107
+ let totalInjections = 0;
108
+ for (const agent of config.agents) {
109
+ totalInjections += await applyExtensionInjections(projectDir, agent, config.extensions);
110
+ }
111
+ if (totalInjections > 0) {
112
+ console.log(chalk.green(`✓ Re-applied ${totalInjections} extension injection(s)`));
113
+ }
34
114
  }
35
115
  config.version = currentVersion;
36
116
  await saveConfig(projectDir, config);
@@ -39,8 +119,7 @@ export async function updateCommand() {
39
119
  for (const agent of config.agents) {
40
120
  const previousBaseSkills = previousBaseSkillsByAgent.get(agent.id) ?? [];
41
121
  const newSkills = availableSkills.filter(s => !previousBaseSkills.includes(s));
42
- const baseSkills = agent.installedSkills.filter(s => !s.includes('/'));
43
- const customSkills = agent.installedSkills.filter(s => s.includes('/'));
122
+ const { base: baseSkills, custom: customSkills } = partitionSkills(agent.installedSkills);
44
123
  console.log(chalk.bold(`\n[${agent.id}] Base skills:`));
45
124
  for (const skill of baseSkills) {
46
125
  const isNew = newSkills.includes(skill);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAqEA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAuIpD"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAuGA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoHpD"}
@@ -2,7 +2,7 @@ import chalk from 'chalk';
2
2
  import fs from 'fs-extra';
3
3
  import path from 'path';
4
4
  import { loadConfig, saveConfig, getCurrentVersion } from '../../core/config.js';
5
- import { installSkills, getAvailableSkills } from '../../core/installer.js';
5
+ import { installSkills, getAvailableSkills, partitionSkills } from '../../core/installer.js';
6
6
  import { getAgentConfig } from '../../core/agents.js';
7
7
  import { fileExists, removeDirectory, removeFile } from '../../utils/fs.js';
8
8
  // Old v1 skill directory names that were renamed to aif-* in v2
@@ -12,7 +12,6 @@ const OLD_SKILL_NAMES = [
12
12
  'build-automation',
13
13
  'ci',
14
14
  'commit',
15
- 'deploy',
16
15
  'dockerize',
17
16
  'docs',
18
17
  'evolve',
@@ -34,7 +33,6 @@ const OLD_AIF_PREFIX_SKILL_NAMES = [
34
33
  'ai-factory-build-automation',
35
34
  'ai-factory-ci',
36
35
  'ai-factory-commit',
37
- 'ai-factory-deploy',
38
36
  'ai-factory-dockerize',
39
37
  'ai-factory-docs',
40
38
  'ai-factory-evolve',
@@ -55,7 +53,6 @@ const OLD_AIF_PREFIX_SKILL_NAMES = [
55
53
  // Old workflow skills stored as flat .md files by Antigravity transformer
56
54
  const OLD_WORKFLOW_SKILLS = new Set([
57
55
  'commit',
58
- 'deploy',
59
56
  'feature',
60
57
  'fix',
61
58
  'implement',
@@ -63,6 +60,29 @@ const OLD_WORKFLOW_SKILLS = new Set([
63
60
  'task',
64
61
  'verify',
65
62
  ]);
63
+ async function removeWorkflowFile(projectDir, configDir, skillName) {
64
+ const flatFile = path.join(projectDir, configDir, 'workflows', `${skillName}.md`);
65
+ if (await fileExists(flatFile)) {
66
+ await removeFile(flatFile);
67
+ return true;
68
+ }
69
+ return false;
70
+ }
71
+ async function removeLegacySkillArtifacts(options) {
72
+ const { projectDir, configDir, skillsDir, agentId, skillName, removeWorkflow } = options;
73
+ let removedCount = 0;
74
+ if (removeWorkflow && await removeWorkflowFile(projectDir, configDir, skillName)) {
75
+ console.log(chalk.yellow(` [${agentId}] Removed workflow: ${skillName}.md`));
76
+ removedCount++;
77
+ }
78
+ const oldDir = path.join(skillsDir, skillName);
79
+ if (await fileExists(oldDir)) {
80
+ await removeDirectory(oldDir);
81
+ console.log(chalk.yellow(` [${agentId}] Removed skill: ${skillName}/`));
82
+ removedCount++;
83
+ }
84
+ return removedCount;
85
+ }
66
86
  export async function upgradeCommand() {
67
87
  const projectDir = process.cwd();
68
88
  console.log(chalk.bold.blue('\n🏭 AI Factory - Upgrade to v2\n'));
@@ -97,45 +117,30 @@ export async function upgradeCommand() {
97
117
  let removedCount = 0;
98
118
  console.log(chalk.dim(`Scanning for old-format skills [${agent.id}]...\n`));
99
119
  for (const oldName of OLD_SKILL_NAMES) {
100
- // Antigravity: old workflow skills were flat files in workflows/
101
- if (isAntigravity && OLD_WORKFLOW_SKILLS.has(oldName)) {
102
- const flatFile = path.join(projectDir, agentConfig.configDir, 'workflows', `${oldName}.md`);
103
- if (await fileExists(flatFile)) {
104
- await removeFile(flatFile);
105
- console.log(chalk.yellow(` [${agent.id}] Removed workflow: ${oldName}.md`));
106
- removedCount++;
107
- }
108
- }
109
- // All agents: remove old skill directory
110
- const oldDir = path.join(skillsDir, oldName);
111
- if (await fileExists(oldDir)) {
112
- await removeDirectory(oldDir);
113
- console.log(chalk.yellow(` [${agent.id}] Removed skill: ${oldName}/`));
114
- removedCount++;
115
- }
120
+ removedCount += await removeLegacySkillArtifacts({
121
+ projectDir,
122
+ configDir: agentConfig.configDir,
123
+ skillsDir,
124
+ agentId: agent.id,
125
+ skillName: oldName,
126
+ removeWorkflow: isAntigravity && OLD_WORKFLOW_SKILLS.has(oldName),
127
+ });
116
128
  }
117
129
  // Remove old aif-task, aif-feature, and ai-factory-* skills
118
- const obsoleteSkills = [
130
+ const obsoleteSkills = Array.from(new Set([
119
131
  'aif-task', 'aif-feature',
120
132
  ...OLD_SKILL_NAMES.map(n => `ai-factory-${n}`),
121
133
  ...OLD_AIF_PREFIX_SKILL_NAMES,
122
- ];
134
+ ]));
123
135
  for (const oldSkill of obsoleteSkills) {
124
- const oldDir = path.join(skillsDir, oldSkill);
125
- if (await fileExists(oldDir)) {
126
- await removeDirectory(oldDir);
127
- console.log(chalk.yellow(` [${agent.id}] Removed skill: ${oldSkill}/`));
128
- removedCount++;
129
- }
130
- // Antigravity: remove flat workflow files
131
- if (isAntigravity) {
132
- const flatFile = path.join(projectDir, agentConfig.configDir, 'workflows', `${oldSkill}.md`);
133
- if (await fileExists(flatFile)) {
134
- await removeFile(flatFile);
135
- console.log(chalk.yellow(` [${agent.id}] Removed workflow: ${oldSkill}.md`));
136
- removedCount++;
137
- }
138
- }
136
+ removedCount += await removeLegacySkillArtifacts({
137
+ projectDir,
138
+ configDir: agentConfig.configDir,
139
+ skillsDir,
140
+ agentId: agent.id,
141
+ skillName: oldSkill,
142
+ removeWorkflow: isAntigravity,
143
+ });
139
144
  }
140
145
  if (removedCount === 0) {
141
146
  console.log(chalk.dim(` [${agent.id}] No old-format skills found.\n`));
@@ -144,12 +149,11 @@ export async function upgradeCommand() {
144
149
  console.log(chalk.dim(`\n [${agent.id}] Removed ${removedCount} old-format skill(s).\n`));
145
150
  }
146
151
  console.log(chalk.dim(`Installing new-format skills [${agent.id}]...\n`));
147
- const customSkills = agent.installedSkills.filter(s => s.includes('/'));
152
+ const { custom: customSkills } = partitionSkills(agent.installedSkills);
148
153
  const installedSkills = await installSkills({
149
154
  projectDir,
150
155
  skillsDir: agent.skillsDir,
151
156
  skills: availableSkills,
152
- stack: null,
153
157
  agentId: agent.id,
154
158
  });
155
159
  agent.installedSkills = [...installedSkills, ...customSkills];
@@ -161,8 +165,7 @@ export async function upgradeCommand() {
161
165
  // Step 4: Summary
162
166
  console.log(chalk.green('✓ Upgrade to v2 complete!\n'));
163
167
  for (const agent of config.agents) {
164
- const baseSkills = agent.installedSkills.filter(s => !s.includes('/'));
165
- const customSkills = agent.installedSkills.filter(s => s.includes('/'));
168
+ const { base: baseSkills, custom: customSkills } = partitionSkills(agent.installedSkills);
166
169
  console.log(chalk.bold(`[${agent.id}] Installed skills:`));
167
170
  for (const skill of baseSkills) {
168
171
  console.log(chalk.dim(` - ${skill}`));
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -2,7 +2,9 @@ import { Command } from 'commander';
2
2
  import { initCommand } from './commands/init.js';
3
3
  import { updateCommand } from './commands/update.js';
4
4
  import { upgradeCommand } from './commands/upgrade.js';
5
- import { getCurrentVersion } from '../core/config.js';
5
+ import { extensionAddCommand, extensionRemoveCommand, extensionListCommand } from './commands/extension.js';
6
+ import { getCurrentVersion, loadConfig } from '../core/config.js';
7
+ import { loadAllExtensions } from '../core/extensions.js';
6
8
  const program = new Command();
7
9
  program
8
10
  .name('ai-factory')
@@ -20,5 +22,50 @@ program
20
22
  .command('upgrade')
21
23
  .description('Upgrade from v1 to v2 (removes old-format skills, installs new)')
22
24
  .action(upgradeCommand);
25
+ const ext = program
26
+ .command('extension')
27
+ .description('Manage extensions');
28
+ ext
29
+ .command('add <source>')
30
+ .description('Install extension from npm package, git URL, or local path')
31
+ .action(extensionAddCommand);
32
+ ext
33
+ .command('remove <name>')
34
+ .description('Remove an installed extension')
35
+ .action(extensionRemoveCommand);
36
+ ext
37
+ .command('list')
38
+ .description('List installed extensions')
39
+ .action(extensionListCommand);
40
+ async function loadExtensionCommands() {
41
+ try {
42
+ const projectDir = process.cwd();
43
+ const config = await loadConfig(projectDir);
44
+ if (!config?.extensions?.length)
45
+ return;
46
+ const registeredNames = config.extensions.map(e => e.name);
47
+ const extensions = await loadAllExtensions(projectDir, registeredNames);
48
+ for (const { dir, manifest } of extensions) {
49
+ if (!manifest.commands?.length)
50
+ continue;
51
+ for (const cmd of manifest.commands) {
52
+ try {
53
+ const modulePath = new URL(`file://${dir}/${cmd.module}`).href;
54
+ const mod = await import(modulePath);
55
+ if (typeof mod.register === 'function') {
56
+ mod.register(program);
57
+ }
58
+ }
59
+ catch (err) {
60
+ console.error(`Warning: Failed to load command "${cmd.name}" from extension "${manifest.name}": ${err.message}`);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ catch (err) {
66
+ console.error(`Warning: Failed to load extension commands: ${err.message}`);
67
+ }
68
+ }
69
+ await loadExtensionCommands();
23
70
  program.parse();
24
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ export interface AgentWizardSelection {
4
4
  mcpFilesystem: boolean;
5
5
  mcpPostgres: boolean;
6
6
  mcpChromeDevtools: boolean;
7
+ mcpPlaywright: boolean;
7
8
  }
8
9
  export interface WizardAnswers {
9
10
  selectedSkills: string[];
10
11
  agents: AgentWizardSelection[];
11
12
  }
12
- export declare function runWizard(projectDir: string, defaultAgentIds?: string[]): Promise<WizardAnswers>;
13
+ export declare function runWizard(defaultAgentIds?: string[]): Promise<WizardAnswers>;
13
14
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/wizard/prompts.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CA4G1G"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/wizard/prompts.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wBAAsB,SAAS,CAAC,eAAe,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAsGtF"}
@@ -1,22 +1,10 @@
1
1
  import inquirer from 'inquirer';
2
- import { detectStack } from './detector.js';
3
2
  import { getAvailableSkills } from '../../core/installer.js';
4
3
  import { getAgentConfig, getAgentChoices } from '../../core/agents.js';
5
- export async function runWizard(projectDir, defaultAgentIds = []) {
6
- const detectedStack = await detectStack(projectDir);
4
+ export async function runWizard(defaultAgentIds = []) {
7
5
  const availableSkills = await getAvailableSkills();
8
- const selectedByDefault = new Set(defaultAgentIds.length > 0 ? defaultAgentIds : ['claude']);
9
- if (detectedStack) {
10
- console.log(`\n📦 Detected: ${detectedStack.name}`);
11
- if (detectedStack.frameworks.length > 0) {
12
- console.log(` Frameworks: ${detectedStack.frameworks.join(', ')}`);
13
- }
14
- console.log(`\n💡 Run /aif after setup to generate stack-specific skills.\n`);
15
- }
16
- else {
17
- console.log('\n📦 No existing project detected.');
18
- console.log('💡 Run /aif after setup to analyze or describe your project.\n');
19
- }
6
+ const selectedByDefault = new Set(defaultAgentIds);
7
+ console.log('\n💡 Run /aif after setup to analyze your project and generate relevant skills.\n');
20
8
  const answers = await inquirer.prompt([
21
9
  {
22
10
  type: 'checkbox',
@@ -52,6 +40,7 @@ export async function runWizard(projectDir, defaultAgentIds = []) {
52
40
  mcpFilesystem: false,
53
41
  mcpPostgres: false,
54
42
  mcpChromeDevtools: false,
43
+ mcpPlaywright: false,
55
44
  };
56
45
  if (agentConfig.supportsMcp) {
57
46
  const { configureMcp } = await inquirer.prompt([
@@ -59,24 +48,22 @@ export async function runWizard(projectDir, defaultAgentIds = []) {
59
48
  type: 'confirm',
60
49
  name: 'configureMcp',
61
50
  message: `[${agentConfig.displayName}] Configure MCP servers?`,
62
- default: detectedStack !== null,
51
+ default: false,
63
52
  },
64
53
  ]);
65
54
  if (configureMcp) {
66
- const suggestPostgres = detectedStack?.name &&
67
- ['laravel', 'symfony', 'django', 'fastapi', 'nextjs', 'node-api'].includes(detectedStack.name);
68
55
  mcpAnswers = await inquirer.prompt([
69
56
  {
70
57
  type: 'confirm',
71
58
  name: 'mcpGithub',
72
59
  message: `[${agentConfig.displayName}] GitHub MCP (PRs, issues, repo operations)?`,
73
- default: true,
60
+ default: false,
74
61
  },
75
62
  {
76
63
  type: 'confirm',
77
64
  name: 'mcpPostgres',
78
65
  message: `[${agentConfig.displayName}] Postgres MCP (database queries)?`,
79
- default: suggestPostgres,
66
+ default: false,
80
67
  },
81
68
  {
82
69
  type: 'confirm',
@@ -90,6 +77,12 @@ export async function runWizard(projectDir, defaultAgentIds = []) {
90
77
  message: `[${agentConfig.displayName}] Chrome Devtools MCP (inspect, debug, performance insights, analyze network requests)?`,
91
78
  default: false,
92
79
  },
80
+ {
81
+ type: 'confirm',
82
+ name: 'mcpPlaywright',
83
+ message: `[${agentConfig.displayName}] Playwright MCP (browser automation, web testing, interaction via accessibility tree)?`,
84
+ default: false,
85
+ },
93
86
  ]);
94
87
  }
95
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/wizard/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAevE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,kBAA4B,EAAE;IAChF,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACnD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7F,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,eAAe,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvC,GAAG,KAAK;gBACR,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;aAC5C,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC,KAAe,EAAE,EAAE;gBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,4BAA4B,CAAC;gBACtC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,IAAI,EAAE,iCAAiC;aACjD,CAAC,CAAC;SACJ;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAA2B,EAAE,CAAC;IAE9C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,cAA0B,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG;YACf,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,KAAK;SACzB,CAAC;QAEF,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC7C;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,IAAI,WAAW,CAAC,WAAW,0BAA0B;oBAC9D,OAAO,EAAE,aAAa,KAAK,IAAI;iBAChC;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,eAAe,GAAG,aAAa,EAAE,IAAI;oBACzC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAEjG,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACjC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,IAAI,WAAW,CAAC,WAAW,8CAA8C;wBAClF,OAAO,EAAE,IAAI;qBACd;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,IAAI,WAAW,CAAC,WAAW,oCAAoC;wBACxE,OAAO,EAAE,eAAe;qBACzB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,IAAI,WAAW,CAAC,WAAW,8CAA8C;wBAClF,OAAO,EAAE,KAAK;qBACf;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EAAE,IAAI,WAAW,CAAC,WAAW,yFAAyF;wBAC7H,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,OAAO;YACX,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/wizard/prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAmID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAMtD;AAED,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKnE"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AA4ID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAMtD;AAED,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKnE"}
@@ -53,6 +53,15 @@ const AGENT_REGISTRY = {
53
53
  supportsMcp: false,
54
54
  skillsCliAgent: 'junie',
55
55
  },
56
+ qwen: {
57
+ id: 'qwen',
58
+ displayName: 'Qwen Code',
59
+ configDir: '.qwen',
60
+ skillsDir: '.qwen/skills',
61
+ settingsFile: '.qwen/settings.json',
62
+ supportsMcp: true,
63
+ skillsCliAgent: null,
64
+ },
56
65
  windsurf: {
57
66
  id: 'windsurf',
58
67
  displayName: 'Windsurf',
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface McpConfig {
3
3
  filesystem: boolean;
4
4
  postgres: boolean;
5
5
  chromeDevtools: boolean;
6
+ playwright: boolean;
6
7
  }
7
8
  export interface AgentInstallation {
8
9
  id: string;
@@ -10,12 +11,17 @@ export interface AgentInstallation {
10
11
  installedSkills: string[];
11
12
  mcp: McpConfig;
12
13
  }
14
+ export interface ExtensionRecord {
15
+ name: string;
16
+ source: string;
17
+ version: string;
18
+ replacedSkills?: string[];
19
+ }
13
20
  export interface AiFactoryConfig {
14
21
  version: string;
15
22
  agents: AgentInstallation[];
23
+ extensions?: ExtensionRecord[];
16
24
  }
17
- export declare function getConfigPath(projectDir: string): string;
18
- export declare function createDefaultConfig(agentIds?: string[]): AiFactoryConfig;
19
25
  export declare function loadConfig(projectDir: string): Promise<AiFactoryConfig | null>;
20
26
  export declare function saveConfig(projectDir: string, config: AiFactoryConfig): Promise<void>;
21
27
  export declare function configExists(projectDir: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAaD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAqBD,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,EAAe,GAAG,eAAe,CAMpF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmCpF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGvE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAqCD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAsCpF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGvE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}