Expand description
§os_foundry_suite
os_foundry_suite is a Rust 2024 suite crate that unifies multiple OS-building crates into a single, cohesive entry point.
§What this crate provides
- A stable, well-documented facade (
prelude,OsBlueprint,OsBuilder,Target). - Suite presets:
Profiles. - Integration validation:
validate_blueprint_integrations(). - Optional, feature-gated re-exports of the underlying crates.
- Suite-level conventions: naming, configuration validation, and integration points.
§Underlying crates
The following crates can be enabled via feature flags and accessed through os_foundry_suite::crates::*.
os_kernel_foundry(kernel-foundry)os_dev_toolkit(dev-toolkit)os_metal_primitives(metal-primitives)os_service_fabric(service-fabric)os_linker_sculptor(linker-sculptor)os_slab_vault(slab-vault)os_abi_sentinel(abi-sentinel)os_state_maestro(state-maestro)os_observatory(observatory)os_image_lens(image-lens)
§Attribution
This project was produced by an artificial intelligence system (AI) based on an original idea by alisio85.
§os_foundry_suite
This crate is a suite facade that unifies multiple OS-building crates into a single, coherent, well-documented entry point.
It is designed to:
- Provide a stable, user-friendly orchestration API (blueprints, builders, targets).
- Re-export the underlying crates behind feature flags.
- Offer conventions and integration helpers so downstream projects can compose kernel, services, ABI contracts, state machines, observability, and images with less friction.
§Feature flags
The underlying crates are optional dependencies. Enable only what you need:
kernel-foundry=>os_kernel_foundrydev-toolkit=>os_dev_toolkitmetal-primitives=>os_metal_primitivesservice-fabric=>os_service_fabriclinker-sculptor=>os_linker_sculptorslab-vault=>os_slab_vaultabi-sentinel=>os_abi_sentinelstate-maestro=>os_state_maestroobservatory=>os_observatoryimage-lens=>os_image_lens
Additional features:
serdeenables serialization support for select suite-level types.
§Quick start
use os_foundry_suite::prelude::*;
let blueprint = OsBlueprint::minimal_dev();
blueprint.validate().unwrap();
let plan = OsBuilder::new(blueprint)
.target(Target::x86_64_bare_metal())
.validate_and_plan()
.unwrap();
assert_eq!(plan.target.arch, Arch::X86_64);§Scope
This crate intentionally focuses on composition and orchestration. It does not attempt to hide all complexity involved in OS development; instead it provides a consistent structure and strongly-typed configuration to reduce accidental complexity.
Re-exports§
pub use artifacts::ArtifactCatalog;pub use artifacts::BuildMetadata;pub use artifacts::WorkspaceLayout;pub use builder::BuildPlan;pub use builder::OsBuilder;pub use config::AbiPolicy;pub use config::ImageConfig;pub use config::ImageKind;pub use config::KernelConfig;pub use config::MemoryConfig;pub use config::ObservabilityConfig;pub use config::OsBlueprint;pub use config::ServiceSet;pub use config::ValidationReport;pub use error::Error;pub use error::Result;pub use execution::CommandSpec;pub use execution::ExecutionPlan;pub use execution::ExecutionPlanner;pub use execution::QemuRunSpec;pub use execution::ToolchainChannel;pub use execution::ToolchainSpec;pub use execution::plan_execution;pub use export::CommandExport;pub use export::ExecutionPlanExport;pub use export::ImagePlanExport;pub use export::ServiceGraphExport;pub use export::SuiteReportExport;pub use image::BootArtifact;pub use image::ImageLayoutIntent;pub use image::ImagePlan;pub use image::PartitionScheme;pub use image::PartitionSpec;pub use image::plan_image;pub use integration::validate_blueprint_integrations;pub use pipeline::derive_artifacts;pub use profiles::Profiles;pub use report::SuiteReport;pub use services::ServiceGraph;pub use services::ServiceId;pub use services::ServiceNode;pub use targets::Arch;pub use targets::Target;