Skip to content

Commit dd4066e

Browse files
committed
feat: Implement CLIIsolationManager and ProjectCapabilityDetector. Fixes #43
- Added CLIIsolationManager class to manage CLI tool isolation, including setup, building, and symlink creation. - Implemented tests for CLIIsolationManager to ensure correct behavior during setup and error handling. - Introduced ProjectCapabilityDetector class to analyze package.json and detect project capabilities (CLI, web). - Added tests for ProjectCapabilityDetector to validate capability detection logic. - Created utility functions for reading and parsing package.json, including handling bin fields and checking for web dependencies. - Developed comprehensive tests for utility functions to ensure robust package.json handling.
1 parent 459e12d commit dd4066e

File tree

10 files changed

+1684
-8
lines changed

10 files changed

+1684
-8
lines changed

src/commands/start.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { HatchboxManager } from '../lib/HatchboxManager.js'
44
import { GitWorktreeManager } from '../lib/GitWorktreeManager.js'
55
import { EnvironmentManager } from '../lib/EnvironmentManager.js'
66
import { ClaudeContextManager } from '../lib/ClaudeContextManager.js'
7+
import { ProjectCapabilityDetector } from '../lib/ProjectCapabilityDetector.js'
8+
import { CLIIsolationManager } from '../lib/CLIIsolationManager.js'
79
import { branchExists } from '../utils/git.js'
810
import type { StartOptions } from '../types/index.js'
911

@@ -31,7 +33,9 @@ export class StartCommand {
3133
new GitWorktreeManager(),
3234
this.gitHubService,
3335
new EnvironmentManager(),
34-
new ClaudeContextManager()
36+
new ClaudeContextManager(),
37+
new ProjectCapabilityDetector(),
38+
new CLIIsolationManager()
3539
)
3640
}
3741

0 commit comments

Comments
 (0)