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
TypeScript
/**
* 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