@cluesmith/codev 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/af.js +8 -0
- package/bin/codev.js +4 -0
- package/bin/consult.js +7 -0
- package/dist/agent-farm/cli.d.ts +11 -0
- package/dist/agent-farm/cli.d.ts.map +1 -0
- package/dist/agent-farm/cli.js +359 -0
- package/dist/agent-farm/cli.js.map +1 -0
- package/dist/agent-farm/commands/cleanup.d.ts +12 -0
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -0
- package/dist/agent-farm/commands/cleanup.js +154 -0
- package/dist/agent-farm/commands/cleanup.js.map +1 -0
- package/dist/agent-farm/commands/db.d.ts +38 -0
- package/dist/agent-farm/commands/db.d.ts.map +1 -0
- package/dist/agent-farm/commands/db.js +133 -0
- package/dist/agent-farm/commands/db.js.map +1 -0
- package/dist/agent-farm/commands/index.d.ts +11 -0
- package/dist/agent-farm/commands/index.d.ts.map +1 -0
- package/dist/agent-farm/commands/index.js +11 -0
- package/dist/agent-farm/commands/index.js.map +1 -0
- package/dist/agent-farm/commands/open.d.ts +15 -0
- package/dist/agent-farm/commands/open.d.ts.map +1 -0
- package/dist/agent-farm/commands/open.js +118 -0
- package/dist/agent-farm/commands/open.js.map +1 -0
- package/dist/agent-farm/commands/rename.d.ts +13 -0
- package/dist/agent-farm/commands/rename.d.ts.map +1 -0
- package/dist/agent-farm/commands/rename.js +33 -0
- package/dist/agent-farm/commands/rename.js.map +1 -0
- package/dist/agent-farm/commands/send.d.ts +9 -0
- package/dist/agent-farm/commands/send.d.ts.map +1 -0
- package/dist/agent-farm/commands/send.js +282 -0
- package/dist/agent-farm/commands/send.js.map +1 -0
- package/dist/agent-farm/commands/spawn.d.ts +15 -0
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -0
- package/dist/agent-farm/commands/spawn.js +575 -0
- package/dist/agent-farm/commands/spawn.js.map +1 -0
- package/dist/agent-farm/commands/start.d.ts +9 -0
- package/dist/agent-farm/commands/start.d.ts.map +1 -0
- package/dist/agent-farm/commands/start.js +175 -0
- package/dist/agent-farm/commands/start.js.map +1 -0
- package/dist/agent-farm/commands/status.d.ts +8 -0
- package/dist/agent-farm/commands/status.d.ts.map +1 -0
- package/dist/agent-farm/commands/status.js +123 -0
- package/dist/agent-farm/commands/status.js.map +1 -0
- package/dist/agent-farm/commands/stop.d.ts +8 -0
- package/dist/agent-farm/commands/stop.d.ts.map +1 -0
- package/dist/agent-farm/commands/stop.js +76 -0
- package/dist/agent-farm/commands/stop.js.map +1 -0
- package/dist/agent-farm/commands/tower.d.ts +19 -0
- package/dist/agent-farm/commands/tower.d.ts.map +1 -0
- package/dist/agent-farm/commands/tower.js +125 -0
- package/dist/agent-farm/commands/tower.js.map +1 -0
- package/dist/agent-farm/commands/tutorial.d.ts +10 -0
- package/dist/agent-farm/commands/tutorial.d.ts.map +1 -0
- package/dist/agent-farm/commands/tutorial.js +49 -0
- package/dist/agent-farm/commands/tutorial.js.map +1 -0
- package/dist/agent-farm/commands/util.d.ts +15 -0
- package/dist/agent-farm/commands/util.d.ts.map +1 -0
- package/dist/agent-farm/commands/util.js +108 -0
- package/dist/agent-farm/commands/util.js.map +1 -0
- package/dist/agent-farm/db/errors.d.ts +17 -0
- package/dist/agent-farm/db/errors.d.ts.map +1 -0
- package/dist/agent-farm/db/errors.js +46 -0
- package/dist/agent-farm/db/errors.js.map +1 -0
- package/dist/agent-farm/db/index.d.ts +41 -0
- package/dist/agent-farm/db/index.d.ts.map +1 -0
- package/dist/agent-farm/db/index.js +168 -0
- package/dist/agent-farm/db/index.js.map +1 -0
- package/dist/agent-farm/db/migrate.d.ts +15 -0
- package/dist/agent-farm/db/migrate.d.ts.map +1 -0
- package/dist/agent-farm/db/migrate.js +137 -0
- package/dist/agent-farm/db/migrate.js.map +1 -0
- package/dist/agent-farm/db/schema.d.ts +16 -0
- package/dist/agent-farm/db/schema.d.ts.map +1 -0
- package/dist/agent-farm/db/schema.js +103 -0
- package/dist/agent-farm/db/schema.js.map +1 -0
- package/dist/agent-farm/db/types.d.ts +87 -0
- package/dist/agent-farm/db/types.d.ts.map +1 -0
- package/dist/agent-farm/db/types.js +65 -0
- package/dist/agent-farm/db/types.js.map +1 -0
- package/dist/agent-farm/index.d.ts +7 -0
- package/dist/agent-farm/index.d.ts.map +1 -0
- package/dist/agent-farm/index.js +373 -0
- package/dist/agent-farm/index.js.map +1 -0
- package/dist/agent-farm/servers/annotate-server.d.ts +9 -0
- package/dist/agent-farm/servers/annotate-server.d.ts.map +1 -0
- package/dist/agent-farm/servers/annotate-server.js +136 -0
- package/dist/agent-farm/servers/annotate-server.js.map +1 -0
- package/dist/agent-farm/servers/dashboard-server.d.ts +9 -0
- package/dist/agent-farm/servers/dashboard-server.d.ts.map +1 -0
- package/dist/agent-farm/servers/dashboard-server.js +939 -0
- package/dist/agent-farm/servers/dashboard-server.js.map +1 -0
- package/dist/agent-farm/servers/tower-server.d.ts +9 -0
- package/dist/agent-farm/servers/tower-server.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-server.js +463 -0
- package/dist/agent-farm/servers/tower-server.js.map +1 -0
- package/dist/agent-farm/state.d.ts +93 -0
- package/dist/agent-farm/state.d.ts.map +1 -0
- package/dist/agent-farm/state.js +253 -0
- package/dist/agent-farm/state.js.map +1 -0
- package/dist/agent-farm/tutorial/index.d.ts +8 -0
- package/dist/agent-farm/tutorial/index.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/index.js +8 -0
- package/dist/agent-farm/tutorial/index.js.map +1 -0
- package/dist/agent-farm/tutorial/prompts.d.ts +57 -0
- package/dist/agent-farm/tutorial/prompts.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/prompts.js +147 -0
- package/dist/agent-farm/tutorial/prompts.js.map +1 -0
- package/dist/agent-farm/tutorial/runner.d.ts +52 -0
- package/dist/agent-farm/tutorial/runner.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/runner.js +204 -0
- package/dist/agent-farm/tutorial/runner.js.map +1 -0
- package/dist/agent-farm/tutorial/state.d.ts +26 -0
- package/dist/agent-farm/tutorial/state.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/state.js +89 -0
- package/dist/agent-farm/tutorial/state.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/first-spec.js +136 -0
- package/dist/agent-farm/tutorial/steps/first-spec.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/implementation.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/implementation.js +76 -0
- package/dist/agent-farm/tutorial/steps/implementation.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/index.d.ts +10 -0
- package/dist/agent-farm/tutorial/steps/index.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/index.js +10 -0
- package/dist/agent-farm/tutorial/steps/index.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/planning.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/planning.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/planning.js +143 -0
- package/dist/agent-farm/tutorial/steps/planning.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/review.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/review.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/review.js +78 -0
- package/dist/agent-farm/tutorial/steps/review.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/setup.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/setup.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/setup.js +126 -0
- package/dist/agent-farm/tutorial/steps/setup.js.map +1 -0
- package/dist/agent-farm/tutorial/steps/welcome.d.ts +7 -0
- package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +1 -0
- package/dist/agent-farm/tutorial/steps/welcome.js +50 -0
- package/dist/agent-farm/tutorial/steps/welcome.js.map +1 -0
- package/dist/agent-farm/types.d.ts +131 -0
- package/dist/agent-farm/types.d.ts.map +1 -0
- package/dist/agent-farm/types.js +5 -0
- package/dist/agent-farm/types.js.map +1 -0
- package/dist/agent-farm/utils/config.d.ts +27 -0
- package/dist/agent-farm/utils/config.d.ts.map +1 -0
- package/dist/agent-farm/utils/config.js +242 -0
- package/dist/agent-farm/utils/config.js.map +1 -0
- package/dist/agent-farm/utils/deps.d.ts +51 -0
- package/dist/agent-farm/utils/deps.d.ts.map +1 -0
- package/dist/agent-farm/utils/deps.js +194 -0
- package/dist/agent-farm/utils/deps.js.map +1 -0
- package/dist/agent-farm/utils/index.d.ts +6 -0
- package/dist/agent-farm/utils/index.d.ts.map +1 -0
- package/dist/agent-farm/utils/index.js +6 -0
- package/dist/agent-farm/utils/index.js.map +1 -0
- package/dist/agent-farm/utils/logger.d.ts +31 -0
- package/dist/agent-farm/utils/logger.d.ts.map +1 -0
- package/dist/agent-farm/utils/logger.js +58 -0
- package/dist/agent-farm/utils/logger.js.map +1 -0
- package/dist/agent-farm/utils/orphan-handler.d.ts +27 -0
- package/dist/agent-farm/utils/orphan-handler.d.ts.map +1 -0
- package/dist/agent-farm/utils/orphan-handler.js +127 -0
- package/dist/agent-farm/utils/orphan-handler.js.map +1 -0
- package/dist/agent-farm/utils/port-registry.d.ts +58 -0
- package/dist/agent-farm/utils/port-registry.d.ts.map +1 -0
- package/dist/agent-farm/utils/port-registry.js +149 -0
- package/dist/agent-farm/utils/port-registry.js.map +1 -0
- package/dist/agent-farm/utils/shell.d.ts +45 -0
- package/dist/agent-farm/utils/shell.d.ts.map +1 -0
- package/dist/agent-farm/utils/shell.js +120 -0
- package/dist/agent-farm/utils/shell.js.map +1 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +160 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/adopt.d.ts +12 -0
- package/dist/commands/adopt.d.ts.map +1 -0
- package/dist/commands/adopt.js +178 -0
- package/dist/commands/adopt.js.map +1 -0
- package/dist/commands/consult/index.d.ts +17 -0
- package/dist/commands/consult/index.d.ts.map +1 -0
- package/dist/commands/consult/index.js +405 -0
- package/dist/commands/consult/index.js.map +1 -0
- package/dist/commands/doctor.d.ts +10 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +346 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +12 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/tower.d.ts +16 -0
- package/dist/commands/tower.d.ts.map +1 -0
- package/dist/commands/tower.js +21 -0
- package/dist/commands/tower.js.map +1 -0
- package/dist/commands/update.d.ts +13 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +137 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/lib/templates.d.ts +57 -0
- package/dist/lib/templates.d.ts.map +1 -0
- package/dist/lib/templates.js +205 -0
- package/dist/lib/templates.js.map +1 -0
- package/package.json +55 -0
- package/templates/AGENTS.md +49 -0
- package/templates/CLAUDE.md +47 -0
- package/templates/DEPENDENCIES.md +344 -0
- package/templates/agents/architecture-documenter.md +189 -0
- package/templates/agents/codev-updater.md +276 -0
- package/templates/agents/spider-protocol-updater.md +118 -0
- package/templates/annotate.html +903 -0
- package/templates/bin/agent-farm +18 -0
- package/templates/bin/annotate-server.js +140 -0
- package/templates/bin/codev-doctor +335 -0
- package/templates/builders.md +30 -0
- package/templates/config.json +7 -0
- package/templates/dashboard-split.html +1679 -0
- package/templates/dashboard.html +149 -0
- package/templates/plans/.gitkeep +0 -0
- package/templates/protocols/experiment/protocol.md +229 -0
- package/templates/protocols/experiment/templates/notes.md +97 -0
- package/templates/protocols/maintain/protocol.md +235 -0
- package/templates/protocols/spider/protocol.md +639 -0
- package/templates/protocols/spider/templates/plan.md +169 -0
- package/templates/protocols/spider/templates/review.md +207 -0
- package/templates/protocols/spider/templates/spec.md +140 -0
- package/templates/protocols/spider-solo/protocol.md +619 -0
- package/templates/protocols/spider-solo/templates/plan.md +169 -0
- package/templates/protocols/spider-solo/templates/review.md +207 -0
- package/templates/protocols/spider-solo/templates/spec.md +140 -0
- package/templates/protocols/tick/protocol.md +250 -0
- package/templates/protocols/tick/templates/plan.md +67 -0
- package/templates/protocols/tick/templates/review.md +90 -0
- package/templates/protocols/tick/templates/spec.md +61 -0
- package/templates/reviews/.gitkeep +0 -0
- package/templates/roles/architect.md +230 -0
- package/templates/roles/builder.md +175 -0
- package/templates/roles/consultant.md +27 -0
- package/templates/specs/.gitkeep +0 -0
- package/templates/templates/projectlist.md +129 -0
- package/templates/tower.html +1032 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tutorial Step 4: Planning Phase
|
|
3
|
+
* Shows how to create an implementation plan from a spec
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync } from 'node:fs';
|
|
6
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
7
|
+
import { resolve } from 'node:path';
|
|
8
|
+
import * as prompts from '../prompts.js';
|
|
9
|
+
function generatePlan(title) {
|
|
10
|
+
return `# Plan: ${title}
|
|
11
|
+
|
|
12
|
+
## Metadata
|
|
13
|
+
|
|
14
|
+
- **Spec**: codev/specs/tutorial-example.md
|
|
15
|
+
- **Protocol**: TICK
|
|
16
|
+
- **Created**: ${new Date().toISOString().split('T')[0]}
|
|
17
|
+
|
|
18
|
+
## Overview
|
|
19
|
+
|
|
20
|
+
Implementation approach for "${title}".
|
|
21
|
+
|
|
22
|
+
## Implementation Steps
|
|
23
|
+
|
|
24
|
+
### Step 1: [First task]
|
|
25
|
+
|
|
26
|
+
**Files to modify**:
|
|
27
|
+
- \`path/to/file.ts\`
|
|
28
|
+
|
|
29
|
+
**Changes**:
|
|
30
|
+
- [Describe what to do]
|
|
31
|
+
|
|
32
|
+
### Step 2: [Second task]
|
|
33
|
+
|
|
34
|
+
**Files to modify**:
|
|
35
|
+
- \`path/to/another-file.ts\`
|
|
36
|
+
|
|
37
|
+
**Changes**:
|
|
38
|
+
- [Describe what to do]
|
|
39
|
+
|
|
40
|
+
### Step 3: Testing
|
|
41
|
+
|
|
42
|
+
- [ ] Write unit tests
|
|
43
|
+
- [ ] Manual testing
|
|
44
|
+
- [ ] Update documentation
|
|
45
|
+
|
|
46
|
+
## Risks
|
|
47
|
+
|
|
48
|
+
| Risk | Mitigation |
|
|
49
|
+
|------|------------|
|
|
50
|
+
| [Risk 1] | [How to handle it] |
|
|
51
|
+
|
|
52
|
+
## Testing Checklist
|
|
53
|
+
|
|
54
|
+
- [ ] Feature works as specified
|
|
55
|
+
- [ ] Edge cases handled
|
|
56
|
+
- [ ] No regressions
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
*Created via Agent Farm tutorial*
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
export const planningStep = {
|
|
64
|
+
id: 'planning',
|
|
65
|
+
title: 'Create an Implementation Plan',
|
|
66
|
+
async run(ctx) {
|
|
67
|
+
prompts.content('Now let\'s create a plan for your spec!\n');
|
|
68
|
+
prompts.content('A plan describes HOW you\'ll implement the spec.');
|
|
69
|
+
prompts.content('It breaks the work into concrete, actionable steps.\n');
|
|
70
|
+
prompts.content('Good plans include:');
|
|
71
|
+
prompts.bullet('Specific files to create or modify');
|
|
72
|
+
prompts.bullet('Step-by-step implementation order');
|
|
73
|
+
prompts.bullet('Testing strategy');
|
|
74
|
+
prompts.bullet('Potential risks and mitigations');
|
|
75
|
+
console.log();
|
|
76
|
+
// Check if spec exists
|
|
77
|
+
const specPath = resolve(ctx.projectPath, 'codev', 'specs', 'tutorial-example.md');
|
|
78
|
+
let specTitle = ctx.state.userResponses.specTitle || 'Tutorial Task';
|
|
79
|
+
if (existsSync(specPath)) {
|
|
80
|
+
try {
|
|
81
|
+
const specContent = await readFile(specPath, 'utf-8');
|
|
82
|
+
const titleMatch = specContent.match(/^#\s+Specification:\s+(.+)$/m);
|
|
83
|
+
if (titleMatch) {
|
|
84
|
+
specTitle = titleMatch[1];
|
|
85
|
+
}
|
|
86
|
+
prompts.success(`Found your spec: "${specTitle}"`);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Use default
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
prompts.info('No spec found at codev/specs/tutorial-example.md');
|
|
94
|
+
prompts.content('We\'ll create an example plan anyway.\n');
|
|
95
|
+
}
|
|
96
|
+
// Explain TICK vs SPIDER
|
|
97
|
+
prompts.content('\nChoosing a Protocol:\n');
|
|
98
|
+
prompts.content('TICK (fast protocol):');
|
|
99
|
+
prompts.bullet('For small, well-defined tasks');
|
|
100
|
+
prompts.bullet('< 300 lines of code');
|
|
101
|
+
prompts.bullet('Straightforward implementation');
|
|
102
|
+
console.log();
|
|
103
|
+
prompts.content('SPIDER (full protocol):');
|
|
104
|
+
prompts.bullet('For complex features');
|
|
105
|
+
prompts.bullet('Multiple phases with reviews');
|
|
106
|
+
prompts.bullet('Multi-agent consultation');
|
|
107
|
+
console.log();
|
|
108
|
+
prompts.info(`For "${specTitle}", TICK is probably the right choice.`);
|
|
109
|
+
console.log();
|
|
110
|
+
// Generate and show plan
|
|
111
|
+
const planContent = generatePlan(specTitle);
|
|
112
|
+
prompts.content('Here\'s a plan template:\n');
|
|
113
|
+
prompts.code(planContent.slice(0, 600) + '...');
|
|
114
|
+
console.log();
|
|
115
|
+
const shouldSave = await prompts.confirm('Save this plan to codev/plans/tutorial-example.md?');
|
|
116
|
+
if (shouldSave) {
|
|
117
|
+
const plansDir = resolve(ctx.projectPath, 'codev', 'plans');
|
|
118
|
+
const planPath = resolve(plansDir, 'tutorial-example.md');
|
|
119
|
+
try {
|
|
120
|
+
if (!existsSync(plansDir)) {
|
|
121
|
+
const { mkdirSync } = await import('node:fs');
|
|
122
|
+
mkdirSync(plansDir, { recursive: true });
|
|
123
|
+
}
|
|
124
|
+
await writeFile(planPath, planContent);
|
|
125
|
+
prompts.success(`Saved to codev/plans/tutorial-example.md`);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
prompts.warn(`Failed to save: ${error instanceof Error ? error.message : String(error)}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
console.log();
|
|
132
|
+
prompts.content('Multi-Agent Consultation:\n');
|
|
133
|
+
prompts.content('For complex features, SPIDER protocol includes multi-agent review.');
|
|
134
|
+
prompts.content('This means getting input from multiple AI models (e.g., Claude, Gemini, GPT)');
|
|
135
|
+
prompts.content('to catch blind spots and consider alternatives.');
|
|
136
|
+
console.log();
|
|
137
|
+
prompts.info('See codev/protocols/ for details on consultation workflows.');
|
|
138
|
+
console.log();
|
|
139
|
+
await prompts.pressEnter();
|
|
140
|
+
return { status: 'completed' };
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=planning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/review.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,cAAc,CAAC;AAGlE,eAAO,MAAM,UAAU,EAAE,IAkFxB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tutorial Step 6: Review & Next Steps
|
|
3
|
+
* Covers the review process and points to further resources
|
|
4
|
+
*/
|
|
5
|
+
import * as prompts from '../prompts.js';
|
|
6
|
+
export const reviewStep = {
|
|
7
|
+
id: 'review',
|
|
8
|
+
title: 'Review & Next Steps',
|
|
9
|
+
async run(ctx) {
|
|
10
|
+
prompts.content('The final step in any project is the review!\n');
|
|
11
|
+
prompts.content('A review documents what you learned and what could be improved.\n');
|
|
12
|
+
prompts.content('Review documents typically include:');
|
|
13
|
+
prompts.bullet('What went well');
|
|
14
|
+
prompts.bullet('What could be improved');
|
|
15
|
+
prompts.bullet('Lessons learned for future work');
|
|
16
|
+
prompts.bullet('Updates to make to protocols or documentation');
|
|
17
|
+
console.log();
|
|
18
|
+
// Annotation viewer
|
|
19
|
+
prompts.content('The Annotation Viewer\n');
|
|
20
|
+
prompts.content('Agent Farm includes an annotation viewer for reviewing code:\n');
|
|
21
|
+
prompts.code(`# Open a file for annotation
|
|
22
|
+
af open src/path/to/file.ts
|
|
23
|
+
|
|
24
|
+
# This opens a web viewer where you can:
|
|
25
|
+
# - See the code with syntax highlighting
|
|
26
|
+
# - Add review comments to specific lines
|
|
27
|
+
# - Edit the file directly`);
|
|
28
|
+
console.log();
|
|
29
|
+
prompts.content('Review comments are stored in the files:');
|
|
30
|
+
prompts.code(`// REVIEW(@architect): Consider error handling here
|
|
31
|
+
// REVIEW(@builder): Fixed - added try/catch`);
|
|
32
|
+
console.log();
|
|
33
|
+
// Project tracking
|
|
34
|
+
prompts.content('Project Tracking\n');
|
|
35
|
+
prompts.content('Keep track of your projects in codev/projectlist.md:');
|
|
36
|
+
prompts.bullet('Lists all specs with their status');
|
|
37
|
+
prompts.bullet('Shows dependencies between projects');
|
|
38
|
+
prompts.bullet('Tracks what\'s in progress vs completed');
|
|
39
|
+
console.log();
|
|
40
|
+
// Resources
|
|
41
|
+
prompts.content('Where to Learn More\n');
|
|
42
|
+
prompts.bullet('CLAUDE.md / AGENTS.md - Project-specific AI instructions');
|
|
43
|
+
prompts.bullet('codev/protocols/ - Full protocol documentation');
|
|
44
|
+
prompts.bullet('codev/resources/arch.md - Architecture documentation');
|
|
45
|
+
prompts.bullet('`af --help` - All available CLI commands');
|
|
46
|
+
console.log();
|
|
47
|
+
// Quick reference
|
|
48
|
+
prompts.content('Quick Reference:\n');
|
|
49
|
+
prompts.code(`# Essential commands
|
|
50
|
+
af start # Start architect dashboard
|
|
51
|
+
af spawn -p 0001 # Spawn builder for spec
|
|
52
|
+
af status # Check agent status
|
|
53
|
+
af open <file> # Open annotation viewer
|
|
54
|
+
af tutorial --status # Check tutorial progress
|
|
55
|
+
af tutorial --reset # Reset tutorial
|
|
56
|
+
|
|
57
|
+
# Workflow
|
|
58
|
+
1. Write spec in codev/specs/
|
|
59
|
+
2. Create plan in codev/plans/
|
|
60
|
+
3. Implement (TICK or Builder)
|
|
61
|
+
4. Review and document lessons
|
|
62
|
+
5. Update projectlist.md`);
|
|
63
|
+
console.log();
|
|
64
|
+
await prompts.pressEnter();
|
|
65
|
+
// Final message
|
|
66
|
+
prompts.content('\nYou\'ve completed the Agent Farm tutorial!\n');
|
|
67
|
+
prompts.content('Remember:');
|
|
68
|
+
prompts.bullet('Start small - use TICK for simple tasks');
|
|
69
|
+
prompts.bullet('Document as you go - specs and plans save time');
|
|
70
|
+
prompts.bullet('Review your work - lessons learned improve future work');
|
|
71
|
+
prompts.bullet('Use the dashboard - it makes managing builders easier');
|
|
72
|
+
console.log();
|
|
73
|
+
prompts.success('Happy building!');
|
|
74
|
+
console.log();
|
|
75
|
+
return { status: 'completed' };
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/review.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,qBAAqB;IAE5B,KAAK,CAAC,GAAG,CAAC,GAAgB;QACxB,OAAO,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;QAErF,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,oBAAoB;QACpB,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC;;;;;;2BAMU,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC;6CAC4B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,mBAAmB;QACnB,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,YAAY;QACZ,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC;QAC3E,OAAO,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,kBAAkB;QAClB,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;yBAaQ,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAE3B,gBAAgB;QAChB,OAAO,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,cAAc,CAAC;AA8ClE,eAAO,MAAM,SAAS,EAAE,IAyFvB,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tutorial Step 2: Setup Phase
|
|
3
|
+
* Creates codev directory structure and explains it
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
6
|
+
import { writeFile } from 'node:fs/promises';
|
|
7
|
+
import { resolve } from 'node:path';
|
|
8
|
+
import * as prompts from '../prompts.js';
|
|
9
|
+
const AGENTS_MD_TEMPLATE = `# AI Agent Instructions
|
|
10
|
+
|
|
11
|
+
This file provides instructions to AI coding assistants working on this project.
|
|
12
|
+
|
|
13
|
+
## Project Overview
|
|
14
|
+
|
|
15
|
+
[Describe your project here]
|
|
16
|
+
|
|
17
|
+
## Development Workflow
|
|
18
|
+
|
|
19
|
+
This project uses Codev for structured AI-assisted development:
|
|
20
|
+
|
|
21
|
+
- **Specifications** (codev/specs/): What to build
|
|
22
|
+
- **Plans** (codev/plans/): How to build it
|
|
23
|
+
- **Reviews** (codev/reviews/): Lessons learned
|
|
24
|
+
|
|
25
|
+
## Available Protocols
|
|
26
|
+
|
|
27
|
+
- **TICK**: Fast protocol for small, well-defined tasks
|
|
28
|
+
- **SPIDER**: Full protocol with consultation for complex features
|
|
29
|
+
|
|
30
|
+
## Getting Started
|
|
31
|
+
|
|
32
|
+
1. Check \`codev/projectlist.md\` for current project status
|
|
33
|
+
2. Run \`af tutorial\` if you're new to the project
|
|
34
|
+
3. See \`codev/protocols/\` for detailed protocol documentation
|
|
35
|
+
`;
|
|
36
|
+
const PROJECTLIST_TEMPLATE = `# Project List
|
|
37
|
+
|
|
38
|
+
Track all projects and their status here.
|
|
39
|
+
|
|
40
|
+
## Active Projects
|
|
41
|
+
|
|
42
|
+
\`\`\`yaml
|
|
43
|
+
projects: []
|
|
44
|
+
\`\`\`
|
|
45
|
+
|
|
46
|
+
## Next Available Number
|
|
47
|
+
|
|
48
|
+
**0001** - Reserve this number for your next project
|
|
49
|
+
`;
|
|
50
|
+
export const setupStep = {
|
|
51
|
+
id: 'setup',
|
|
52
|
+
title: 'Project Setup',
|
|
53
|
+
async run(ctx) {
|
|
54
|
+
if (ctx.hasCodev) {
|
|
55
|
+
prompts.success('Codev is already set up in this project!');
|
|
56
|
+
console.log();
|
|
57
|
+
prompts.content('Your codev directory structure:');
|
|
58
|
+
prompts.bullet('codev/specs/ - Feature specifications');
|
|
59
|
+
prompts.bullet('codev/plans/ - Implementation plans');
|
|
60
|
+
prompts.bullet('codev/reviews/ - Post-implementation reviews');
|
|
61
|
+
prompts.bullet('codev/protocols/ - Development protocols');
|
|
62
|
+
prompts.bullet('codev/projectlist.md - Project tracking');
|
|
63
|
+
console.log();
|
|
64
|
+
await prompts.pressEnter();
|
|
65
|
+
return { status: 'completed' };
|
|
66
|
+
}
|
|
67
|
+
prompts.content('Let\'s set up the Codev directory structure.\n');
|
|
68
|
+
prompts.content('This will create:');
|
|
69
|
+
prompts.bullet('codev/specs/ - Where you\'ll write feature specifications');
|
|
70
|
+
prompts.bullet('codev/plans/ - Where implementation plans go');
|
|
71
|
+
prompts.bullet('codev/reviews/ - Where you\'ll document lessons learned');
|
|
72
|
+
prompts.bullet('codev/projectlist.md - Master project tracking file');
|
|
73
|
+
console.log();
|
|
74
|
+
const shouldCreate = await prompts.confirm('Create these directories?');
|
|
75
|
+
if (!shouldCreate) {
|
|
76
|
+
prompts.info('You can manually create the codev/ directory later.');
|
|
77
|
+
return { status: 'skipped' };
|
|
78
|
+
}
|
|
79
|
+
// Create directories
|
|
80
|
+
const codevDir = resolve(ctx.projectPath, 'codev');
|
|
81
|
+
const dirs = ['specs', 'plans', 'reviews', 'protocols', 'resources'];
|
|
82
|
+
try {
|
|
83
|
+
if (!existsSync(codevDir)) {
|
|
84
|
+
mkdirSync(codevDir, { recursive: true });
|
|
85
|
+
}
|
|
86
|
+
for (const dir of dirs) {
|
|
87
|
+
const dirPath = resolve(codevDir, dir);
|
|
88
|
+
if (!existsSync(dirPath)) {
|
|
89
|
+
mkdirSync(dirPath, { recursive: true });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Create projectlist.md
|
|
93
|
+
const projectlistPath = resolve(codevDir, 'projectlist.md');
|
|
94
|
+
if (!existsSync(projectlistPath)) {
|
|
95
|
+
await writeFile(projectlistPath, PROJECTLIST_TEMPLATE);
|
|
96
|
+
}
|
|
97
|
+
// Create CLAUDE.md / AGENTS.md if they don't exist
|
|
98
|
+
const claudeMdPath = resolve(ctx.projectPath, 'CLAUDE.md');
|
|
99
|
+
const agentsMdPath = resolve(ctx.projectPath, 'AGENTS.md');
|
|
100
|
+
if (!existsSync(claudeMdPath) && !existsSync(agentsMdPath)) {
|
|
101
|
+
await writeFile(agentsMdPath, AGENTS_MD_TEMPLATE);
|
|
102
|
+
prompts.success('Created AGENTS.md with project instructions');
|
|
103
|
+
}
|
|
104
|
+
prompts.success('Created codev/ directory structure');
|
|
105
|
+
console.log();
|
|
106
|
+
prompts.content('Directory structure:');
|
|
107
|
+
prompts.code(`codev/
|
|
108
|
+
├── specs/ # Feature specifications
|
|
109
|
+
├── plans/ # Implementation plans
|
|
110
|
+
├── reviews/ # Post-implementation reviews
|
|
111
|
+
├── protocols/ # Development protocols
|
|
112
|
+
├── resources/ # Reference materials
|
|
113
|
+
└── projectlist.md`);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
prompts.warn(`Failed to create directories: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
|
+
return { status: 'aborted' };
|
|
118
|
+
}
|
|
119
|
+
console.log();
|
|
120
|
+
prompts.info('Tip: Add AGENTS.md to version control so AI assistants can read it.');
|
|
121
|
+
console.log();
|
|
122
|
+
await prompts.pressEnter();
|
|
123
|
+
return { status: 'completed' };
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/welcome.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,cAAc,CAAC;AAGlE,eAAO,MAAM,WAAW,EAAE,IAkDzB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tutorial Step 1: Welcome & Project Detection
|
|
3
|
+
* Introduces Codev/Agent Farm and detects the project environment
|
|
4
|
+
*/
|
|
5
|
+
import * as prompts from '../prompts.js';
|
|
6
|
+
export const welcomeStep = {
|
|
7
|
+
id: 'welcome',
|
|
8
|
+
title: 'Welcome & Project Detection',
|
|
9
|
+
async run(ctx) {
|
|
10
|
+
prompts.content('Welcome to Agent Farm! This tutorial will help you get started');
|
|
11
|
+
prompts.content('with structured AI-assisted development.\n');
|
|
12
|
+
// Show what we detected
|
|
13
|
+
prompts.content('About your project:');
|
|
14
|
+
prompts.bullet(`Project: ${ctx.projectName}`);
|
|
15
|
+
prompts.bullet(`Type: ${ctx.projectType === 'other' ? 'Unknown' : ctx.projectType}`);
|
|
16
|
+
prompts.bullet(`Git repository: ${ctx.hasGit ? 'Yes' : 'No'}`);
|
|
17
|
+
prompts.bullet(`Codev initialized: ${ctx.hasCodev ? 'Yes' : 'No'}`);
|
|
18
|
+
console.log();
|
|
19
|
+
// Warn if not in a git repo
|
|
20
|
+
if (!ctx.hasGit) {
|
|
21
|
+
prompts.warn('This directory is not a git repository.');
|
|
22
|
+
prompts.content('Codev works best with git for version control and worktrees.');
|
|
23
|
+
console.log();
|
|
24
|
+
const shouldContinue = await prompts.confirm('Continue anyway?');
|
|
25
|
+
if (!shouldContinue) {
|
|
26
|
+
prompts.info('Run `git init` to initialize a repository, then run `af tutorial` again.');
|
|
27
|
+
return { status: 'aborted' };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Explain what Codev/Agent Farm is
|
|
31
|
+
prompts.content('\nWhat is Agent Farm?\n');
|
|
32
|
+
prompts.content('Agent Farm helps you work with AI coding assistants more effectively by:');
|
|
33
|
+
prompts.bullet('Organizing work into specs, plans, and reviews');
|
|
34
|
+
prompts.bullet('Using structured protocols (SPIDER, TICK) for development');
|
|
35
|
+
prompts.bullet('Enabling the Architect/Builder pattern for parallel work');
|
|
36
|
+
prompts.bullet('Maintaining project context and documentation');
|
|
37
|
+
console.log();
|
|
38
|
+
prompts.content('Key concepts:');
|
|
39
|
+
prompts.bullet('Spec: What you want to build (the goal)');
|
|
40
|
+
prompts.bullet('Plan: How you\'ll build it (the approach)');
|
|
41
|
+
prompts.bullet('Review: What you learned (lessons and improvements)');
|
|
42
|
+
console.log();
|
|
43
|
+
const ready = await prompts.confirm('Ready to set up Codev in your project?');
|
|
44
|
+
if (!ready) {
|
|
45
|
+
return { status: 'aborted' };
|
|
46
|
+
}
|
|
47
|
+
return { status: 'completed' };
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=welcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../../../src/agent-farm/tutorial/steps/welcome.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,6BAA6B;IAEpC,KAAK,CAAC,GAAG,CAAC,GAAgB;QACxB,OAAO,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAE9D,wBAAwB;QACxB,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,4BAA4B;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;gBACzF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC;QAC3E,OAAO,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Agent Farm
|
|
3
|
+
*/
|
|
4
|
+
export type BuilderType = 'spec' | 'task' | 'protocol' | 'shell' | 'worktree';
|
|
5
|
+
export interface Builder {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
port: number;
|
|
9
|
+
pid: number;
|
|
10
|
+
status: 'spawning' | 'implementing' | 'blocked' | 'pr-ready' | 'complete';
|
|
11
|
+
phase: string;
|
|
12
|
+
worktree: string;
|
|
13
|
+
branch: string;
|
|
14
|
+
tmuxSession?: string;
|
|
15
|
+
type: BuilderType;
|
|
16
|
+
taskText?: string;
|
|
17
|
+
protocolName?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface UtilTerminal {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
port: number;
|
|
23
|
+
pid: number;
|
|
24
|
+
tmuxSession?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Annotation {
|
|
27
|
+
id: string;
|
|
28
|
+
file: string;
|
|
29
|
+
port: number;
|
|
30
|
+
pid: number;
|
|
31
|
+
parent: {
|
|
32
|
+
type: 'architect' | 'builder' | 'util';
|
|
33
|
+
id?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface ArchitectState {
|
|
37
|
+
port: number;
|
|
38
|
+
pid: number;
|
|
39
|
+
cmd: string;
|
|
40
|
+
startedAt: string;
|
|
41
|
+
tmuxSession?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface DashboardState {
|
|
44
|
+
architect: ArchitectState | null;
|
|
45
|
+
builders: Builder[];
|
|
46
|
+
utils: UtilTerminal[];
|
|
47
|
+
annotations: Annotation[];
|
|
48
|
+
}
|
|
49
|
+
export interface Config {
|
|
50
|
+
projectRoot: string;
|
|
51
|
+
codevDir: string;
|
|
52
|
+
buildersDir: string;
|
|
53
|
+
stateDir: string;
|
|
54
|
+
templatesDir: string;
|
|
55
|
+
serversDir: string;
|
|
56
|
+
bundledRolesDir: string;
|
|
57
|
+
dashboardPort: number;
|
|
58
|
+
architectPort: number;
|
|
59
|
+
builderPortRange: [number, number];
|
|
60
|
+
utilPortRange: [number, number];
|
|
61
|
+
annotatePortRange: [number, number];
|
|
62
|
+
}
|
|
63
|
+
export interface TmuxSession {
|
|
64
|
+
name: string;
|
|
65
|
+
pid: number;
|
|
66
|
+
}
|
|
67
|
+
export interface StartOptions {
|
|
68
|
+
cmd?: string;
|
|
69
|
+
port?: number;
|
|
70
|
+
noRole?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface SpawnOptions {
|
|
73
|
+
project?: string;
|
|
74
|
+
task?: string;
|
|
75
|
+
protocol?: string;
|
|
76
|
+
shell?: boolean;
|
|
77
|
+
worktree?: boolean;
|
|
78
|
+
files?: string[];
|
|
79
|
+
noRole?: boolean;
|
|
80
|
+
instruction?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface SendOptions {
|
|
83
|
+
builder?: string;
|
|
84
|
+
message?: string;
|
|
85
|
+
all?: boolean;
|
|
86
|
+
file?: string;
|
|
87
|
+
interrupt?: boolean;
|
|
88
|
+
raw?: boolean;
|
|
89
|
+
noEnter?: boolean;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* User-facing config.json structure
|
|
93
|
+
*/
|
|
94
|
+
export interface UserConfig {
|
|
95
|
+
shell?: {
|
|
96
|
+
architect?: string | string[];
|
|
97
|
+
builder?: string | string[];
|
|
98
|
+
shell?: string | string[];
|
|
99
|
+
};
|
|
100
|
+
templates?: {
|
|
101
|
+
dir?: string;
|
|
102
|
+
};
|
|
103
|
+
roles?: {
|
|
104
|
+
dir?: string;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolved shell commands (after processing config hierarchy)
|
|
109
|
+
*/
|
|
110
|
+
export interface ResolvedCommands {
|
|
111
|
+
architect: string;
|
|
112
|
+
builder: string;
|
|
113
|
+
shell: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Tutorial state for interactive onboarding
|
|
117
|
+
*/
|
|
118
|
+
export interface TutorialState {
|
|
119
|
+
projectPath: string;
|
|
120
|
+
currentStep: string;
|
|
121
|
+
completedSteps: string[];
|
|
122
|
+
userResponses: Record<string, string>;
|
|
123
|
+
startedAt: string;
|
|
124
|
+
lastActiveAt: string;
|
|
125
|
+
}
|
|
126
|
+
export interface TutorialOptions {
|
|
127
|
+
reset?: boolean;
|
|
128
|
+
skip?: boolean;
|
|
129
|
+
status?: boolean;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-farm/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;QACvC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-farm/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration management for Agent Farm
|
|
3
|
+
*/
|
|
4
|
+
import type { Config, ResolvedCommands } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Set CLI overrides for commands
|
|
7
|
+
* These take highest priority in the hierarchy
|
|
8
|
+
*/
|
|
9
|
+
export declare function setCliOverrides(overrides: Partial<ResolvedCommands>): void;
|
|
10
|
+
/**
|
|
11
|
+
* Get resolved commands following hierarchy: CLI > config.json > defaults
|
|
12
|
+
*/
|
|
13
|
+
export declare function getResolvedCommands(projectRoot?: string): ResolvedCommands;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize port allocation (must be called once at startup)
|
|
16
|
+
*/
|
|
17
|
+
export declare function initializePorts(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Build configuration for the current project
|
|
20
|
+
* Note: initializePorts() must be called before using this function
|
|
21
|
+
*/
|
|
22
|
+
export declare function getConfig(): Config;
|
|
23
|
+
/**
|
|
24
|
+
* Ensure required directories exist
|
|
25
|
+
*/
|
|
26
|
+
export declare function ensureDirectories(config: Config): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAc,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA+KxE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAY1E;AAWD;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAUtC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CA6BlC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}
|