@zik000/archai 0.1.0 → 0.1.2
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 +1 -1
- package/dist/bin/cli.js +12 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/setup-config.d.ts +6 -0
- package/dist/commands/setup-config.d.ts.map +1 -0
- package/dist/commands/setup-config.js +532 -0
- package/dist/commands/setup-config.js.map +1 -0
- package/dist/commands/setup-project.d.ts +6 -0
- package/dist/commands/setup-project.d.ts.map +1 -0
- package/dist/commands/setup-project.js +359 -0
- package/dist/commands/setup-project.js.map +1 -0
- package/package.json +1 -1
- package/templates/ARCHAI_README.md +1 -1
- package/templates/core-agents/iteration-controller.md +31 -0
- package/templates/core-agents/task-orchestrator.md +40 -1
package/README.md
CHANGED
package/dist/bin/cli.js
CHANGED
|
@@ -3,6 +3,8 @@ import { Command } from 'commander';
|
|
|
3
3
|
import { init } from '../commands/init.js';
|
|
4
4
|
import { generate } from '../commands/generate.js';
|
|
5
5
|
import { doctor } from '../commands/doctor.js';
|
|
6
|
+
import { setupProject } from '../commands/setup-project.js';
|
|
7
|
+
import { setupConfig } from '../commands/setup-config.js';
|
|
6
8
|
const program = new Command();
|
|
7
9
|
program
|
|
8
10
|
.name('archai')
|
|
@@ -24,5 +26,15 @@ program
|
|
|
24
26
|
.command('doctor')
|
|
25
27
|
.description('Validate archai setup and check for issues')
|
|
26
28
|
.action(doctor);
|
|
29
|
+
program
|
|
30
|
+
.command('setup-project')
|
|
31
|
+
.description('Interactive wizard to fill out project description')
|
|
32
|
+
.option('--force', 'Overwrite existing content')
|
|
33
|
+
.action(setupProject);
|
|
34
|
+
program
|
|
35
|
+
.command('setup-config')
|
|
36
|
+
.description('Interactive wizard to configure archai.config.md')
|
|
37
|
+
.option('--force', 'Overwrite existing content')
|
|
38
|
+
.action(setupConfig);
|
|
27
39
|
program.parse();
|
|
28
40
|
//# sourceMappingURL=cli.js.map
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,2DAA2D,CAAC;KACxE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;KAChE,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,MAAM,CAAC,CAAC;AAElB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC;KAC/C,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC;KAC/C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiCD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiCD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2I9D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -137,9 +137,11 @@ export async function init(options) {
|
|
|
137
137
|
console.log('');
|
|
138
138
|
console.log(chalk.white('1. Fill in the project description:'));
|
|
139
139
|
console.log(chalk.cyan(' → .knowledge/context/project-description.md'));
|
|
140
|
+
console.log(chalk.gray(' (or run: archai setup-project)'));
|
|
140
141
|
console.log('');
|
|
141
142
|
console.log(chalk.white('2. Complete the configuration:'));
|
|
142
143
|
console.log(chalk.cyan(' → archai.config.md'));
|
|
144
|
+
console.log(chalk.gray(' (or run: archai setup-config)'));
|
|
143
145
|
console.log('');
|
|
144
146
|
console.log(chalk.white('3. Generate specialist agents:'));
|
|
145
147
|
console.log(chalk.cyan(' → archai generate'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-config.d.ts","sourceRoot":"","sources":["../../src/commands/setup-config.ts"],"names":[],"mappings":"AAMA,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAoDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6M5E"}
|
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
const FILE_PATH = 'archai.config.md';
|
|
7
|
+
const PACKAGE_MANAGERS = ['npm', 'pnpm', 'yarn', 'bun', 'pip', 'cargo', 'go', 'other'];
|
|
8
|
+
export async function setupConfig(options) {
|
|
9
|
+
logger.banner();
|
|
10
|
+
// Check if file exists
|
|
11
|
+
const exists = await fs.pathExists(FILE_PATH);
|
|
12
|
+
if (!exists) {
|
|
13
|
+
logger.error('archai.config.md not found!');
|
|
14
|
+
console.log('');
|
|
15
|
+
logger.info('Run `archai init` first to create the configuration file.');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
// Load existing config
|
|
19
|
+
const existing = await parseExistingConfig();
|
|
20
|
+
console.log('');
|
|
21
|
+
logger.section('Configuration Wizard');
|
|
22
|
+
console.log(chalk.gray(' Configure your project settings and define specialists.'));
|
|
23
|
+
console.log(chalk.gray(' Press Enter to keep existing values.'));
|
|
24
|
+
console.log('');
|
|
25
|
+
// Section 1: Tech Stack
|
|
26
|
+
logger.section('1. Tech Stack');
|
|
27
|
+
console.log('');
|
|
28
|
+
const stackAnswers = await inquirer.prompt([
|
|
29
|
+
{
|
|
30
|
+
type: 'input',
|
|
31
|
+
name: 'languages',
|
|
32
|
+
message: 'Programming languages:',
|
|
33
|
+
default: existing.languages || '',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'input',
|
|
37
|
+
name: 'frameworks',
|
|
38
|
+
message: 'Frameworks/libraries:',
|
|
39
|
+
default: existing.frameworks || '',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'input',
|
|
43
|
+
name: 'testing',
|
|
44
|
+
message: 'Testing framework:',
|
|
45
|
+
default: existing.testing || '',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'input',
|
|
49
|
+
name: 'additionalTech',
|
|
50
|
+
message: 'Additional technologies (databases, caching, etc.):',
|
|
51
|
+
default: '',
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
// Section 2: Commands
|
|
55
|
+
console.log('');
|
|
56
|
+
logger.section('2. Commands');
|
|
57
|
+
console.log('');
|
|
58
|
+
const pmDefault = existing.packageManager || 'npm';
|
|
59
|
+
const pmCommands = getPackageManagerCommands(pmDefault);
|
|
60
|
+
const commandAnswers = await inquirer.prompt([
|
|
61
|
+
{
|
|
62
|
+
type: 'list',
|
|
63
|
+
name: 'packageManager',
|
|
64
|
+
message: 'Package manager:',
|
|
65
|
+
choices: PACKAGE_MANAGERS,
|
|
66
|
+
default: pmDefault,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: 'input',
|
|
70
|
+
name: 'installCommand',
|
|
71
|
+
message: 'Install command:',
|
|
72
|
+
default: (answers) => {
|
|
73
|
+
const cmds = getPackageManagerCommands(answers.packageManager);
|
|
74
|
+
return existing.installCommand || cmds.install || '';
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: 'input',
|
|
79
|
+
name: 'buildCommand',
|
|
80
|
+
message: 'Build command:',
|
|
81
|
+
default: (answers) => {
|
|
82
|
+
const cmds = getPackageManagerCommands(answers.packageManager);
|
|
83
|
+
return existing.buildCommand || cmds.build || '';
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'input',
|
|
88
|
+
name: 'testCommand',
|
|
89
|
+
message: 'Test command:',
|
|
90
|
+
default: (answers) => {
|
|
91
|
+
const cmds = getPackageManagerCommands(answers.packageManager);
|
|
92
|
+
return existing.testCommand || cmds.test || '';
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'input',
|
|
97
|
+
name: 'lintCommand',
|
|
98
|
+
message: 'Lint command:',
|
|
99
|
+
default: (answers) => {
|
|
100
|
+
const cmds = getPackageManagerCommands(answers.packageManager);
|
|
101
|
+
return existing.lintCommand || cmds.lint || '';
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'input',
|
|
106
|
+
name: 'devCommand',
|
|
107
|
+
message: 'Dev/run command:',
|
|
108
|
+
default: (answers) => {
|
|
109
|
+
const cmds = getPackageManagerCommands(answers.packageManager);
|
|
110
|
+
return existing.devCommand || cmds.dev || '';
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
]);
|
|
114
|
+
// Section 3: Project Structure
|
|
115
|
+
console.log('');
|
|
116
|
+
logger.section('3. Project Structure');
|
|
117
|
+
console.log('');
|
|
118
|
+
const structureAnswers = await inquirer.prompt([
|
|
119
|
+
{
|
|
120
|
+
type: 'input',
|
|
121
|
+
name: 'sourceDirectory',
|
|
122
|
+
message: 'Source directory:',
|
|
123
|
+
default: existing.sourceDirectory || 'src/',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'input',
|
|
127
|
+
name: 'testsDirectory',
|
|
128
|
+
message: 'Tests directory:',
|
|
129
|
+
default: existing.testsDirectory || 'tests/',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'input',
|
|
133
|
+
name: 'keyFiles',
|
|
134
|
+
message: 'Key files agents should know about (comma-separated, format: "file:purpose"):',
|
|
135
|
+
default: '',
|
|
136
|
+
},
|
|
137
|
+
]);
|
|
138
|
+
// Section 4: Specialists
|
|
139
|
+
console.log('');
|
|
140
|
+
logger.section('4. Specialist Agents');
|
|
141
|
+
console.log('');
|
|
142
|
+
console.log(chalk.gray(' Define specialist agents for your project.'));
|
|
143
|
+
console.log(chalk.gray(' Common types: frontend, backend, api, database, auth, devops, testing'));
|
|
144
|
+
console.log('');
|
|
145
|
+
const specialists = await specialistWizard();
|
|
146
|
+
// Section 5: MCP/Skills info
|
|
147
|
+
console.log('');
|
|
148
|
+
logger.section('5. MCP Servers & Skills');
|
|
149
|
+
console.log('');
|
|
150
|
+
console.log(chalk.gray(' MCP servers extend agent capabilities with external tools.'));
|
|
151
|
+
console.log(chalk.yellow(' Note: MCP configuration is added as a placeholder.'));
|
|
152
|
+
console.log(chalk.yellow(' Edit the config file manually to configure MCP servers.'));
|
|
153
|
+
console.log(chalk.cyan(' → See Claude Code documentation for MCP setup'));
|
|
154
|
+
console.log('');
|
|
155
|
+
// Combine answers
|
|
156
|
+
const answers = {
|
|
157
|
+
...stackAnswers,
|
|
158
|
+
...commandAnswers,
|
|
159
|
+
...structureAnswers,
|
|
160
|
+
specialists,
|
|
161
|
+
};
|
|
162
|
+
// Generate config
|
|
163
|
+
console.log('');
|
|
164
|
+
const spinner = ora('Updating configuration...').start();
|
|
165
|
+
const content = generateConfig(answers, existing);
|
|
166
|
+
await fs.writeFile(FILE_PATH, content);
|
|
167
|
+
spinner.succeed('Updated archai.config.md');
|
|
168
|
+
// Final output
|
|
169
|
+
console.log('');
|
|
170
|
+
logger.divider();
|
|
171
|
+
console.log('');
|
|
172
|
+
logger.success('Configuration updated!');
|
|
173
|
+
console.log('');
|
|
174
|
+
if (specialists.length > 0) {
|
|
175
|
+
console.log(chalk.white(`Defined ${specialists.length} specialist(s):`));
|
|
176
|
+
specialists.forEach(s => {
|
|
177
|
+
console.log(chalk.cyan(` • ${s.name}-specialist`));
|
|
178
|
+
});
|
|
179
|
+
console.log('');
|
|
180
|
+
}
|
|
181
|
+
logger.section('Next Steps');
|
|
182
|
+
console.log('');
|
|
183
|
+
console.log(chalk.white('1. Review your configuration:'));
|
|
184
|
+
console.log(chalk.cyan(' → archai.config.md'));
|
|
185
|
+
console.log('');
|
|
186
|
+
console.log(chalk.white('2. Configure MCP servers (optional):'));
|
|
187
|
+
console.log(chalk.cyan(' → Edit the "MCP Servers & Skills" section in archai.config.md'));
|
|
188
|
+
console.log('');
|
|
189
|
+
console.log(chalk.white('3. Generate specialist agents:'));
|
|
190
|
+
console.log(chalk.cyan(' → archai generate'));
|
|
191
|
+
console.log('');
|
|
192
|
+
}
|
|
193
|
+
async function specialistWizard() {
|
|
194
|
+
const specialists = [];
|
|
195
|
+
const { addSpecialists } = await inquirer.prompt([{
|
|
196
|
+
type: 'confirm',
|
|
197
|
+
name: 'addSpecialists',
|
|
198
|
+
message: 'Would you like to define specialist agents?',
|
|
199
|
+
default: true,
|
|
200
|
+
}]);
|
|
201
|
+
if (!addSpecialists) {
|
|
202
|
+
return specialists;
|
|
203
|
+
}
|
|
204
|
+
let addMore = true;
|
|
205
|
+
while (addMore) {
|
|
206
|
+
console.log('');
|
|
207
|
+
const { name } = await inquirer.prompt([{
|
|
208
|
+
type: 'input',
|
|
209
|
+
name: 'name',
|
|
210
|
+
message: 'Specialist name (e.g., "frontend", "api", "database"):',
|
|
211
|
+
validate: (input) => {
|
|
212
|
+
if (!input.trim())
|
|
213
|
+
return 'Name is required';
|
|
214
|
+
if (input.includes(' '))
|
|
215
|
+
return 'Use lowercase with no spaces (e.g., "frontend" not "front end")';
|
|
216
|
+
return true;
|
|
217
|
+
},
|
|
218
|
+
}]);
|
|
219
|
+
const { focus } = await inquirer.prompt([{
|
|
220
|
+
type: 'input',
|
|
221
|
+
name: 'focus',
|
|
222
|
+
message: `What does ${name}-specialist focus on?`,
|
|
223
|
+
default: '',
|
|
224
|
+
}]);
|
|
225
|
+
const { concerns } = await inquirer.prompt([{
|
|
226
|
+
type: 'input',
|
|
227
|
+
name: 'concerns',
|
|
228
|
+
message: 'Key concerns (comma-separated):',
|
|
229
|
+
default: '',
|
|
230
|
+
}]);
|
|
231
|
+
const keyConcerns = concerns
|
|
232
|
+
.split(',')
|
|
233
|
+
.map((c) => c.trim())
|
|
234
|
+
.filter(Boolean);
|
|
235
|
+
specialists.push({ name: name.toLowerCase(), focus, keyConcerns });
|
|
236
|
+
console.log(chalk.green(` ✓ Added ${name}-specialist`));
|
|
237
|
+
const { more } = await inquirer.prompt([{
|
|
238
|
+
type: 'confirm',
|
|
239
|
+
name: 'more',
|
|
240
|
+
message: 'Add another specialist?',
|
|
241
|
+
default: specialists.length < 3,
|
|
242
|
+
}]);
|
|
243
|
+
addMore = more;
|
|
244
|
+
}
|
|
245
|
+
return specialists;
|
|
246
|
+
}
|
|
247
|
+
async function parseExistingConfig() {
|
|
248
|
+
const defaults = {
|
|
249
|
+
projectName: 'my-project',
|
|
250
|
+
projectType: '',
|
|
251
|
+
isMonorepo: false,
|
|
252
|
+
languages: '',
|
|
253
|
+
frameworks: '',
|
|
254
|
+
testing: '',
|
|
255
|
+
packageManager: 'npm',
|
|
256
|
+
installCommand: '',
|
|
257
|
+
buildCommand: '',
|
|
258
|
+
testCommand: '',
|
|
259
|
+
lintCommand: '',
|
|
260
|
+
devCommand: '',
|
|
261
|
+
sourceDirectory: 'src/',
|
|
262
|
+
testsDirectory: 'tests/',
|
|
263
|
+
};
|
|
264
|
+
try {
|
|
265
|
+
const content = await fs.readFile(FILE_PATH, 'utf-8');
|
|
266
|
+
// Parse basic info
|
|
267
|
+
const nameMatch = content.match(/\*\*Name:\*\*\s*(.+)/);
|
|
268
|
+
if (nameMatch)
|
|
269
|
+
defaults.projectName = nameMatch[1].trim();
|
|
270
|
+
const typeMatch = content.match(/\*\*Type:\*\*\s*(.+)/);
|
|
271
|
+
if (typeMatch && !typeMatch[1].includes('[TODO')) {
|
|
272
|
+
defaults.projectType = typeMatch[1].trim();
|
|
273
|
+
}
|
|
274
|
+
const monoMatch = content.match(/\*\*Monorepo:\*\*\s*(Yes|No)/i);
|
|
275
|
+
if (monoMatch)
|
|
276
|
+
defaults.isMonorepo = monoMatch[1].toLowerCase() === 'yes';
|
|
277
|
+
// Parse tech stack
|
|
278
|
+
const langMatch = content.match(/\*\*Languages:\*\*\s*(.+)/);
|
|
279
|
+
if (langMatch && !langMatch[1].includes('[TODO')) {
|
|
280
|
+
defaults.languages = langMatch[1].trim();
|
|
281
|
+
}
|
|
282
|
+
const fwMatch = content.match(/\*\*Frameworks:\*\*\s*(.+)/);
|
|
283
|
+
if (fwMatch && !fwMatch[1].includes('[TODO')) {
|
|
284
|
+
defaults.frameworks = fwMatch[1].trim();
|
|
285
|
+
}
|
|
286
|
+
const testMatch = content.match(/\*\*Testing:\*\*\s*(.+)/);
|
|
287
|
+
if (testMatch && !testMatch[1].includes('[TODO')) {
|
|
288
|
+
defaults.testing = testMatch[1].trim();
|
|
289
|
+
}
|
|
290
|
+
// Parse package manager
|
|
291
|
+
const pmMatch = content.match(/\*\*Package Manager:\*\*\s*(.+)/);
|
|
292
|
+
if (pmMatch && !pmMatch[1].includes('[TODO')) {
|
|
293
|
+
defaults.packageManager = pmMatch[1].trim();
|
|
294
|
+
}
|
|
295
|
+
// Parse commands from table
|
|
296
|
+
const installMatch = content.match(/\| Install \| (.+) \|/);
|
|
297
|
+
if (installMatch && !installMatch[1].includes('[TODO')) {
|
|
298
|
+
defaults.installCommand = installMatch[1].trim();
|
|
299
|
+
}
|
|
300
|
+
const buildMatch = content.match(/\| Build \| (.+) \|/);
|
|
301
|
+
if (buildMatch && !buildMatch[1].includes('[TODO')) {
|
|
302
|
+
defaults.buildCommand = buildMatch[1].trim();
|
|
303
|
+
}
|
|
304
|
+
const testCmdMatch = content.match(/\| Test \| (.+) \|/);
|
|
305
|
+
if (testCmdMatch && !testCmdMatch[1].includes('[TODO')) {
|
|
306
|
+
defaults.testCommand = testCmdMatch[1].trim();
|
|
307
|
+
}
|
|
308
|
+
const lintMatch = content.match(/\| Lint \| (.+) \|/);
|
|
309
|
+
if (lintMatch && !lintMatch[1].includes('[TODO')) {
|
|
310
|
+
defaults.lintCommand = lintMatch[1].trim();
|
|
311
|
+
}
|
|
312
|
+
const devMatch = content.match(/\| Dev \| (.+) \|/);
|
|
313
|
+
if (devMatch && !devMatch[1].includes('[TODO')) {
|
|
314
|
+
defaults.devCommand = devMatch[1].trim();
|
|
315
|
+
}
|
|
316
|
+
// Parse structure
|
|
317
|
+
const srcMatch = content.match(/\*\*Source Directory:\*\*\s*(.+)/);
|
|
318
|
+
if (srcMatch)
|
|
319
|
+
defaults.sourceDirectory = srcMatch[1].trim();
|
|
320
|
+
const testsMatch = content.match(/\*\*Tests Directory:\*\*\s*(.+)/);
|
|
321
|
+
if (testsMatch)
|
|
322
|
+
defaults.testsDirectory = testsMatch[1].trim();
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
// Use defaults if parsing fails
|
|
326
|
+
}
|
|
327
|
+
return defaults;
|
|
328
|
+
}
|
|
329
|
+
function getPackageManagerCommands(pm) {
|
|
330
|
+
const commands = {
|
|
331
|
+
npm: {
|
|
332
|
+
install: 'npm install',
|
|
333
|
+
build: 'npm run build',
|
|
334
|
+
test: 'npm test',
|
|
335
|
+
lint: 'npm run lint',
|
|
336
|
+
dev: 'npm run dev',
|
|
337
|
+
},
|
|
338
|
+
pnpm: {
|
|
339
|
+
install: 'pnpm install',
|
|
340
|
+
build: 'pnpm build',
|
|
341
|
+
test: 'pnpm test',
|
|
342
|
+
lint: 'pnpm lint',
|
|
343
|
+
dev: 'pnpm dev',
|
|
344
|
+
},
|
|
345
|
+
yarn: {
|
|
346
|
+
install: 'yarn',
|
|
347
|
+
build: 'yarn build',
|
|
348
|
+
test: 'yarn test',
|
|
349
|
+
lint: 'yarn lint',
|
|
350
|
+
dev: 'yarn dev',
|
|
351
|
+
},
|
|
352
|
+
bun: {
|
|
353
|
+
install: 'bun install',
|
|
354
|
+
build: 'bun run build',
|
|
355
|
+
test: 'bun test',
|
|
356
|
+
lint: 'bun run lint',
|
|
357
|
+
dev: 'bun run dev',
|
|
358
|
+
},
|
|
359
|
+
pip: {
|
|
360
|
+
install: 'pip install -r requirements.txt',
|
|
361
|
+
build: 'python -m build',
|
|
362
|
+
test: 'pytest',
|
|
363
|
+
lint: 'ruff check .',
|
|
364
|
+
dev: 'python main.py',
|
|
365
|
+
},
|
|
366
|
+
cargo: {
|
|
367
|
+
install: 'cargo build',
|
|
368
|
+
build: 'cargo build --release',
|
|
369
|
+
test: 'cargo test',
|
|
370
|
+
lint: 'cargo clippy',
|
|
371
|
+
dev: 'cargo run',
|
|
372
|
+
},
|
|
373
|
+
go: {
|
|
374
|
+
install: 'go mod download',
|
|
375
|
+
build: 'go build',
|
|
376
|
+
test: 'go test ./...',
|
|
377
|
+
lint: 'golangci-lint run',
|
|
378
|
+
dev: 'go run .',
|
|
379
|
+
},
|
|
380
|
+
other: {
|
|
381
|
+
install: '',
|
|
382
|
+
build: '',
|
|
383
|
+
test: '',
|
|
384
|
+
lint: '',
|
|
385
|
+
dev: '',
|
|
386
|
+
},
|
|
387
|
+
};
|
|
388
|
+
return commands[pm] || commands.other;
|
|
389
|
+
}
|
|
390
|
+
function generateConfig(answers, existing) {
|
|
391
|
+
const formatAdditionalTech = (input) => {
|
|
392
|
+
if (!input.trim())
|
|
393
|
+
return '-';
|
|
394
|
+
return input.split(',')
|
|
395
|
+
.map(item => `- ${item.trim()}`)
|
|
396
|
+
.filter(Boolean)
|
|
397
|
+
.join('\n');
|
|
398
|
+
};
|
|
399
|
+
const formatKeyFiles = (input) => {
|
|
400
|
+
if (!input.trim())
|
|
401
|
+
return '| | |';
|
|
402
|
+
return input.split(',')
|
|
403
|
+
.map(item => {
|
|
404
|
+
const [file, purpose] = item.split(':').map(s => s.trim());
|
|
405
|
+
return `| ${file || ''} | ${purpose || ''} |`;
|
|
406
|
+
})
|
|
407
|
+
.join('\n');
|
|
408
|
+
};
|
|
409
|
+
const formatSpecialists = (specialists) => {
|
|
410
|
+
if (specialists.length === 0) {
|
|
411
|
+
return `### 1. [TODO: Specialist Name]
|
|
412
|
+
**Focus:** [What this specialist handles]
|
|
413
|
+
**Key Concerns:**
|
|
414
|
+
- [Concern 1]
|
|
415
|
+
- [Concern 2]
|
|
416
|
+
|
|
417
|
+
### 2. [Add more as needed]
|
|
418
|
+
**Focus:**
|
|
419
|
+
**Key Concerns:**
|
|
420
|
+
-`;
|
|
421
|
+
}
|
|
422
|
+
return specialists.map((s, i) => {
|
|
423
|
+
const concerns = s.keyConcerns.length > 0
|
|
424
|
+
? s.keyConcerns.map(c => `- ${c}`).join('\n')
|
|
425
|
+
: '- [Add key concerns]';
|
|
426
|
+
return `### ${i + 1}. ${s.name}
|
|
427
|
+
**Focus:** ${s.focus || '[What this specialist handles]'}
|
|
428
|
+
**Key Concerns:**
|
|
429
|
+
${concerns}`;
|
|
430
|
+
}).join('\n\n');
|
|
431
|
+
};
|
|
432
|
+
return `# archai Project Configuration
|
|
433
|
+
|
|
434
|
+
> Configuration for your archai agent system.
|
|
435
|
+
> Run \`archai generate\` after updating this file.
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## Project Info
|
|
440
|
+
|
|
441
|
+
**Name:** ${existing.projectName}
|
|
442
|
+
**Type:** ${existing.projectType || '[TODO: web, mobile, cli, game, ml, devops]'}
|
|
443
|
+
**Monorepo:** ${existing.isMonorepo ? 'Yes' : 'No'}
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## Tech Stack
|
|
448
|
+
|
|
449
|
+
**Languages:** ${answers.languages || '[TODO: TypeScript, Python, Go, etc.]'}
|
|
450
|
+
**Frameworks:** ${answers.frameworks || '[TODO: React, Express, Django, etc.]'}
|
|
451
|
+
**Testing:** ${answers.testing || '[TODO: vitest, jest, pytest, etc.]'}
|
|
452
|
+
|
|
453
|
+
### Additional Technologies
|
|
454
|
+
${formatAdditionalTech(answers.additionalTech)}
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## Commands
|
|
459
|
+
|
|
460
|
+
**Package Manager:** ${answers.packageManager}
|
|
461
|
+
|
|
462
|
+
| Command | Script |
|
|
463
|
+
|---------|--------|
|
|
464
|
+
| Install | ${answers.installCommand || '[TODO]'} |
|
|
465
|
+
| Build | ${answers.buildCommand || '[TODO]'} |
|
|
466
|
+
| Test | ${answers.testCommand || '[TODO]'} |
|
|
467
|
+
| Lint | ${answers.lintCommand || '[TODO]'} |
|
|
468
|
+
| Dev | ${answers.devCommand || '[TODO]'} |
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## Project Structure
|
|
473
|
+
|
|
474
|
+
**Source Directory:** ${answers.sourceDirectory}
|
|
475
|
+
**Tests Directory:** ${answers.testsDirectory}
|
|
476
|
+
|
|
477
|
+
### Key Files
|
|
478
|
+
| File | Purpose |
|
|
479
|
+
|------|---------|
|
|
480
|
+
${formatKeyFiles(answers.keyFiles)}
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## Specialists to Generate
|
|
485
|
+
|
|
486
|
+
<!--
|
|
487
|
+
These specialist agents will be generated by Claude Code.
|
|
488
|
+
Run \`archai generate\` to create them.
|
|
489
|
+
-->
|
|
490
|
+
|
|
491
|
+
${formatSpecialists(answers.specialists)}
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## MCP Servers & Skills
|
|
496
|
+
|
|
497
|
+
<!--
|
|
498
|
+
Configure MCP servers to extend agent capabilities.
|
|
499
|
+
MCP (Model Context Protocol) allows agents to interact with external tools and services.
|
|
500
|
+
|
|
501
|
+
Example configuration (edit manually):
|
|
502
|
+
|
|
503
|
+
### Database Tools
|
|
504
|
+
- Server: @anthropic/mcp-server-postgres
|
|
505
|
+
- Purpose: Query and manage database
|
|
506
|
+
|
|
507
|
+
### File System
|
|
508
|
+
- Server: @anthropic/mcp-server-filesystem
|
|
509
|
+
- Purpose: Enhanced file operations
|
|
510
|
+
|
|
511
|
+
For setup instructions, see Claude Code documentation.
|
|
512
|
+
-->
|
|
513
|
+
|
|
514
|
+
[TODO: Configure MCP servers if needed]
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
## Permissions
|
|
519
|
+
|
|
520
|
+
<!-- Commands agents are allowed to run -->
|
|
521
|
+
- ${answers.packageManager} *
|
|
522
|
+
- npx *
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## Notes
|
|
527
|
+
|
|
528
|
+
<!-- Any additional context for agents -->
|
|
529
|
+
|
|
530
|
+
`;
|
|
531
|
+
}
|
|
532
|
+
//# sourceMappingURL=setup-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-config.js","sourceRoot":"","sources":["../../src/commands/setup-config.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAqD5C,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEvF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,wBAAwB;IACxB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACzC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;SAClC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;SACnC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;SAChC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,qDAAqD;YAC9D,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;IAEH,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,IAAI,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC3C;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,SAAS;SACnB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,CAAC,OAAmC,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACvD,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,CAAC,OAAmC,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,CAAC,OAAmC,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACjD,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,CAAC,OAAmC,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACjD,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,CAAC,OAAmC,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YAC/C,CAAC;SACF;KACF,CAAC,CAAC;IAEH,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC7C;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,QAAQ,CAAC,eAAe,IAAI,MAAM;SAC5C;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,QAAQ,CAAC,cAAc,IAAI,QAAQ;SAC7C;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+EAA+E;YACxF,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAC;IAEH,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE7C,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,kBAAkB;IAClB,MAAM,OAAO,GAAkB;QAC7B,GAAG,YAAY;QACf,GAAG,cAAc;QACjB,GAAG,gBAAgB;QACnB,WAAW;KACZ,CAAC;IAEF,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEzD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE5C,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC;QACzE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,6CAA6C;YACtD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,wDAAwD;gBACjE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAAE,OAAO,kBAAkB,CAAC;oBAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,OAAO,iEAAiE,CAAC;oBAClG,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,aAAa,IAAI,uBAAuB;gBACjD,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAG,QAAQ;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC;QAE1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;aAChC,CAAC,CAAC,CAAC;QAEJ,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,QAAQ,GAAmB;QAC/B,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,MAAM;QACvB,cAAc,EAAE,QAAQ;KACzB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtD,mBAAmB;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAI,SAAS;YAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjE,IAAI,SAAS;YAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QAE1E,mBAAmB;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5D,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACnE,IAAI,QAAQ;YAAE,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpE,IAAI,UAAU;YAAE,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjE,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,EAAU;IAC3C,MAAM,QAAQ,GAA2C;QACvD,GAAG,EAAE;YACH,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,aAAa;SACnB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,UAAU;SAChB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,UAAU;SAChB;QACD,GAAG,EAAE;YACH,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,aAAa;SACnB;QACD,GAAG,EAAE;YACH,OAAO,EAAE,iCAAiC;YAC1C,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,gBAAgB;SACtB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,WAAW;SACjB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,mBAAmB;YACzB,GAAG,EAAE,UAAU;SAChB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACR;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB,EAAE,QAAwB;IACtE,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAU,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;aACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;aAC/B,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,OAAO,CAAC;QAClC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;aACpB,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,KAAK,IAAI,IAAI,EAAE,MAAM,OAAO,IAAI,EAAE,IAAI,CAAC;QAChD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmC,EAAU,EAAE;QACxE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;;;;;;;;;EASX,CAAC;QACC,CAAC;QAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,sBAAsB,CAAC;YAE3B,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI;aACvB,CAAC,CAAC,KAAK,IAAI,gCAAgC;;EAEtD,QAAQ,EAAE,CAAC;QACT,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO;;;;;;;;;YASG,QAAQ,CAAC,WAAW;YACpB,QAAQ,CAAC,WAAW,IAAI,4CAA4C;gBAChE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;;;;iBAMjC,OAAO,CAAC,SAAS,IAAI,sCAAsC;kBAC1D,OAAO,CAAC,UAAU,IAAI,sCAAsC;eAC/D,OAAO,CAAC,OAAO,IAAI,oCAAoC;;;EAGpE,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC;;;;;;uBAMvB,OAAO,CAAC,cAAc;;;;cAI/B,OAAO,CAAC,cAAc,IAAI,QAAQ;YACpC,OAAO,CAAC,YAAY,IAAI,QAAQ;WACjC,OAAO,CAAC,WAAW,IAAI,QAAQ;WAC/B,OAAO,CAAC,WAAW,IAAI,QAAQ;UAChC,OAAO,CAAC,UAAU,IAAI,QAAQ;;;;;;wBAMhB,OAAO,CAAC,eAAe;uBACxB,OAAO,CAAC,cAAc;;;;;EAK3C,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;EAWhC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BpC,OAAO,CAAC,cAAc;;;;;;;;;CASzB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-project.d.ts","sourceRoot":"","sources":["../../src/commands/setup-project.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+BD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgO9E"}
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
const FILE_PATH = '.knowledge/context/project-description.md';
|
|
7
|
+
export async function setupProject(options) {
|
|
8
|
+
logger.banner();
|
|
9
|
+
// Check if file exists
|
|
10
|
+
const exists = await fs.pathExists(FILE_PATH);
|
|
11
|
+
if (exists && !options.force) {
|
|
12
|
+
const { mode } = await inquirer.prompt([{
|
|
13
|
+
type: 'list',
|
|
14
|
+
name: 'mode',
|
|
15
|
+
message: 'project-description.md already exists. What would you like to do?',
|
|
16
|
+
choices: [
|
|
17
|
+
{ name: 'Update (fill in placeholders, keep custom content)', value: 'update' },
|
|
18
|
+
{ name: 'Overwrite (start fresh)', value: 'overwrite' },
|
|
19
|
+
{ name: 'Cancel', value: 'cancel' }
|
|
20
|
+
]
|
|
21
|
+
}]);
|
|
22
|
+
if (mode === 'cancel') {
|
|
23
|
+
logger.info('Setup cancelled.');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (mode === 'update') {
|
|
27
|
+
logger.info('Update mode: Existing custom content will be preserved where possible.');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Load defaults from config if available
|
|
31
|
+
const defaults = await loadConfigDefaults();
|
|
32
|
+
console.log('');
|
|
33
|
+
logger.section('Project Description Wizard');
|
|
34
|
+
console.log(chalk.gray(' Fill in details about your project for AI agents.'));
|
|
35
|
+
console.log(chalk.gray(' Press Enter to skip questions you\'re unsure about.'));
|
|
36
|
+
console.log('');
|
|
37
|
+
// Section 1: Overview
|
|
38
|
+
logger.section('1. Project Overview');
|
|
39
|
+
console.log('');
|
|
40
|
+
const overviewAnswers = await inquirer.prompt([
|
|
41
|
+
{
|
|
42
|
+
type: 'input',
|
|
43
|
+
name: 'oneLineDescription',
|
|
44
|
+
message: 'One-line description (what does this project do?):',
|
|
45
|
+
default: '',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'editor',
|
|
49
|
+
name: 'detailedDescription',
|
|
50
|
+
message: 'Detailed description (2-3 paragraphs - opens editor):',
|
|
51
|
+
default: '[Describe the project purpose, target users, and core functionality]',
|
|
52
|
+
},
|
|
53
|
+
]);
|
|
54
|
+
// Section 2: Architecture
|
|
55
|
+
console.log('');
|
|
56
|
+
logger.section('2. Architecture');
|
|
57
|
+
console.log('');
|
|
58
|
+
const architectureAnswers = await inquirer.prompt([
|
|
59
|
+
{
|
|
60
|
+
type: 'input',
|
|
61
|
+
name: 'architecture',
|
|
62
|
+
message: 'High-level architecture (client/server, microservices, monolith, etc.):',
|
|
63
|
+
default: '',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'input',
|
|
67
|
+
name: 'keyModules',
|
|
68
|
+
message: 'Key modules/packages (comma-separated):',
|
|
69
|
+
default: defaults.isMonorepo ? 'packages/, apps/' : 'src/',
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
// Section 3: Domain
|
|
73
|
+
console.log('');
|
|
74
|
+
logger.section('3. Domain Concepts');
|
|
75
|
+
console.log('');
|
|
76
|
+
const domainAnswers = await inquirer.prompt([
|
|
77
|
+
{
|
|
78
|
+
type: 'input',
|
|
79
|
+
name: 'coreEntities',
|
|
80
|
+
message: 'Core entities/domain objects (comma-separated):',
|
|
81
|
+
default: '',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'input',
|
|
85
|
+
name: 'keyWorkflows',
|
|
86
|
+
message: 'Key workflows/user flows (comma-separated):',
|
|
87
|
+
default: '',
|
|
88
|
+
},
|
|
89
|
+
]);
|
|
90
|
+
// Section 4: Technical Constraints
|
|
91
|
+
console.log('');
|
|
92
|
+
logger.section('4. Technical Constraints');
|
|
93
|
+
console.log('');
|
|
94
|
+
const technicalAnswers = await inquirer.prompt([
|
|
95
|
+
{
|
|
96
|
+
type: 'input',
|
|
97
|
+
name: 'performanceRequirements',
|
|
98
|
+
message: 'Performance requirements (e.g., "1000 concurrent users"):',
|
|
99
|
+
default: '',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'input',
|
|
103
|
+
name: 'compatibilityRequirements',
|
|
104
|
+
message: 'Compatibility requirements (e.g., "Modern browsers, iOS 14+"):',
|
|
105
|
+
default: '',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'input',
|
|
109
|
+
name: 'securityConsiderations',
|
|
110
|
+
message: 'Security considerations (e.g., "Auth required, data encryption"):',
|
|
111
|
+
default: '',
|
|
112
|
+
},
|
|
113
|
+
]);
|
|
114
|
+
// Section 5: Development Guidelines
|
|
115
|
+
console.log('');
|
|
116
|
+
logger.section('5. Development Guidelines');
|
|
117
|
+
console.log('');
|
|
118
|
+
const guidelinesAnswers = await inquirer.prompt([
|
|
119
|
+
{
|
|
120
|
+
type: 'input',
|
|
121
|
+
name: 'codeStyle',
|
|
122
|
+
message: 'Code style/patterns to follow:',
|
|
123
|
+
default: '',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'input',
|
|
127
|
+
name: 'whatToAvoid',
|
|
128
|
+
message: 'What to avoid (anti-patterns, deprecated approaches):',
|
|
129
|
+
default: '',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'input',
|
|
133
|
+
name: 'testingPhilosophy',
|
|
134
|
+
message: 'Testing philosophy (how thorough? what must be tested?):',
|
|
135
|
+
default: '',
|
|
136
|
+
},
|
|
137
|
+
]);
|
|
138
|
+
// Section 6: External Integrations
|
|
139
|
+
console.log('');
|
|
140
|
+
logger.section('6. External Integrations');
|
|
141
|
+
console.log('');
|
|
142
|
+
const integrationsAnswers = await inquirer.prompt([
|
|
143
|
+
{
|
|
144
|
+
type: 'input',
|
|
145
|
+
name: 'externalIntegrations',
|
|
146
|
+
message: 'External services/APIs (comma-separated, format: "Service:Purpose"):',
|
|
147
|
+
default: '',
|
|
148
|
+
},
|
|
149
|
+
]);
|
|
150
|
+
// Section 7: Current State
|
|
151
|
+
console.log('');
|
|
152
|
+
logger.section('7. Current State');
|
|
153
|
+
console.log('');
|
|
154
|
+
const stateAnswers = await inquirer.prompt([
|
|
155
|
+
{
|
|
156
|
+
type: 'input',
|
|
157
|
+
name: 'workingFeatures',
|
|
158
|
+
message: 'What\'s currently working (comma-separated):',
|
|
159
|
+
default: '',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'input',
|
|
163
|
+
name: 'knownIssues',
|
|
164
|
+
message: 'Known issues (comma-separated):',
|
|
165
|
+
default: '',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'input',
|
|
169
|
+
name: 'upcomingPriorities',
|
|
170
|
+
message: 'Upcoming priorities (comma-separated):',
|
|
171
|
+
default: '',
|
|
172
|
+
},
|
|
173
|
+
]);
|
|
174
|
+
// Combine all answers
|
|
175
|
+
const answers = {
|
|
176
|
+
...overviewAnswers,
|
|
177
|
+
...architectureAnswers,
|
|
178
|
+
...domainAnswers,
|
|
179
|
+
...technicalAnswers,
|
|
180
|
+
...guidelinesAnswers,
|
|
181
|
+
...integrationsAnswers,
|
|
182
|
+
...stateAnswers,
|
|
183
|
+
};
|
|
184
|
+
// Generate content
|
|
185
|
+
console.log('');
|
|
186
|
+
const spinner = ora('Generating project description...').start();
|
|
187
|
+
const content = generateProjectDescription(answers, defaults);
|
|
188
|
+
await fs.ensureDir('.knowledge/context');
|
|
189
|
+
await fs.writeFile(FILE_PATH, content);
|
|
190
|
+
spinner.succeed('Created project-description.md');
|
|
191
|
+
// Final output
|
|
192
|
+
console.log('');
|
|
193
|
+
logger.divider();
|
|
194
|
+
console.log('');
|
|
195
|
+
logger.success('Project description updated!');
|
|
196
|
+
console.log('');
|
|
197
|
+
logger.section('Next Steps');
|
|
198
|
+
console.log('');
|
|
199
|
+
console.log(chalk.white('1. Review and refine:'));
|
|
200
|
+
console.log(chalk.cyan(' → .knowledge/context/project-description.md'));
|
|
201
|
+
console.log('');
|
|
202
|
+
console.log(chalk.white('2. Generate specialist agents:'));
|
|
203
|
+
console.log(chalk.cyan(' → archai generate'));
|
|
204
|
+
console.log('');
|
|
205
|
+
}
|
|
206
|
+
async function loadConfigDefaults() {
|
|
207
|
+
const defaults = {
|
|
208
|
+
projectName: 'my-project',
|
|
209
|
+
languages: '',
|
|
210
|
+
frameworks: '',
|
|
211
|
+
testFramework: '',
|
|
212
|
+
isMonorepo: false,
|
|
213
|
+
};
|
|
214
|
+
try {
|
|
215
|
+
if (await fs.pathExists('archai.config.md')) {
|
|
216
|
+
const content = await fs.readFile('archai.config.md', 'utf-8');
|
|
217
|
+
// Parse project name
|
|
218
|
+
const nameMatch = content.match(/\*\*Name:\*\*\s*(.+)/);
|
|
219
|
+
if (nameMatch)
|
|
220
|
+
defaults.projectName = nameMatch[1].trim();
|
|
221
|
+
// Parse languages
|
|
222
|
+
const langMatch = content.match(/\*\*Languages:\*\*\s*(.+)/);
|
|
223
|
+
if (langMatch && !langMatch[1].includes('[TODO')) {
|
|
224
|
+
defaults.languages = langMatch[1].trim();
|
|
225
|
+
}
|
|
226
|
+
// Parse frameworks
|
|
227
|
+
const fwMatch = content.match(/\*\*Frameworks:\*\*\s*(.+)/);
|
|
228
|
+
if (fwMatch && !fwMatch[1].includes('[TODO')) {
|
|
229
|
+
defaults.frameworks = fwMatch[1].trim();
|
|
230
|
+
}
|
|
231
|
+
// Parse testing
|
|
232
|
+
const testMatch = content.match(/\*\*Testing:\*\*\s*(.+)/);
|
|
233
|
+
if (testMatch && !testMatch[1].includes('[TODO')) {
|
|
234
|
+
defaults.testFramework = testMatch[1].trim();
|
|
235
|
+
}
|
|
236
|
+
// Parse monorepo
|
|
237
|
+
const monoMatch = content.match(/\*\*Monorepo:\*\*\s*(Yes|No)/i);
|
|
238
|
+
if (monoMatch)
|
|
239
|
+
defaults.isMonorepo = monoMatch[1].toLowerCase() === 'yes';
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// Use defaults if config can't be read
|
|
244
|
+
}
|
|
245
|
+
return defaults;
|
|
246
|
+
}
|
|
247
|
+
function generateProjectDescription(answers, defaults) {
|
|
248
|
+
const formatList = (input, prefix = '- ') => {
|
|
249
|
+
if (!input.trim())
|
|
250
|
+
return `${prefix}[TODO]`;
|
|
251
|
+
return input.split(',')
|
|
252
|
+
.map(item => item.trim())
|
|
253
|
+
.filter(Boolean)
|
|
254
|
+
.map(item => `${prefix}${item}`)
|
|
255
|
+
.join('\n');
|
|
256
|
+
};
|
|
257
|
+
const formatEntities = (input) => {
|
|
258
|
+
if (!input.trim())
|
|
259
|
+
return '- **Entity1**: Description\n- **Entity2**: Description';
|
|
260
|
+
return input.split(',')
|
|
261
|
+
.map(item => item.trim())
|
|
262
|
+
.filter(Boolean)
|
|
263
|
+
.map(item => `- **${item}**: [Description]`)
|
|
264
|
+
.join('\n');
|
|
265
|
+
};
|
|
266
|
+
const formatWorkflows = (input) => {
|
|
267
|
+
if (!input.trim())
|
|
268
|
+
return '1. Workflow: [Description]';
|
|
269
|
+
return input.split(',')
|
|
270
|
+
.map((item, i) => `${i + 1}. ${item.trim()}: [Description]`)
|
|
271
|
+
.join('\n');
|
|
272
|
+
};
|
|
273
|
+
const formatIntegrations = (input) => {
|
|
274
|
+
if (!input.trim())
|
|
275
|
+
return '| [Service] | [Purpose] | [Notes] |';
|
|
276
|
+
return input.split(',')
|
|
277
|
+
.map(item => {
|
|
278
|
+
const [service, purpose] = item.split(':').map(s => s.trim());
|
|
279
|
+
return `| ${service || '[Service]'} | ${purpose || '[Purpose]'} | |`;
|
|
280
|
+
})
|
|
281
|
+
.join('\n');
|
|
282
|
+
};
|
|
283
|
+
return `# Project Description
|
|
284
|
+
|
|
285
|
+
> This file provides context to all agents. Keep it updated.
|
|
286
|
+
|
|
287
|
+
## Project Overview
|
|
288
|
+
|
|
289
|
+
**Name:** ${defaults.projectName}
|
|
290
|
+
|
|
291
|
+
**One-line description:**
|
|
292
|
+
${answers.oneLineDescription || '[What does this project do in one sentence?]'}
|
|
293
|
+
|
|
294
|
+
**Detailed description:**
|
|
295
|
+
${answers.detailedDescription || '[2-3 paragraphs explaining the project, its purpose, target users, and core functionality]'}
|
|
296
|
+
|
|
297
|
+
## Tech Stack
|
|
298
|
+
|
|
299
|
+
**Languages:** ${defaults.languages || '[TODO: Add your languages]'}
|
|
300
|
+
**Frameworks:** ${defaults.frameworks || '[TODO: Add your frameworks]'}
|
|
301
|
+
**Testing:** ${defaults.testFramework || '[TODO: Add your test framework]'}
|
|
302
|
+
|
|
303
|
+
## Architecture
|
|
304
|
+
|
|
305
|
+
**High-level architecture:**
|
|
306
|
+
${answers.architecture || '[Describe how the system is structured - client/server, microservices, monolith, etc.]'}
|
|
307
|
+
|
|
308
|
+
**Key modules/packages:**
|
|
309
|
+
${formatList(answers.keyModules)}
|
|
310
|
+
|
|
311
|
+
## Domain Concepts
|
|
312
|
+
|
|
313
|
+
**Core entities:**
|
|
314
|
+
${formatEntities(answers.coreEntities)}
|
|
315
|
+
|
|
316
|
+
**Key workflows:**
|
|
317
|
+
${formatWorkflows(answers.keyWorkflows)}
|
|
318
|
+
|
|
319
|
+
## Technical Constraints
|
|
320
|
+
|
|
321
|
+
**Performance requirements:**
|
|
322
|
+
${formatList(answers.performanceRequirements)}
|
|
323
|
+
|
|
324
|
+
**Compatibility requirements:**
|
|
325
|
+
${formatList(answers.compatibilityRequirements)}
|
|
326
|
+
|
|
327
|
+
**Security considerations:**
|
|
328
|
+
${formatList(answers.securityConsiderations)}
|
|
329
|
+
|
|
330
|
+
## Development Guidelines
|
|
331
|
+
|
|
332
|
+
**Code style:**
|
|
333
|
+
${answers.codeStyle || '[Any specific conventions, patterns to follow]'}
|
|
334
|
+
|
|
335
|
+
**What to avoid:**
|
|
336
|
+
${answers.whatToAvoid || '[Anti-patterns, deprecated approaches, things NOT to do]'}
|
|
337
|
+
|
|
338
|
+
**Testing philosophy:**
|
|
339
|
+
${answers.testingPhilosophy || '[How thorough should tests be? What must be tested?]'}
|
|
340
|
+
|
|
341
|
+
## External Integrations
|
|
342
|
+
|
|
343
|
+
| Service | Purpose | Notes |
|
|
344
|
+
|---------|---------|-------|
|
|
345
|
+
${formatIntegrations(answers.externalIntegrations)}
|
|
346
|
+
|
|
347
|
+
## Current State
|
|
348
|
+
|
|
349
|
+
**What's working:**
|
|
350
|
+
${formatList(answers.workingFeatures)}
|
|
351
|
+
|
|
352
|
+
**Known issues:**
|
|
353
|
+
${formatList(answers.knownIssues)}
|
|
354
|
+
|
|
355
|
+
**Upcoming priorities:**
|
|
356
|
+
${formatList(answers.upcomingPriorities)}
|
|
357
|
+
`;
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=setup-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/commands/setup-project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -323,4 +323,4 @@ After 4 iterations, the requirements might be unclear. Provide more context or s
|
|
|
323
323
|
|
|
324
324
|
---
|
|
325
325
|
|
|
326
|
-
*Powered by archai - Multi-agent AI development workflow*
|
|
326
|
+
*Powered by [@zik000/archai](https://www.npmjs.com/package/@zik000/archai) - Multi-agent AI development workflow*
|
|
@@ -80,6 +80,37 @@ You are a development workflow orchestrator with a THREE-PHASE ITERATION archite
|
|
|
80
80
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
+
## Step -1: Git Branch Verification (MANDATORY FIRST)
|
|
84
|
+
|
|
85
|
+
**STOP. Before ANYTHING else, verify you are on a feature branch.**
|
|
86
|
+
|
|
87
|
+
### Check Current Branch
|
|
88
|
+
```bash
|
|
89
|
+
git branch --show-current
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### If on main/master/develop:
|
|
93
|
+
1. **DO NOT PROCEED** with any work
|
|
94
|
+
2. Create a feature branch immediately:
|
|
95
|
+
```bash
|
|
96
|
+
git checkout -b agent/[task-id]-[short-description]
|
|
97
|
+
```
|
|
98
|
+
3. Example: `git checkout -b agent/TASK-001-add-user-auth`
|
|
99
|
+
|
|
100
|
+
### If already on feature branch:
|
|
101
|
+
- Verify branch follows pattern: `agent/*` or `feature/*`
|
|
102
|
+
- Proceed to Step 0
|
|
103
|
+
|
|
104
|
+
### Branch Naming Convention
|
|
105
|
+
- Format: `agent/[task-id]-[short-description]`
|
|
106
|
+
- Lowercase with hyphens, description under 30 chars
|
|
107
|
+
- Examples: `agent/TASK-042-fix-login`, `agent/epic-15-refactor-auth`
|
|
108
|
+
|
|
109
|
+
### Protected Branches (NEVER work directly on these)
|
|
110
|
+
`main`, `master`, `develop`, `release/*`
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
83
114
|
## Project Context
|
|
84
115
|
|
|
85
116
|
Read project context from:
|
|
@@ -62,6 +62,35 @@ branch: null | branch-name
|
|
|
62
62
|
|
|
63
63
|
## Orchestration Protocol
|
|
64
64
|
|
|
65
|
+
### Step 0: Git Branch Verification (MANDATORY FIRST)
|
|
66
|
+
|
|
67
|
+
**Before doing ANYTHING else, verify your git status.**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Check current branch
|
|
71
|
+
git branch --show-current
|
|
72
|
+
|
|
73
|
+
# Check for uncommitted changes
|
|
74
|
+
git status
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### If on main/master/develop:
|
|
78
|
+
1. **DO NOT claim any task yet**
|
|
79
|
+
2. If you know which task you'll work on, create the branch now:
|
|
80
|
+
```bash
|
|
81
|
+
git checkout -b agent/[task-id]-[short-description]
|
|
82
|
+
```
|
|
83
|
+
3. If unsure which task, proceed to Step 1 to select a task, then return here to create the branch
|
|
84
|
+
|
|
85
|
+
#### If you have uncommitted changes:
|
|
86
|
+
- Stash or commit them to the appropriate branch
|
|
87
|
+
- Never leave work uncommitted when switching contexts
|
|
88
|
+
|
|
89
|
+
#### Protected Branches (NEVER work directly on these)
|
|
90
|
+
`main`, `master`, `develop`, `release/*`
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
65
94
|
### Step 1: Claim a Task
|
|
66
95
|
|
|
67
96
|
Find highest priority task in inbox:
|
|
@@ -76,13 +105,23 @@ Claim it by:
|
|
|
76
105
|
2. Set `assignee` to current session
|
|
77
106
|
3. Move to `.tasks/epics/`
|
|
78
107
|
|
|
79
|
-
### Step 2: Create Branch
|
|
108
|
+
### Step 2: Create/Verify Branch
|
|
109
|
+
|
|
110
|
+
**Verify you are NOT on a protected branch before proceeding.**
|
|
111
|
+
|
|
112
|
+
If not already on a feature branch (from Step 0), create one:
|
|
80
113
|
|
|
81
114
|
```bash
|
|
82
115
|
# Create feature branch
|
|
83
116
|
git checkout -b agent/[task-id]-[short-description]
|
|
84
117
|
```
|
|
85
118
|
|
|
119
|
+
Branch naming:
|
|
120
|
+
- Format: `agent/[task-id]-[short-description]`
|
|
121
|
+
- Lowercase with hyphens
|
|
122
|
+
- Description under 30 chars
|
|
123
|
+
- Example: `agent/TASK-042-fix-login-bug`
|
|
124
|
+
|
|
86
125
|
Update task file with branch name.
|
|
87
126
|
|
|
88
127
|
### Step 3: Execute Workflow
|