mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-02 08:33:36 +00:00
refactor: Address PR review feedback on shared packages
- Standardize vitest to v4.0.16 across all packages - Clean up type imports in events.ts (remove verbose inline casting) - Expand skipDirs to support Python, Rust, Go, PHP, Gradle projects - Document circular dependency prevention in @automaker/types - Add comprehensive error handling documentation to @automaker/git-utils 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -118,6 +118,8 @@ const options: ExecuteOptions = {
|
||||
|
||||
None - this is a pure types package.
|
||||
|
||||
**IMPORTANT**: This package must NEVER depend on other `@automaker/*` packages to prevent circular dependencies. All other packages depend on this one, making it the foundation of the dependency tree.
|
||||
|
||||
## Used By
|
||||
|
||||
- `@automaker/utils`
|
||||
@@ -127,3 +129,21 @@ None - this is a pure types package.
|
||||
- `@automaker/git-utils`
|
||||
- `@automaker/server`
|
||||
- `@automaker/ui`
|
||||
|
||||
## Circular Dependency Prevention
|
||||
|
||||
To maintain the package dependency hierarchy and prevent circular dependencies:
|
||||
|
||||
1. **Never add dependencies** to other `@automaker/*` packages in `package.json`
|
||||
2. **Keep result types here** - For example, `DependencyResolutionResult` should stay in `@automaker/dependency-resolver`, not be moved here
|
||||
3. **Import only base types** - Other packages can import from here, but this package cannot import from them
|
||||
4. **Document the rule** - When adding new functionality, ensure it follows this constraint
|
||||
|
||||
This constraint ensures a clean one-way dependency flow:
|
||||
```
|
||||
@automaker/types (foundation - no dependencies)
|
||||
↓
|
||||
@automaker/utils, @automaker/platform, etc.
|
||||
↓
|
||||
@automaker/server, @automaker/ui
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user