claude-cli-lib
v1.0.0
Published
A standalone library for Claude CLI integration and management
Downloads
15
Maintainers
Readme
Claude CLI Library
A standalone TypeScript library for Claude CLI integration and management.
Features
- CLI Manager: Execute and manage Claude CLI commands with process lifecycle management
- Command Sanitization: Comprehensive security validation for CLI commands and arguments
- Output Streaming: Real-time output streaming with event-driven architecture
- Mock Support: Full mock implementation for testing and development
- Factory Pattern: Automatic selection between real and mock implementations
- Type Safety: Complete TypeScript types and interfaces
Installation
npm install claude-cli-libQuick Start
import { CLIManagerFactory, Logger } from 'claude-cli-lib';
const logger = new Logger({ logLevel: 'info' });
const config = {
cliPath: '/path/to/claude',
commandTimeout: 30000,
logLevel: 'info'
};
const cliManager = CLIManagerFactory.create(config, logger);
// Execute a command
const result = await cliManager.executeCommand({
id: 'cmd-1',
command: 'claude',
args: ['--help'],
timeout: 10000
});
console.log(result);API Reference
CLIManager
Main class for executing CLI commands:
executeCommand(command: CLICommand): Promise<string>setOutputHandler(processId: string, handler: Function): voidgetActiveProcesses(): CLIProcess[]killProcess(processId: string): Promise<boolean>
CommandSanitizer
Security validation for commands:
sanitizeCommand(command, args, workingDir, options): SanitizationResultsanitizeClaudeCommand(command, args, workingDir): SanitizationResult
OutputStreamer
Real-time output streaming:
startStreaming(processId: string): voidstreamOutput(output: CLIOutput): voidonProcessOutput(processId: string, callback: Function): void
License
MIT
