Cryptix-CoreUtils is an early-stage implementation of a minimal set of Unix-like core utilities written in Rust. The project is intended to provide basic userland tools for CryptixOS and to serve as a foundation for further expansion.
The focus is on correctness, clear structure, and tight integration with the operating system rather than feature completeness or full GNU compatibility.
- Provide essential command-line utilities required for a usable userland
- Keep implementations simple and auditable
- Avoid unnecessary dependencies
- Allow direct interaction with system calls where appropriate
- Support incremental growth as CryptixOS evolves
This project is under active development and most of the utilities are incomplete.
Currently implemented or partially implemented utilities include:
clearlsunameyestruefalseechopwd
Behavior may differ from GNU coreutils and POSIX in some cases.
The repository is organized as a Rust workspace:
.
├── Cargo.toml # Workspace definition
├── coreutils/ # Shared library crate
│ └── src/
│ ├── lib.rs
│ ├── clear.rs
│ ├── ls.rs
│ ├── uname.rs
│ ├── yes.rs
│ ├── echo.rs
│ ├── pwd.rs
│ ├── true.rs
│ └── false.rs
├── bin/ # Thin binary crates
│ ├── clear/
│ ├── ls/
│ ├── uname/
│ ├── yes/
│ ├── echo/
│ ├── pwd/
│ ├── true/
│ └── false/
└── .github/workflows/ # CI configuration
Each binary crate contains only a main.rs that forwards execution to the corresponding function in the coreutils library.
- Library-first: All logic lives in the
coreutilslibrary; binaries are thin wrappers. - Explicit exit codes: Each utility returns an
i32status code. - Minimal abstractions: Prefer straightforward code over heavy frameworks.
- System-oriented: Utilities are written with OS development constraints in mind.
To build all utilities:
cargo build --workspaceTo build a specific utility:
cargo build -p clearBasic tests (where available) can be run with:
cargo test --workspaceThe project uses GitHub Actions to:
- Build the full workspace
- Run tests
- Enforce formatting via
rustfmt - Run
clippywith warnings treated as errors
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
SPDX identifier:
GPL-3.0
This project is at an early stage. Interfaces, behavior, and internal structure are subject to change without notice.
Contributions, experimentation, and refactoring are expected as development continues.