-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
P1Priority 1 - HighPriority 1 - HighconfigurationConfigurationConfigurationpackagePackage systemPackage system
Milestone
Description
Build Package Configuration System
Priority
P1 (High) - Enables multi-schema projects
Labels
corepackageconfigurationP1
Estimated Effort
2 weeks
Description
Implement the package configuration system that allows multi-schema projects with dependencies. This includes parsing comline.toml files and managing schema imports across packages.
Current State
Location: core/src/package/config/
Basic structure with incomplete interpreters and many TODOs.
TODO References
package/config/ir/mod.rs:70- Should use CAS loader instead of basic storagepackage/config/ir/context.rs:57,66,73,104,138,145- Incomplete methodspackage/config/idl/parser.rs:10- Old parser should be deleted
Acceptance Criteria
-
comline.tomlformat defined and documented - Package config parser implemented
- Schema dependency resolution working
- Package build pipeline functional
- Circular dependency detection
- Integration with CAS system
- Example multi-package project works end-to-end
Tasks
- Define
comline.tomlschema (TOML format)- Package metadata (name, version, authors)
- Dependencies (local and remote)
- Build settings
- Code generation targets
- Implement config file parser using
toml_edit - Create package resolution algorithm (topological sort)
- Add dependency graph builder
- Integrate with CAS loader for frozen schemas
- Add package validation (version compatibility, etc.)
- Create multi-package test cases
- Write package system documentation
- Remove old/deprecated parser code
Example comline.toml
[package]
name = "my-api"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
[dependencies]
comline-std = "0.1.0"
other-schemas = { path = "../other-schemas" }
[build]
targets = ["rust", "typescript"]Dependencies
- CLI Tool Implementation #2 CAS System (for frozen schema loading)
Blocks
None (can be developed in parallel with #5)
Metadata
Metadata
Assignees
Labels
P1Priority 1 - HighPriority 1 - HighconfigurationConfigurationConfigurationpackagePackage systemPackage system
Type
Projects
Status
Todo