Commit Graph

7 Commits

Author SHA1 Message Date
Kacper
3928539ade refactor: Centralize ESM config in tsconfig.base.json
Move ESM module configuration from individual package tsconfigs to the
shared base configuration for better maintainability.

Changes:
- Updated libs/tsconfig.base.json:
  - Changed module: "commonjs" → "NodeNext"
  - Changed moduleResolution: "node" → "NodeNext"

- Cleaned up all lib package tsconfigs:
  - Removed duplicate module/moduleResolution settings
  - Now all packages inherit ESM config from base
  - Packages: dependency-resolver, git-utils, model-resolver, platform, utils

Benefits:
 Single source of truth for module configuration
 Less duplication, easier maintenance
 Consistent ESM behavior across all lib packages
 Simpler package-specific tsconfig files

All packages build successfully. All 632 tests passing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 00:26:26 +01:00
Kacper
c1386caeb2 refactor: Migrate all lib packages to ESM
Convert all shared library packages from CommonJS to ESM for consistency
with apps/server and modern JavaScript standards.

Changes:
- Add "type": "module" to package.json for all libs
- Update tsconfig.json to use "NodeNext" module/moduleResolution
- Add .js extensions to all relative imports

Packages migrated:
- @automaker/dependency-resolver (already ESM, added .js extension)
- @automaker/git-utils (CommonJS → ESM)
- @automaker/model-resolver (CommonJS → ESM)
- @automaker/platform (CommonJS → ESM)
- @automaker/utils (CommonJS → ESM)

Benefits:
 Consistent module system across all packages
 Better tree-shaking and modern bundling support
 Native browser support (future-proof)
 Fixes E2E CI server startup issues

All tests passing: 632/632 server tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 00:23:13 +01:00
Kacper
49a5a7448c fix: Address PR review feedback for shared packages
This commit addresses all "Should Fix" items from the PR review:

1. Security Documentation (platform package)
   - Added comprehensive inline documentation in security.ts explaining
     why path validation is disabled
   - Added Security Model section to platform README.md
   - Documented rationale, implications, and future re-enabling steps

2. Model Resolver Tests
   - Created comprehensive test suite (34 tests, 100% coverage)
   - Added vitest configuration with strict coverage thresholds
   - Tests cover: alias resolution, full model strings, priority handling,
     edge cases, and integration scenarios
   - Updated package.json with test scripts and vitest dependency

3. Feature Loader Logging Migration
   - Replaced all console.log/warn/error calls with @automaker/utils logger
   - Consistent with rest of codebase logging pattern
   - Updated corresponding tests to match new logger format

4. Module Format Consistency
   - Verified all packages use consistent module formats (ESM)
   - No changes needed

All tests passing (632 tests across 31 test files).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 00:05:42 +01:00
Kacper
46994bea34 refactor: Optimize TypeScript configs and fix build ordering
- Create shared libs/tsconfig.base.json to eliminate duplication across 6 packages
- Update all lib tsconfig.json files to extend base config
- Fix build ordering to ensure sequential dependency chain (types -> utils -> platform/model-resolver/dependency-resolver -> git-utils)
- Add .gitignore patterns to prevent compiled files in src directories

Resolves PR review issues #3 and #4

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-20 22:42:36 +01:00
Kacper
7ab65b22ec chore: Update package.json files across multiple modules
- Added author information as "AutoMaker Team" to all package.json files.
- Set license to "SEE LICENSE IN LICENSE" for consistency across the project.
2025-12-20 22:37:53 +01:00
Kacper
7ad7b63da2 docs: add comprehensive documentation for shared packages
- 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>
2025-12-19 23:52:42 +01:00
Kacper
27b80b3e08 feat: add @automaker/model-resolver package
- 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>
2025-12-19 23:30:46 +01:00