jay-code
Version:
Streamlined AI CLI orchestration engine with mathematical rigor and enterprise-grade reliability
68 lines (56 loc) ⢠2.62 kB
text/typescript
// init/index.ts - Main init command orchestrator
import { printSuccess, printError } from '../utils.js';
import { createDirectoryStructure } from './directory-structure.js';
import { createSwarmCommands } from './swarm-commands.js';
import { createSparcEnvironment } from './sparc-environment.js';
import { createClaudeConfig } from './claude-config.js';
import { createBatchToolsGuide } from './batch-tools.js';
export interface InitOptions {
sparc?: boolean;
force?: boolean;
}
export async function initCommand(options: InitOptions = {}) {
try {
const fs = await import('fs/promises');
const path = await import('path');
printSuccess('Initializing Jay-Code project...');
// Phase 1: Create directory structure
console.log('\nš Phase 1: Creating directory structure...');
await createDirectoryStructure();
// Phase 2: Create base configuration
console.log('\nāļø Phase 2: Creating configuration...');
await createClaudeConfig(options);
// Phase 3: Create swarm commands and documentation
console.log('\nš¤ Phase 3: Creating swarm commands...');
await createSwarmCommands();
// Phase 4: Create batch tools guides
console.log('\nš§ Phase 4: Creating batch tools guides...');
await createBatchToolsGuide();
// Phase 5: SPARC environment (if requested)
if (options.sparc) {
console.log('\nš Phase 5: Creating SPARC environment...');
await createSparcEnvironment();
}
// Success summary
console.log('\nš Project initialized successfully!');
console.log(' š Created .claude/ directory structure');
console.log(' š Created comprehensive swarm command documentation');
console.log(' š§ Created batch tools coordination guides');
console.log(' š Created detailed usage examples with orchestration');
console.log('\n Next steps:');
console.log(' 1. Run "jay-code swarm --help" to see swarm options');
console.log(' 2. Check .claude/commands/swarm/ for detailed documentation');
console.log(' 3. Review batch tools guide for orchestration patterns');
console.log(' 4. Run "jay-code help" for all available commands');
if (options.sparc) {
console.log(' 5. Run "jay-code sparc modes" to see available SPARC modes');
console.log(' 6. Use TodoWrite/TodoRead for task coordination');
console.log(' 7. Use Task tool for parallel agent execution');
}
} catch (error) {
printError(
`Failed to initialize project: ${error instanceof Error ? error.message : String(error)}`,
);
throw error;
}
}