Initialize Rust workspace and repository metadata

This commit is contained in:
Marco Allegretti 2026-03-10 18:47:06 +01:00
commit 8b65f81396
8 changed files with 121 additions and 0 deletions

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
* text=auto eol=lf

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
/target/
/.windsurf/
/docu_dev/
Thumbs.db

7
Cargo.lock generated Normal file
View file

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "weft-build-meta"
version = "0.1.0"

11
Cargo.toml Normal file
View file

@ -0,0 +1,11 @@
[workspace]
members = ["crates/weft-build-meta"]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2024"
rust-version = "1.93"
[workspace.lints.rust]
unsafe_code = "forbid"

52
README.md Normal file
View file

@ -0,0 +1,52 @@
# WEFT OS
WEFT OS is a Linux-based operating system effort built around a Smithay compositor, a Servo-rendered system shell, and a Wasmtime-based application runtime.
## Current repository scope
This repository currently contains:
- the baseline Rust workspace
- public engineering documentation derived from the authoritative blueprint
- initial design documents for the shell protocol boundary and the WasmServo channel
- local and CI validation paths for repository bootstrap work
It does not yet contain a compositor, shell, or application runtime implementation.
## Source of truth
The authoritative technical reference for this repository is `docu_dev/WEFT-OS-COMPREHENSIVE-BLUEPRINT.md`.
Historical blueprint documents exist in `docu_dev/`, but they are not implementation authority where they conflict with the comprehensive blueprint.
## Privacy boundary
`docu_dev/` is a private coordination area used during development. It is intentionally ignored by git and is not part of the tracked public repository surface.
## Development model
- Primary development host: Windows workstation
- Primary runtime target: Linux VM or QEMU guest
- Core system language: Rust
## Validation
On Windows PowerShell:
```powershell
./infra/scripts/check.ps1
```
On Linux:
```bash
./infra/scripts/check.sh
```
## Repository layout
```text
crates/ Rust workspace members
docs/ Public engineering documentation
infra/ Validation scripts and VM workflow material
```

View file

@ -0,0 +1,12 @@
[package]
name = "weft-build-meta"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
publish = false
[lib]
path = "src/lib.rs"
[lints]
workspace = true

View file

@ -0,0 +1,29 @@
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct WorkspaceMetadata {
pub package_name: &'static str,
pub package_version: &'static str,
}
#[must_use]
pub const fn current() -> WorkspaceMetadata {
WorkspaceMetadata {
package_name: env!("CARGO_PKG_NAME"),
package_version: env!("CARGO_PKG_VERSION"),
}
}
#[cfg(test)]
mod tests {
use super::{WorkspaceMetadata, current};
#[test]
fn reports_workspace_metadata() {
assert_eq!(
current(),
WorkspaceMetadata {
package_name: "weft-build-meta",
package_version: env!("CARGO_PKG_VERSION"),
}
);
}
}

4
rust-toolchain.toml Normal file
View file

@ -0,0 +1,4 @@
[toolchain]
channel = "1.93.0"
components = ["clippy", "rustfmt"]
profile = "minimal"