Description
Introduce a new @h3ravel/contracts package to house all shared interfaces, types, and contracts used across the H3ravel ecosystem.
This package will serve as the single source of truth for cross-package abstractions and must remain implementation-agnostic.
Goals
- Decouple implementations from interfaces
- Improve type consistency across packages
- Avoid circular dependencies between core packages
Scope
The package may include (but is not limited to):
- Application contracts
- Service provider contracts
- HTTP-related contracts (Request, Response, Middleware)
- Queue, Event, Cache, Logger contracts
- Filesystem and Storage contracts
Tasks
Acceptance Criteria
- No concrete implementations in this package
- All exports are interfaces, types, or abstract classes
- Other packages depend on contracts, not implementations
- No runtime side effects
Difficulty
Intermediate
Description
Introduce a new
@h3ravel/contractspackage to house all shared interfaces, types, and contracts used across the H3ravel ecosystem.This package will serve as the single source of truth for cross-package abstractions and must remain implementation-agnostic.
Goals
Scope
The package may include (but is not limited to):
Tasks
@h3ravel/contracts@h3ravel/contractsAcceptance Criteria
Difficulty
Intermediate