How aerynos/os-tools works
This workspace provides moss, a package and system-state manager; boulder, a sandboxed package builder; and the shared .stone package-format implementation. The principal moss workflow is a user command through the CLI and client, which resolves packages from repositories and plugins, then changes or queries installation state. Boulder turns YAML recipes and upstream sources into analyzed, split packages and emits .stone artifacts. README capabilities are represented, but unsampled module wiring is shown only where documented or supported by the available excerpts.
Main entry points: client/mod.rs Package client · build.rs Sandboxed build · cli/mod.rs Moss commands · manager.rs Repository manager
Components 25
Moss manager
- Moss commands
moss/src/cli/mod.rs - Package client
moss/src/client/mod.rs - Repository manager
moss/src/repository/manager.rs - Repository indexes
moss/src/repository/format/root_index.rs - Package registry
moss/src/registry/mod.rs - Repository plugin
moss/src/registry/plugin/repository.rs - Package metadata
moss/src/package/mod.rs - Installation
moss/src/installation.rs - State database
moss/src/db/state/mod.rs - Metadata database
moss/src/db/meta/mod.rs - System model
moss/src/system_model.rs
Boulder builder
- Boulder commands
boulder/src/cli.rs - Build recipe
boulder/src/recipe.rs - Upstream sources
boulder/src/upstream.rs - Sandboxed build
boulder/src/build.rs - Build container
boulder/src/container.rs - Package draft
boulder/src/draft.rs - Package analysis
boulder/src/package/analysis.rs - Package collection
boulder/src/package/collect.rs - Package emission
boulder/src/package/emit.rs
Stone format
- Stone format
crates/stone/src/lib.rs - Stone package
Shared capabilities
- Transaction triggers
crates/triggers/src/lib.rs
Other components
- User
- Package repository
Connections 25
- User → Moss commands: invokes
- Moss commands → Package client: dispatches
- Package client → Package registry: queries
- Package registry → Repository plugin: dispatches
- Repository plugin → Metadata database: queries
- Repository plugin → Package metadata: returns metadata
- Package client → Installation: manages state
- Package client → State database: reads and writes
- Package client → Transaction triggers: executes
- Package client → System model: exports model
- Moss commands → Repository manager: manages repositories
- Repository manager → Package repository: fetches indexes
- Repository manager → Repository indexes: updates metadata
- User → Boulder commands: invokes
- Boulder commands → Build recipe: loads recipe
- Boulder commands → Sandboxed build: starts build
- Sandboxed build → Build container: runs sandbox
- Sandboxed build → Upstream sources: fetches sources
- Sandboxed build → Package draft: creates draft
- Package draft → Package analysis: analyzes files
- Package draft → Package collection: collects packages
- Package collection → Package emission: emits packages
- Package emission → Stone format: encodes format
- Stone format → Stone package: writes package
- Package client → Stone format: reads packages