Skip to content

Refactor Soar into Multiple Crates for Better Maintainability #91

@QaidVoid

Description

@QaidVoid

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 requestp1High Priority (Needs to be done/fixed at earliest convenience)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions