-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Labels
enhancementNew feature or requestNew feature or requestp1High Priority (Needs to be done/fixed at earliest convenience)High Priority (Needs to be done/fixed at earliest convenience)
Description
This issue tracks the refactoring of the soar codebase into multiple, well-defined crates to improve maintainability, modularity, and development workflow. This modular approach will enable better separation of concerns, easier testing, and allow for individual crate versioning.
Goals
- Improved Maintainability: Separate concerns into focused, single-responsibility crates
- Better Testing: Enable isolated unit testing for individual components
- Modularity: Allow external projects to consume specific soar functionality
- Development Velocity: Enable parallel development on different components
- Code Reusability: Make soar components available as libraries for other projects
- Cleaner Dependencies: Reduce compilation times by having focused dependency trees
Proposed Crate Structure
- soar-core (refactor & cleanup)
- soar-cli (refactor & cleanup)
- soar-config - Configuration management
- soar-dl - Merge from https://github.com/pkgforge/soar-dl for downloads
- soar-package - Package format handling
- soar-db - Database and package tracking
- soar-registry - Repository interactions
- soar-utils - Shared utilities for soar modules
Testing Strategy
- Unit Tests: Each crate will have comprehensive unit tests
- Integration Tests: Cross-crate functionality testing
- Workspace Tests: Full system integration testing
- CI/CD: Separate testing pipelines for individual crates
- Benchmarks: Performance testing for critical paths
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestp1High Priority (Needs to be done/fixed at earliest convenience)High Priority (Needs to be done/fixed at earliest convenience)