- Added author information as "AutoMaker Team" to all package.json files.
- Set license to "SEE LICENSE IN LICENSE" for consistency across the project.
Changes:
- Move subprocess-manager tests to @automaker/platform package
- Tests need to be co-located with source for proper mocking
- Add vitest configuration to platform package
- 17/17 platform tests pass
- Update server vitest.config.ts to alias @automaker/* packages
- Resolve to source files for proper mocking in tests
- Enables vi.mock() and vi.spyOn() to work correctly
- Fix security.test.ts imports
- Update dynamic imports from @/lib/security.js to @automaker/platform
- Module was moved to shared package
- Rewrite prompt-builder.test.ts
- Use fs/promises mock instead of trying to spy on internal calls
- 10/10 tests pass
Test Results:
✅ Server: 536/536 tests pass
✅ Platform: 17/17 tests pass
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Extract EventType and EventCallback to @automaker/types
- Extract SpecOutput and specOutputSchema to @automaker/types
- Extract EnhancementMode and EnhancementExample to @automaker/types
- Update server files to import from shared types
- Reduces server code duplication by ~123 lines
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
CRITICAL FIXES:
- Fix dependency-resolver ES module failure by reverting to CommonJS
- Removed "type": "module" from package.json
- Changed tsconfig.json module from "ESNext" to "commonjs"
- Added exports field for better module resolution
- Package now works correctly at runtime
- Fix Feature type incompatibility between server and UI
- Added FeatureImagePath interface to @automaker/types
- Made imagePaths property accept multiple formats
- Added index signature for backward compatibility
HIGH PRIORITY FIXES:
- Remove duplicate model-resolver.ts from apps/server/src/lib/
- Update sdk-options.ts to import from @automaker/model-resolver
- Use @automaker/types for CLAUDE_MODEL_MAP and DEFAULT_MODELS
- Remove duplicate session types from apps/ui/src/types/
- Deleted identical session.ts file
- Use @automaker/types for session type definitions
- Update source file Feature imports
- Fix create.ts and update.ts to import Feature from @automaker/types
- Separate Feature type import from FeatureLoader class import
MEDIUM PRIORITY FIXES:
- Remove unused imports
- Remove unused AbortError from agent-service.ts
- Remove unused MessageSquare icon from kanban-card.tsx
- Consolidate duplicate React imports in hotkey-button.tsx
- Update test file imports to use @automaker/* packages
- Update 12 test files to import from @automaker/utils
- Update 2 test files to import from @automaker/platform
- Update 1 test file to import from @automaker/model-resolver
- Update dependency-resolver.test.ts imports
- Update providers/types imports to @automaker/types
VERIFICATION:
- Server builds successfully ✓
- All 6 shared packages build correctly ✓
- Test imports updated and verified ✓
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added README.md for all 6 shared packages:
- @automaker/types: Type definitions and interfaces
- @automaker/utils: Utility functions (logger, error handling, images)
- @automaker/platform: Platform utilities (paths, subprocess, security)
- @automaker/model-resolver: Claude model resolution
- @automaker/dependency-resolver: Feature dependency ordering
- @automaker/git-utils: Git operations and diff generation
- Removed MIT license from all package.json files (using custom dual license)
- Created comprehensive LLM guide (docs/llm-shared-packages.md):
- When to use each package
- Import patterns and examples
- Common usage patterns
- Migration checklist
- Do's and don'ts for LLMs
Documentation helps developers and AI assistants understand package purpose,
usage, and best practices.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Updated 150+ files to import from @automaker/* packages
- Server imports now use @automaker/utils, @automaker/platform, @automaker/types, @automaker/model-resolver, @automaker/dependency-resolver, @automaker/git-utils
- UI imports now use @automaker/dependency-resolver and @automaker/types
- Deleted duplicate dependency-resolver files (222 lines eliminated)
- Updated dependency-resolver to use ES modules for Vite compatibility
- Added type annotation fix in auto-mode-service.ts
- Updated feature-loader to re-export Feature type from @automaker/types
- Both server and UI builds successfully verified
Phase 1 of server refactoring complete.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ELIMINATES CODE DUPLICATION: This file was duplicated in both server and UI (222 lines each).
- Extract feature dependency resolution using topological sort
- Implement Kahn's algorithm with priority-aware ordering
- Detect circular dependencies using DFS
- Check for missing and blocking dependencies
- Provide helper functions (areDependenciesSatisfied, getBlockingDependencies)
This package will replace:
- apps/server/src/lib/dependency-resolver.ts (to be deleted)
- apps/ui/src/lib/dependency-resolver.ts (to be deleted)
Impact: Eliminates 222 lines of duplicated code.
Dependencies: @automaker/types
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Extract model string resolution logic
- Map model aliases to full model strings (haiku -> claude-haiku-4-5)
- Handle multiple model sources with priority
- Re-export model constants from @automaker/types
Provides centralized model resolution for Claude models.
Simplifies model handling across server and UI.
Dependencies: @automaker/types
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Extract shared type definitions from server and UI
- Add provider types (ProviderConfig, ExecuteOptions, etc.)
- Add feature types (Feature, FeatureStatus, PlanningMode)
- Add session types (AgentSession, CreateSessionParams)
- Add error types (ErrorType, ErrorInfo)
- Add image types (ImageData, ImageContentBlock)
- Add model constants (CLAUDE_MODEL_MAP, DEFAULT_MODELS)
This package provides centralized type definitions for both server and UI.
No dependencies - pure TypeScript interfaces.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>