vralphy 0.0.4 → 0.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/README.md CHANGED
@@ -39,10 +39,12 @@ npx vralphy init
39
39
 
40
40
  This creates:
41
41
  - `specs/` - Feature specifications directory
42
- - `AGENTS.md` - Operational guide (build/test commands)
42
+ - `AGENTS.md` - **AI-generated** operational guide (build/test commands)
43
43
  - `.vralphy/prompts/` - Prompt templates (plan.md, build.md, spec.md)
44
44
  - `IMPLEMENTATION_PLAN.md` - Task tracking
45
45
 
46
+ **AI-Powered Init:** When an AI engine (claude/opencode/codex) is available, `vralphy init` uses AI to analyze your project and generate a smart, project-specific AGENTS.md. Falls back to template-based generation if no engine is found.
47
+
46
48
  2. **Create specifications:**
47
49
  ```bash
48
50
  vralphy spec authentication
@@ -72,7 +74,17 @@ npx vralphy init
72
74
  vralphy build [iterations] # Build mode (default: unlimited)
73
75
  vralphy plan [iterations] # Plan mode
74
76
  vralphy spec [topic] # Interactive spec creation
75
- vralphy init # Initialize project
77
+ vralphy init # Initialize project (AI-powered)
78
+ ```
79
+
80
+ ### Init Command Options
81
+
82
+ ```bash
83
+ vralphy init # AI-powered init (default)
84
+ vralphy init --no-ai # Skip AI, use template fallback
85
+ vralphy init --approve # Review AGENTS.md before saving
86
+ vralphy init --engine codex # Use specific engine for AI generation
87
+ vralphy init --from /path/to/dir # Initialize from different directory
76
88
  ```
77
89
 
78
90
  ### Utility Commands
@@ -86,7 +98,7 @@ vralphy agents # List available agents
86
98
  ### Global Flags
87
99
 
88
100
  ```bash
89
- --engine <engine> # claude or opencode (default: claude)
101
+ --engine <engine> # claude, opencode, or codex (default: claude)
90
102
  --model <model> # Primary model: opus, sonnet, haiku (default: opus)
91
103
  --executor <model> # Executor model for subagents (default: sonnet)
92
104
  --skills <path> # Skills directory (default: auto-detect)
@@ -157,7 +169,12 @@ vralphy --engine claude --model opus build
157
169
  vralphy --engine opencode build
158
170
  ```
159
171
 
160
- Engines auto-detected on startup. Install `claude` or `opencode` CLI tools.
172
+ **Codex Engine**:
173
+ ```bash
174
+ vralphy --engine codex build
175
+ ```
176
+
177
+ Engines auto-detected on startup. Install `claude`, `opencode`, or `codex` CLI tools.
161
178
 
162
179
  ### 4. Model Selection
163
180
 
@@ -183,6 +200,7 @@ vralphy --model opus --executor sonnet build
183
200
  |----------|---------------------|---------------------|
184
201
  | Claude | `.claude/skills/` | `.claude/agents/` |
185
202
  | OpenCode | `.opencode/skills/` | `.opencode/agents/` |
203
+ | Codex | `.codex/skills/` | `.codex/agents/` |
186
204
 
187
205
  **When the agent loads a skill:**
188
206
  - Current task requires domain-specific knowledge
@@ -1,8 +1,12 @@
1
- export interface InitOptions {
1
+ export interface InitCommandOptions {
2
2
  from?: string;
3
+ noAi?: boolean;
4
+ approve?: boolean;
5
+ engine?: string;
6
+ verbose?: boolean;
3
7
  }
4
8
  /**
5
9
  * Execute init command
6
10
  */
7
- export declare function initCommand(options: InitOptions): Promise<void>;
11
+ export declare function initCommand(options: InitCommandOptions): Promise<void>;
8
12
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmBD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D5E"}
@@ -1,23 +1,63 @@
1
+ import { createInterface } from 'readline';
1
2
  import { initProject } from '../lib/init.js';
3
+ /**
4
+ * Prompt user for confirmation
5
+ */
6
+ async function confirm(message) {
7
+ const rl = createInterface({
8
+ input: process.stdin,
9
+ output: process.stdout,
10
+ });
11
+ return new Promise((resolve) => {
12
+ rl.question(`${message} [y/N] `, (answer) => {
13
+ rl.close();
14
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
15
+ });
16
+ });
17
+ }
2
18
  /**
3
19
  * Execute init command
4
20
  */
5
21
  export async function initCommand(options) {
6
22
  const dir = options.from ?? process.cwd();
7
23
  console.log(`Initializing vralphy in: ${dir}`);
24
+ // Build init options
25
+ const initOptions = {
26
+ noAi: options.noAi,
27
+ approve: options.approve,
28
+ verbose: options.verbose,
29
+ };
30
+ // Validate engine if specified
31
+ if (options.engine) {
32
+ const validEngines = ['claude', 'opencode', 'codex'];
33
+ if (!validEngines.includes(options.engine)) {
34
+ console.error(`Invalid engine: ${options.engine}. Valid options: ${validEngines.join(', ')}`);
35
+ process.exit(1);
36
+ }
37
+ initOptions.engine = options.engine;
38
+ }
8
39
  try {
9
- const { created, skipped } = await initProject(dir);
10
- if (created.length > 0) {
11
- console.log('\nCreated:');
12
- for (const file of created) {
13
- console.log(` + ${file}`);
40
+ // If --approve flag is set, we need to handle the approval flow
41
+ if (options.approve && !options.noAi) {
42
+ // First run with approve mode - AI generates but we need to confirm
43
+ const result = await initProject(dir, { ...initOptions, approve: true });
44
+ if (result.agentsMdContent) {
45
+ console.log('\n--- Generated AGENTS.md Preview ---\n');
46
+ console.log(result.agentsMdContent);
47
+ console.log('\n--- End Preview ---\n');
48
+ const approved = await confirm('Save this AGENTS.md?');
49
+ if (!approved) {
50
+ console.log('Initialization cancelled.');
51
+ process.exit(0);
52
+ }
14
53
  }
54
+ // Report results
55
+ reportResults(result.created, result.skipped);
15
56
  }
16
- if (skipped.length > 0) {
17
- console.log('\nSkipped (already exist):');
18
- for (const file of skipped) {
19
- console.log(` - ${file}`);
20
- }
57
+ else {
58
+ // Normal flow (no approval needed)
59
+ const { created, skipped } = await initProject(dir, initOptions);
60
+ reportResults(created, skipped);
21
61
  }
22
62
  console.log('\nInitialization complete!');
23
63
  console.log('\nNext steps:');
@@ -31,4 +71,21 @@ export async function initCommand(options) {
31
71
  process.exit(1);
32
72
  }
33
73
  }
74
+ /**
75
+ * Report created and skipped files
76
+ */
77
+ function reportResults(created, skipped) {
78
+ if (created.length > 0) {
79
+ console.log('\nCreated:');
80
+ for (const file of created) {
81
+ console.log(` + ${file}`);
82
+ }
83
+ }
84
+ if (skipped.length > 0) {
85
+ console.log('\nSkipped (already exist):');
86
+ for (const file of skipped) {
87
+ console.log(` - ${file}`);
88
+ }
89
+ }
90
+ }
34
91
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ program
15
15
  .description('CLI tool implementing the Ralph Playbook methodology')
16
16
  .version('0.0.1');
17
17
  program
18
- .option('--engine <engine>', 'Engine selection (claude|opencode)', 'claude')
18
+ .option('--engine <engine>', 'Engine selection (claude|opencode|codex)', 'claude')
19
19
  .option('--model <model>', 'Primary model (default: opus)', 'opus')
20
20
  .option('--executor <model>', 'Executor/subagent model (default: sonnet)', 'sonnet')
21
21
  .option('--skills <path>', 'Skills directory')
@@ -51,8 +51,14 @@ program
51
51
  .command('init')
52
52
  .description('Initialize project for vralphy')
53
53
  .option('--from <path>', 'Initialize from existing project')
54
+ .option('--no-ai', 'Skip AI generation, use template fallback')
55
+ .option('--approve', 'Review AGENTS.md before saving')
56
+ .option('--engine <engine>', 'Specify engine for AI generation (claude|opencode|codex)')
54
57
  .action(async (cmdOpts) => {
55
- await initCommand(cmdOpts);
58
+ const globalOpts = program.opts();
59
+ // Commander parses --no-ai as ai: false, so we convert to noAi: true
60
+ const noAi = cmdOpts.ai === false;
61
+ await initCommand({ ...cmdOpts, noAi, verbose: globalOpts.verbose });
56
62
  });
57
63
  program
58
64
  .command('engines')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA4BD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAerF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAgBxE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA4BD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAerF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAgBxE"}
@@ -52,6 +52,7 @@ export function getSkillsDir(engine, customPath) {
52
52
  const engineDirs = {
53
53
  claude: '.claude/skills',
54
54
  opencode: '.opencode/skills',
55
+ codex: '.codex/skills',
55
56
  };
56
57
  const engineDir = engineDirs[engine];
57
58
  if (existsSync(engineDir))
@@ -69,6 +70,7 @@ export function getAgentsDir(engine, customPath) {
69
70
  const engineDirs = {
70
71
  claude: '.claude/agents',
71
72
  opencode: '.opencode/agents',
73
+ codex: '.codex/agents',
72
74
  };
73
75
  const engineDir = engineDirs[engine];
74
76
  if (existsSync(engineDir))
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface ProjectContext {
2
+ buildSystem: 'node' | 'rust' | 'go' | 'python' | 'unknown';
3
+ packageJson?: {
4
+ name: string;
5
+ scripts: Record<string, string>;
6
+ };
7
+ cargoToml?: {
8
+ name: string;
9
+ };
10
+ goMod?: {
11
+ module: string;
12
+ };
13
+ existingDocs: {
14
+ claudeMd?: string;
15
+ agentsMd?: string;
16
+ cursorRules?: string;
17
+ readme?: string;
18
+ };
19
+ srcStructure?: string;
20
+ }
21
+ /**
22
+ * Gather project context for AI-powered init
23
+ */
24
+ export declare function gatherProjectContext(dir: string): Promise<ProjectContext>;
25
+ /**
26
+ * Format project context for the AI prompt
27
+ */
28
+ export declare function formatContextForPrompt(ctx: ProjectContext): string;
29
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/lib/context.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3D,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyCD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA6E/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA2DlE"}
@@ -0,0 +1,175 @@
1
+ import { readFile } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { spawn } from 'child_process';
5
+ /**
6
+ * Read file content with optional truncation
7
+ */
8
+ async function readFileTruncated(path, maxChars) {
9
+ if (!existsSync(path))
10
+ return undefined;
11
+ try {
12
+ const content = await readFile(path, 'utf-8');
13
+ return content.slice(0, maxChars);
14
+ }
15
+ catch {
16
+ return undefined;
17
+ }
18
+ }
19
+ /**
20
+ * Get directory listing, limited to maxLines
21
+ */
22
+ async function getDirStructure(dir, maxLines) {
23
+ if (!existsSync(dir))
24
+ return undefined;
25
+ return new Promise((resolve) => {
26
+ const child = spawn('ls', ['-la', '--color=never'], { cwd: dir });
27
+ let output = '';
28
+ child.stdout.on('data', (data) => {
29
+ output += data.toString();
30
+ });
31
+ child.on('close', () => {
32
+ const lines = output.split('\n').slice(0, maxLines);
33
+ resolve(lines.join('\n'));
34
+ });
35
+ child.on('error', () => {
36
+ resolve(undefined);
37
+ });
38
+ });
39
+ }
40
+ /**
41
+ * Gather project context for AI-powered init
42
+ */
43
+ export async function gatherProjectContext(dir) {
44
+ const context = {
45
+ buildSystem: 'unknown',
46
+ existingDocs: {},
47
+ };
48
+ // Detect build system and read package files
49
+ const packageJsonPath = join(dir, 'package.json');
50
+ const cargoTomlPath = join(dir, 'Cargo.toml');
51
+ const goModPath = join(dir, 'go.mod');
52
+ const pyprojectPath = join(dir, 'pyproject.toml');
53
+ const requirementsPath = join(dir, 'requirements.txt');
54
+ if (existsSync(packageJsonPath)) {
55
+ context.buildSystem = 'node';
56
+ try {
57
+ const content = await readFile(packageJsonPath, 'utf-8');
58
+ const pkg = JSON.parse(content);
59
+ context.packageJson = {
60
+ name: pkg.name ?? 'unknown',
61
+ scripts: pkg.scripts ?? {},
62
+ };
63
+ }
64
+ catch {
65
+ // Ignore parse errors
66
+ }
67
+ }
68
+ else if (existsSync(cargoTomlPath)) {
69
+ context.buildSystem = 'rust';
70
+ try {
71
+ const content = await readFile(cargoTomlPath, 'utf-8');
72
+ const nameMatch = content.match(/name\s*=\s*"([^"]+)"/);
73
+ if (nameMatch) {
74
+ context.cargoToml = { name: nameMatch[1] };
75
+ }
76
+ }
77
+ catch {
78
+ // Ignore parse errors
79
+ }
80
+ }
81
+ else if (existsSync(goModPath)) {
82
+ context.buildSystem = 'go';
83
+ try {
84
+ const content = await readFile(goModPath, 'utf-8');
85
+ const moduleMatch = content.match(/module\s+(\S+)/);
86
+ if (moduleMatch) {
87
+ context.goMod = { module: moduleMatch[1] };
88
+ }
89
+ }
90
+ catch {
91
+ // Ignore parse errors
92
+ }
93
+ }
94
+ else if (existsSync(pyprojectPath) || existsSync(requirementsPath)) {
95
+ context.buildSystem = 'python';
96
+ }
97
+ // Read existing documentation files in parallel
98
+ const [claudeMd, agentsMd, cursorRules, readme] = await Promise.all([
99
+ readFileTruncated(join(dir, 'CLAUDE.md'), 2000) ??
100
+ readFileTruncated(join(dir, 'claude.md'), 2000),
101
+ readFileTruncated(join(dir, 'AGENTS.md'), 2000) ??
102
+ readFileTruncated(join(dir, 'agents.md'), 2000),
103
+ readFileTruncated(join(dir, '.cursorrules'), 2000) ??
104
+ readFileTruncated(join(dir, '.cursor/rules'), 2000),
105
+ readFileTruncated(join(dir, 'README.md'), 1500) ??
106
+ readFileTruncated(join(dir, 'readme.md'), 1500),
107
+ ]);
108
+ context.existingDocs = {
109
+ claudeMd,
110
+ agentsMd,
111
+ cursorRules,
112
+ readme,
113
+ };
114
+ // Get src structure if exists
115
+ const srcDir = join(dir, 'src');
116
+ if (existsSync(srcDir)) {
117
+ context.srcStructure = await getDirStructure(srcDir, 50);
118
+ }
119
+ return context;
120
+ }
121
+ /**
122
+ * Format project context for the AI prompt
123
+ */
124
+ export function formatContextForPrompt(ctx) {
125
+ const sections = [];
126
+ // Build system
127
+ sections.push(`### Build System: ${ctx.buildSystem}`);
128
+ // Package info
129
+ if (ctx.packageJson) {
130
+ sections.push(`\n### package.json`);
131
+ sections.push(`Name: ${ctx.packageJson.name}`);
132
+ if (Object.keys(ctx.packageJson.scripts).length > 0) {
133
+ sections.push('Scripts:');
134
+ for (const [name, cmd] of Object.entries(ctx.packageJson.scripts)) {
135
+ sections.push(` - ${name}: ${cmd}`);
136
+ }
137
+ }
138
+ }
139
+ if (ctx.cargoToml) {
140
+ sections.push(`\n### Cargo.toml`);
141
+ sections.push(`Name: ${ctx.cargoToml.name}`);
142
+ }
143
+ if (ctx.goMod) {
144
+ sections.push(`\n### go.mod`);
145
+ sections.push(`Module: ${ctx.goMod.module}`);
146
+ }
147
+ // Existing docs
148
+ if (ctx.existingDocs.claudeMd) {
149
+ sections.push('\n### Existing CLAUDE.md (first 2000 chars)');
150
+ sections.push('```');
151
+ sections.push(ctx.existingDocs.claudeMd);
152
+ sections.push('```');
153
+ }
154
+ if (ctx.existingDocs.cursorRules) {
155
+ sections.push('\n### Existing .cursorrules (first 2000 chars)');
156
+ sections.push('```');
157
+ sections.push(ctx.existingDocs.cursorRules);
158
+ sections.push('```');
159
+ }
160
+ if (ctx.existingDocs.readme) {
161
+ sections.push('\n### README.md (first 1500 chars)');
162
+ sections.push('```');
163
+ sections.push(ctx.existingDocs.readme);
164
+ sections.push('```');
165
+ }
166
+ // Source structure
167
+ if (ctx.srcStructure) {
168
+ sections.push('\n### src/ directory structure');
169
+ sections.push('```');
170
+ sections.push(ctx.srcStructure);
171
+ sections.push('```');
172
+ }
173
+ return sections.join('\n');
174
+ }
175
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/lib/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Engine, ExecuteOptions, Chunk, EngineFlags } from './base.js';
2
+ export declare class CodexEngine implements Engine {
3
+ readonly name = "codex";
4
+ execute(prompt: string, options: ExecuteOptions): AsyncIterable<Chunk>;
5
+ isAvailable(): Promise<boolean>;
6
+ getFlags(options: EngineFlags): string[];
7
+ supportsInteractive(): boolean;
8
+ getCommand(): string;
9
+ }
10
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/lib/engines/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAC;AAErF,qBAAa,WAAY,YAAW,MAAM;IACxC,QAAQ,CAAC,IAAI,WAAW;IAEjB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC;IAuCvE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBrC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE;IAkBxC,mBAAmB,IAAI,OAAO;IAI9B,UAAU,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,71 @@
1
+ import { spawn } from 'child_process';
2
+ import { resolveModel } from './base.js';
3
+ export class CodexEngine {
4
+ name = 'codex';
5
+ async *execute(prompt, options) {
6
+ const flags = this.getFlags({
7
+ model: options.model,
8
+ skipPermissions: options.skipPermissions,
9
+ outputFormat: options.outputFormat,
10
+ verbose: options.verbose,
11
+ });
12
+ const args = [...flags];
13
+ const child = spawn('codex', args, {
14
+ stdio: ['pipe', 'pipe', 'pipe'],
15
+ });
16
+ child.stdin.write(prompt);
17
+ child.stdin.end();
18
+ for await (const data of child.stdout) {
19
+ yield { type: 'text', content: data.toString() };
20
+ }
21
+ let stderrOutput = '';
22
+ for await (const data of child.stderr) {
23
+ stderrOutput += data.toString();
24
+ }
25
+ await new Promise((resolve, reject) => {
26
+ child.on('close', (code) => {
27
+ if (code !== 0 && stderrOutput) {
28
+ reject(new Error(`Codex exited with code ${code}: ${stderrOutput}`));
29
+ }
30
+ else {
31
+ resolve();
32
+ }
33
+ });
34
+ child.on('error', reject);
35
+ });
36
+ yield { type: 'done' };
37
+ }
38
+ async isAvailable() {
39
+ return new Promise((resolve) => {
40
+ const child = spawn('codex', ['--version'], {
41
+ stdio: ['ignore', 'pipe', 'ignore'],
42
+ });
43
+ child.on('close', (code) => {
44
+ resolve(code === 0);
45
+ });
46
+ child.on('error', () => {
47
+ resolve(false);
48
+ });
49
+ });
50
+ }
51
+ getFlags(options) {
52
+ const flags = [];
53
+ if (options.model) {
54
+ flags.push('--model', resolveModel(options.model));
55
+ }
56
+ if (options.skipPermissions) {
57
+ flags.push('--full-auto');
58
+ }
59
+ if (options.verbose) {
60
+ flags.push('--verbose');
61
+ }
62
+ return flags;
63
+ }
64
+ supportsInteractive() {
65
+ return true; // Codex supports interactive mode
66
+ }
67
+ getCommand() {
68
+ return 'codex';
69
+ }
70
+ }
71
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/engines/codex.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  export { Engine, ExecuteOptions, Chunk, EngineFlags, MODEL_ALIASES, resolveModel } from './base.js';
2
2
  export { ClaudeEngine } from './claude.js';
3
3
  export { OpenCodeEngine } from './opencode.js';
4
+ export { CodexEngine } from './codex.js';
4
5
  import { Engine } from './base.js';
5
- export type EngineName = 'claude' | 'opencode';
6
+ export type EngineName = 'claude' | 'opencode' | 'codex';
6
7
  /**
7
8
  * Get engine by name
8
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAO/C;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAU3D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAI/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKnC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAQzD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAU3D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAI/D"}
@@ -1,11 +1,14 @@
1
1
  export { MODEL_ALIASES, resolveModel } from './base.js';
2
2
  export { ClaudeEngine } from './claude.js';
3
3
  export { OpenCodeEngine } from './opencode.js';
4
+ export { CodexEngine } from './codex.js';
4
5
  import { ClaudeEngine } from './claude.js';
5
6
  import { OpenCodeEngine } from './opencode.js';
7
+ import { CodexEngine } from './codex.js';
6
8
  const engines = {
7
9
  claude: new ClaudeEngine(),
8
10
  opencode: new OpenCodeEngine(),
11
+ codex: new CodexEngine(),
9
12
  };
10
13
  /**
11
14
  * Get engine by name
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,OAAO,GAA+B;IAC1C,MAAM,EAAE,IAAI,YAAY,EAAE;IAC1B,QAAQ,EAAE,IAAI,cAAc,EAAE;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,IAAkB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/engines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,MAAM,OAAO,GAA+B;IAC1C,MAAM,EAAE,IAAI,YAAY,EAAE;IAC1B,QAAQ,EAAE,IAAI,cAAc,EAAE;IAC9B,KAAK,EAAE,IAAI,WAAW,EAAE;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,IAAkB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,8 +1,25 @@
1
+ import { EngineName } from './engines/index.js';
2
+ export interface InitOptions {
3
+ noAi?: boolean;
4
+ approve?: boolean;
5
+ engine?: EngineName;
6
+ verbose?: boolean;
7
+ }
8
+ export interface InitResult {
9
+ created: string[];
10
+ skipped: string[];
11
+ agentsMdContent?: string;
12
+ }
13
+ /**
14
+ * Template-based init (fallback when no AI available)
15
+ */
16
+ export declare function templateBasedInit(dir: string): Promise<InitResult>;
17
+ /**
18
+ * AI-powered init using the specified engine
19
+ */
20
+ export declare function aiPoweredInit(dir: string, engineName: EngineName, options: InitOptions): Promise<InitResult>;
1
21
  /**
2
22
  * Initialize a project for vralphy
3
23
  */
4
- export declare function initProject(dir?: string): Promise<{
5
- created: string[];
6
- skipped: string[];
7
- }>;
24
+ export declare function initProject(dir?: string, options?: InitOptions): Promise<InitResult>;
8
25
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAyJA;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiFhH"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAE1F,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsJD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2BxE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA+ErB;AA6ED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAiBrB"}
package/dist/lib/init.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { readFile, writeFile, mkdir } from 'fs/promises';
2
2
  import { existsSync } from 'fs';
3
3
  import { join } from 'path';
4
- import { DEFAULT_PLAN_PROMPT, DEFAULT_BUILD_PROMPT, DEFAULT_SPEC_PROMPT } from './prompts.js';
4
+ import { DEFAULT_PLAN_PROMPT, DEFAULT_BUILD_PROMPT, DEFAULT_SPEC_PROMPT, DEFAULT_INIT_PROMPT } from './prompts.js';
5
+ import { gatherProjectContext, formatContextForPrompt } from './context.js';
6
+ import { detectEngines, getEngine } from './engines/index.js';
5
7
  /**
6
8
  * Detect project info from package.json
7
9
  */
@@ -87,9 +89,9 @@ async function extractFromDocs(dir) {
87
89
  return patterns.slice(0, 10);
88
90
  }
89
91
  /**
90
- * Generate lightweight AGENTS.md (max ~60 lines)
92
+ * Generate lightweight AGENTS.md (max ~60 lines) using template
91
93
  */
92
- function generateAgentsMd(info) {
94
+ function generateAgentsMdTemplate(info) {
93
95
  const lines = [];
94
96
  lines.push('## Build & Run');
95
97
  lines.push('');
@@ -126,9 +128,9 @@ function generateAgentsMd(info) {
126
128
  return lines.join('\n');
127
129
  }
128
130
  /**
129
- * Initialize a project for vralphy
131
+ * Template-based init (fallback when no AI available)
130
132
  */
131
- export async function initProject(dir = process.cwd()) {
133
+ export async function templateBasedInit(dir) {
132
134
  const created = [];
133
135
  const skipped = [];
134
136
  const info = {
@@ -141,6 +143,96 @@ export async function initProject(dir = process.cwd()) {
141
143
  ]);
142
144
  Object.assign(info, pkgInfo, cargoInfo, goInfo);
143
145
  info.patterns = await extractFromDocs(dir);
146
+ // Create scaffold and return the generated content
147
+ const agentsMdContent = generateAgentsMdTemplate(info);
148
+ const scaffoldResult = await createScaffold(dir, agentsMdContent);
149
+ return {
150
+ created: scaffoldResult.created,
151
+ skipped: scaffoldResult.skipped,
152
+ agentsMdContent,
153
+ };
154
+ }
155
+ /**
156
+ * AI-powered init using the specified engine
157
+ */
158
+ export async function aiPoweredInit(dir, engineName, options) {
159
+ const engine = getEngine(engineName);
160
+ // Gather project context
161
+ const context = await gatherProjectContext(dir);
162
+ const formattedContext = formatContextForPrompt(context);
163
+ // Build the prompt
164
+ const prompt = DEFAULT_INIT_PROMPT.replace('${projectContext}', formattedContext);
165
+ if (options.verbose) {
166
+ console.log('\n--- AI Init Prompt ---');
167
+ console.log(prompt);
168
+ console.log('--- End Prompt ---\n');
169
+ }
170
+ // Execute AI engine
171
+ const executeOptions = {
172
+ model: 'sonnet', // Use sonnet for init - fast and cost-effective
173
+ executor: 'sonnet',
174
+ headless: true,
175
+ skipPermissions: true,
176
+ outputFormat: 'text',
177
+ verbose: options.verbose ?? false,
178
+ };
179
+ let agentsMdContent = '';
180
+ console.log(`\nGenerating AGENTS.md with ${engineName}...`);
181
+ try {
182
+ for await (const chunk of engine.execute(prompt, executeOptions)) {
183
+ if (chunk.type === 'text' && chunk.content) {
184
+ agentsMdContent += chunk.content;
185
+ if (!options.approve) {
186
+ process.stdout.write(chunk.content);
187
+ }
188
+ }
189
+ else if (chunk.type === 'error') {
190
+ throw new Error(chunk.error);
191
+ }
192
+ }
193
+ }
194
+ catch (error) {
195
+ console.error('\nAI generation failed, falling back to template...');
196
+ if (options.verbose && error instanceof Error) {
197
+ console.error('Error:', error.message);
198
+ }
199
+ return templateBasedInit(dir);
200
+ }
201
+ // Clean up the content (remove any markdown code fences if present)
202
+ agentsMdContent = agentsMdContent.trim();
203
+ if (agentsMdContent.startsWith('```markdown')) {
204
+ agentsMdContent = agentsMdContent.slice('```markdown'.length);
205
+ }
206
+ else if (agentsMdContent.startsWith('```md')) {
207
+ agentsMdContent = agentsMdContent.slice('```md'.length);
208
+ }
209
+ else if (agentsMdContent.startsWith('```')) {
210
+ agentsMdContent = agentsMdContent.slice(3);
211
+ }
212
+ if (agentsMdContent.endsWith('```')) {
213
+ agentsMdContent = agentsMdContent.slice(0, -3);
214
+ }
215
+ agentsMdContent = agentsMdContent.trim();
216
+ // Validate line count
217
+ const lineCount = agentsMdContent.split('\n').length;
218
+ if (lineCount > 80) {
219
+ console.warn(`\nWarning: Generated AGENTS.md is ${lineCount} lines (target: 60). Consider trimming.`);
220
+ }
221
+ console.log('\n');
222
+ // Create scaffold with AI-generated content
223
+ const scaffoldResult = await createScaffold(dir, agentsMdContent);
224
+ return {
225
+ created: scaffoldResult.created,
226
+ skipped: scaffoldResult.skipped,
227
+ agentsMdContent,
228
+ };
229
+ }
230
+ /**
231
+ * Create project scaffold (directories, files)
232
+ */
233
+ async function createScaffold(dir, agentsMdContent) {
234
+ const created = [];
235
+ const skipped = [];
144
236
  // Create specs/ directory
145
237
  const specsDir = join(dir, 'specs');
146
238
  if (!existsSync(specsDir)) {
@@ -150,10 +242,10 @@ export async function initProject(dir = process.cwd()) {
150
242
  else {
151
243
  skipped.push('specs/');
152
244
  }
153
- // Create AGENTS.md in project root (it's project documentation)
245
+ // Create AGENTS.md in project root
154
246
  const agentsMd = join(dir, 'AGENTS.md');
155
247
  if (!existsSync(agentsMd)) {
156
- await writeFile(agentsMd, generateAgentsMd(info));
248
+ await writeFile(agentsMd, agentsMdContent);
157
249
  created.push('AGENTS.md');
158
250
  }
159
251
  else {
@@ -205,4 +297,22 @@ export async function initProject(dir = process.cwd()) {
205
297
  }
206
298
  return { created, skipped };
207
299
  }
300
+ /**
301
+ * Initialize a project for vralphy
302
+ */
303
+ export async function initProject(dir = process.cwd(), options = {}) {
304
+ // Check for available engines if AI mode is enabled
305
+ if (!options.noAi) {
306
+ const availableEngines = await detectEngines();
307
+ if (availableEngines.length > 0) {
308
+ // Use specified engine or first available
309
+ const engineToUse = options.engine && availableEngines.includes(options.engine)
310
+ ? options.engine
311
+ : availableEngines[0];
312
+ return aiPoweredInit(dir, engineToUse, options);
313
+ }
314
+ }
315
+ // Fall back to template-based init
316
+ return templateBasedInit(dir);
317
+ }
208
318
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@ export declare const DEFAULT_PLAN_PROMPT = "0a. Study `specs/*` with up to 250 p
34
34
  * Default build mode prompt
35
35
  */
36
36
  export declare const DEFAULT_BUILD_PROMPT = "0a. Study `specs/*` with up to 500 parallel ${executor} subagents to learn the project specifications.\n0b. Study @IMPLEMENTATION_PLAN.md.\n0c. For reference, the application source code is in `src/*`.\n\n1. Your task is to implement functionality per the specifications using parallel subagents. Follow @IMPLEMENTATION_PLAN.md and choose the most important item to address. Before making changes, search the codebase (don't assume not implemented) using ${executor} subagents. You may use up to 500 parallel ${executor} subagents for searches/reads and only 1 ${executor} subagent for build/tests. Use ${model} subagents when complex reasoning is needed (debugging, architectural decisions).\n\n2. After implementing functionality or resolving problems, run the tests for that unit of code that was improved. If functionality is missing then it's your job to add it as per the application specifications. Ultrathink.\n\n3. When you discover issues, immediately update @IMPLEMENTATION_PLAN.md with your findings using a subagent. When resolved, update and remove the item.\n\n4. When the tests pass, update @IMPLEMENTATION_PLAN.md, then `git add -A` then `git commit` with a message describing the changes. After the commit, `git push`.\n\n99999. When authoring documentation, capture the why \u2014 tests and implementation importance.\n999999. Single sources of truth, no migrations/adapters. If tests unrelated to your work fail, resolve them as part of the increment.\n9999999. As soon as there are no build or test errors create a git tag. If there are no git tags start at 0.0.0 and increment patch by 1.\n99999999. You may add extra logging if required to debug issues.\n999999999. Keep @IMPLEMENTATION_PLAN.md current with learnings using a subagent \u2014 future work depends on this.\n9999999999. When you learn something new about how to run the application, update @AGENTS.md using a subagent but keep it brief.\n99999999999. For any bugs you notice, resolve them or document them in @IMPLEMENTATION_PLAN.md even if unrelated to current work.\n999999999999. Implement functionality completely. Placeholders and stubs waste efforts and time redoing the same work.\n9999999999999. When @IMPLEMENTATION_PLAN.md becomes large periodically clean out the items that are completed using a subagent.\n99999999999999. IMPORTANT: Keep @AGENTS.md operational only \u2014 status updates belong in `IMPLEMENTATION_PLAN.md`. A bloated AGENTS.md pollutes every future loop's context.\n\n## Skills & Agents (On-Demand Loading)\n\nSkills location: ${skillsDir}\nAgents location: ${agentsDir}\n\nIMPORTANT - Context is precious. DO NOT preload all skills/agents.\n\n### When to load a skill:\n- Current task requires domain-specific knowledge you lack\n- A spec explicitly references a framework/library that has a matching skill\n- You've attempted something twice and failed - check if a skill could help\n\n### When to spawn a specialized agent:\n- Task requires deep focused expertise (security audit, architecture review)\n- You need a second opinion on a complex decision\n- Parallel work that benefits from isolation\n\n### How to load:\n1. Use a ${executor} subagent to read the skill/agent file\n2. Extract only the relevant section for your current task\n3. Do NOT inject entire skill contents into main context\n\n### Available skills (check if directory exists):\nList files in ${skillsDir} only when you need domain knowledge.\n\n### Available agents (check if directory exists):\nList files in ${agentsDir} only when you need to spawn specialized help.\n";
37
+ /**
38
+ * Default init mode prompt for AI-powered AGENTS.md generation
39
+ */
40
+ export declare const DEFAULT_INIT_PROMPT = "You are initializing a project for AI-assisted development. Generate a lightweight AGENTS.md file.\n\n## Project Context\n${projectContext}\n\n## Requirements\n- Maximum 60 lines total\n- OPERATIONAL ONLY: build, run, test, lint, typecheck commands\n- Include project-specific patterns discovered from existing docs\n- Focus on commands that actually exist in the project\n- NO: changelogs, TODOs, verbose explanations, generic advice\n\n## Output Sections\n\nGenerate ONLY these sections (skip if no relevant commands):\n\n## Build & Run\n- Build: `command`\n- Dev: `command`\n\n## Validation\n- Tests: `command`\n- Typecheck: `command`\n- Lint: `command`\n\n## Tech Stack\n- Brief list of main technologies\n\n## Codebase Patterns\n- Bullet points of project-specific conventions (extracted from existing docs)\n\n## IMPORTANT\nIf critical information is missing (like how to run tests), ask UP TO 3 clarifying questions first.\nOutput ONLY the AGENTS.md content, no preamble or explanation.\n";
37
41
  /**
38
42
  * Default spec mode prompt
39
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAazF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAyBlF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtF;AAmCD;;GAEG;AACH,eAAO,MAAM,mBAAmB,u0EAQR,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB,++GAsBT,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,mBAAmB,y2DA4CR,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiBzF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAyBlF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtF;AAmCD;;GAEG;AACH,eAAO,MAAM,mBAAmB,u0EAQR,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB,++GAsBT,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,mBAAmB,w+BAkC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,y2DA4CR,CAAC"}
@@ -13,6 +13,10 @@ export function getEngineLocations(engine) {
13
13
  skills: '.opencode/skills/',
14
14
  agents: '.opencode/agents/',
15
15
  },
16
+ codex: {
17
+ skills: '.codex/skills/',
18
+ agents: '.codex/agents/',
19
+ },
16
20
  };
17
21
  return locations[engine];
18
22
  }
@@ -125,6 +129,44 @@ export const DEFAULT_BUILD_PROMPT = `0a. Study \`specs/*\` with up to 500 parall
125
129
  9999999999999. When @IMPLEMENTATION_PLAN.md becomes large periodically clean out the items that are completed using a subagent.
126
130
  99999999999999. IMPORTANT: Keep @AGENTS.md operational only — status updates belong in \`IMPLEMENTATION_PLAN.md\`. A bloated AGENTS.md pollutes every future loop's context.
127
131
  ${LAZY_LOADING_SECTION}`;
132
+ /**
133
+ * Default init mode prompt for AI-powered AGENTS.md generation
134
+ */
135
+ export const DEFAULT_INIT_PROMPT = `You are initializing a project for AI-assisted development. Generate a lightweight AGENTS.md file.
136
+
137
+ ## Project Context
138
+ \${projectContext}
139
+
140
+ ## Requirements
141
+ - Maximum 60 lines total
142
+ - OPERATIONAL ONLY: build, run, test, lint, typecheck commands
143
+ - Include project-specific patterns discovered from existing docs
144
+ - Focus on commands that actually exist in the project
145
+ - NO: changelogs, TODOs, verbose explanations, generic advice
146
+
147
+ ## Output Sections
148
+
149
+ Generate ONLY these sections (skip if no relevant commands):
150
+
151
+ ## Build & Run
152
+ - Build: \`command\`
153
+ - Dev: \`command\`
154
+
155
+ ## Validation
156
+ - Tests: \`command\`
157
+ - Typecheck: \`command\`
158
+ - Lint: \`command\`
159
+
160
+ ## Tech Stack
161
+ - Brief list of main technologies
162
+
163
+ ## Codebase Patterns
164
+ - Bullet points of project-specific conventions (extracted from existing docs)
165
+
166
+ ## IMPORTANT
167
+ If critical information is missing (like how to run tests), ask UP TO 3 clarifying questions first.
168
+ Output ONLY the AGENTS.md content, no preamble or explanation.
169
+ `;
128
170
  /**
129
171
  * Default spec mode prompt
130
172
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vralphy",
3
- "version": "0.0.4",
3
+ "version": "0.1.0",
4
4
  "description": "CLI tool implementing the Ralph Playbook methodology with engine flexibility",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",