Skip to content

yutila-org/camelot

Camelot Logo

( •⩊• ) "Did someone say... MAGIC?!"

C23 D Hardened MPL 2.0 OpenSSF Best Practices


Camelot is a lightweight, zero-latency C framework engineered for strict memory safety, predictability, and secure execution. It compiles under C23 and is fully driven by Merlin, a compiled, standalone build orchestrator written in the D Programming Language that features interactive TUI animations.


🔮 Merlin Build Dashboard

Simply invoke make (which bootstraps merlin.d to bin/merlin) to launch the interactive, animated build dashboard:

make

Build Command Recipes

Command Action / Verification
make Summons the animated TUI dashboard and scans directory stats
make all Compiles the framework target using the secure compilation standard
make test Runs the test suite under strict Address, Undefined, and Leak Sanitizers
make run Builds and launches the C framework executable
make clean Poof! Prunes all compiled caches, object files, and binaries

🏗️ Repository Architecture

camelot/
├── include/camelot/      # Unified framework API
│   ├── core/             # Tri-state Result monad & safety poisoning guards
│   ├── memory/           # Monotonic Arena & Allocator dispatch interfaces
│   └── types/            # Fixed-width primitive specifications
├── src/                  # Implementation Source Code
├── tests/                # Verification Suite
├── merlin.d              # Standalone Merlin build orchestrator in D
└── Makefile              # Transparent bootstrap Makefile wrapper

🛡️ Security Policy Guarantees

All compiles automatically inherit the following enterprise-grade exploit mitigations:

  • ASLR Compatibility: Complies via -fPIE / -pie (Position Independent Executable).
  • Stack Protection: Hardened via -fstack-protector-strong stack canaries.
  • Memory Sandboxing: Traps runtime errors, memory leaks, and bounds overflow via -fsanitize=address,undefined,leak.
  • Undefined Behavior Mitigation: Relies on defined two's-complement integer wrapping (-fwrapv), traps integer overflows (-ftrapv), and disables unsafe standard functions (strcpy, strcat) via static compile-time poisoning.

About

A C Standard Library Framework

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors