UNPKG

ai-dev-diary

Version:

Intelligent development diary system for AI-assisted projects

111 lines 4.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initCommand = void 0; const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const inquirer_1 = __importDefault(require("inquirer")); const ora_1 = __importDefault(require("ora")); const boxen_1 = __importDefault(require("boxen")); const diary_manager_1 = require("../core/diary-manager"); const github_1 = require("../utils/github"); exports.initCommand = new commander_1.Command('init') .description('Initialize AI diary in current project') .option('-y, --yes', 'Skip prompts and use defaults') .action(async (options) => { const diaryManager = new diary_manager_1.DiaryManager(); if (diaryManager.isInitialized()) { console.log(chalk_1.default.yellow('⚠️ Diary already initialized in this project')); return; } console.log((0, boxen_1.default)(chalk_1.default.blue.bold('AI Development Diary Setup') + '\n\n' + chalk_1.default.gray('This will create a .ai-diary directory in your project\n' + 'to track insights, mistakes, and learnings.'), { padding: 1, margin: 1, borderStyle: 'round', borderColor: 'blue', })); let config = {}; const detectedUsername = await (0, github_1.detectGitHubUsername)(); if (!options.yes) { const answers = await inquirer_1.default.prompt([ { type: 'input', name: 'author', message: 'Your name:', default: options.author || detectedUsername || process.env.USER || 'Unknown', }, { type: 'input', name: 'team', message: 'Team name (optional):', }, { type: 'confirm', name: 'gitIntegration', message: 'Enable Git integration?', default: true, }, { type: 'list', name: 'aiModel', message: 'Primary AI model:', choices: [ 'claude-3', 'gpt-4', 'gpt-3.5', 'other', ], default: 'claude-3', }, ]); config = { author: answers.author, team: answers.team || undefined, ai: { model: answers.aiModel, autoContext: true, }, git: { autoEntries: answers.gitIntegration, linkCommits: answers.gitIntegration, }, }; } else { config = { author: options.author || detectedUsername || process.env.USER || 'Unknown', teamMode: options.team || false, githubUsername: detectedUsername || undefined, ai: { model: 'claude-3', autoContext: true, }, git: { autoEntries: true, linkCommits: true, }, }; } const spinner = (0, ora_1.default)('Initializing diary...').start(); try { await diaryManager.initialize(config); spinner.succeed('Diary initialized successfully!'); console.log('\n' + chalk_1.default.green('✅ Setup complete!')); console.log('\nNext steps:'); console.log(chalk_1.default.gray(' 1. Create your first entry:') + chalk_1.default.cyan(' ai-diary entry')); console.log(chalk_1.default.gray(' 2. View current context:') + chalk_1.default.cyan(' ai-diary context read')); console.log(chalk_1.default.gray(' 3. Install git hooks:') + chalk_1.default.cyan(' ai-diary install-hooks')); console.log('\n' + chalk_1.default.gray('For more help:') + chalk_1.default.cyan(' ai-diary --help')); } catch (error) { spinner.fail('Failed to initialize diary'); console.error(chalk_1.default.red(error)); process.exit(1); } }); //# sourceMappingURL=init.js.map