UNPKG

create-ai-chat-context-experimental

Version:

Phase 2: TypeScript rewrite - AI Chat Context & Memory System with conversation extraction and AICF format support (powered by aicf-core v2.1.0).

144 lines 3.92 kB
/** * This file is part of create-ai-chat-context-experimental. * Licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). * See LICENSE file for details. */ import type { Result } from '../types/result.js'; export interface InitCommandOptions { cwd?: string; force?: boolean; verbose?: boolean; mode?: 'manual' | 'automatic'; } export interface InitResult { mode: 'manual' | 'automatic'; projectPath: string; filesCreated: string[]; message: string; platforms?: string[]; llmPrompt?: string; } export interface PlatformSelection { augment: boolean; warp: boolean; claudeDesktop: boolean; claudeCli: boolean; copilot: boolean; chatgpt: boolean; } /** * Initialize aicf-watcher in a project * Extends create-ai-chat-context init with automatic mode setup */ export declare class InitCommand { private cwd; private force; private verbose; private mode; private selectedPlatforms; constructor(options?: InitCommandOptions); /** * Execute init command */ execute(): Promise<Result<InitResult>>; /** * Check if project is not already initialized */ private checkNotInitialized; /** * Migrate existing setup from base package to experimental * Adds missing files and asks for mode preference */ private migrateExistingSetup; /** * Ask user for mode: manual or automatic */ private askMode; /** * Ask permission to scan library folders */ private askPermissionToScan; /** * Scan for available conversation data */ private scanForData; /** * Show data discovery results */ private showDataDiscovery; /** * Initialize manual mode * User will use create-ai-chat-context workflow */ private initManualMode; /** * Initialize automatic mode * Creates .cache/llm/, .permissions.aicf, .watcher-config.json */ private initAutomaticMode; /** * Generate LLM prompt for manual mode */ private generateLLMPrompt; /** * Generate permissions file content */ private generatePermissionsFile; /** * Generate watcher config content */ private generateWatcherConfig; /** * Update .gitignore to include .cache/llm/ */ private updateGitignore; /** * Copy template files from dist/templates to project directories * Smart merge: Only copies missing files or updates if template is newer * * New structure: * - templates/augment/ - Augment-specific templates (includes .augment/, .ai/, .aicf/) * - templates/cursor/ - Cursor-specific templates (future) * - templates/warp/ - Warp-specific templates (future) * - templates/shared/ - Shared templates across all platforms */ private copyTemplateFiles; /** * Copy templates from a specific platform directory */ private copyPlatformTemplates; /** * Copy .ai/ directory with smart merge for critical files */ private copyAiDirectory; /** * Copy .aicf/ directory */ private copyAicfDirectory; /** * Copy platform-specific directories (e.g., .augment/, .cursor/, .warp/) */ private copyPlatformSpecificDirectories; /** * Check if two files are identical (byte-for-byte) */ private filesAreIdentical; /** * Extract version/date from file header * Looks for patterns like: * - "Last Updated: 2025-10-21" * - "Last Updated: October 13, 2025" * - "Date: 2025-10-24" * - "version: 2.0.0" */ private extractFileVersion; /** * Check if template file is newer than user file */ private isTemplateNewer; /** * Start watcher daemon in background */ private startWatcherDaemon; } //# sourceMappingURL=InitCommand.d.ts.map