A single-file CMS written in Zig. Zero dependencies, one binary, one SQLite database.
No frameworks, no npm, no external dependencies. Single binary, zero runtime dependencies. Every line of code is ours.
- Language: Zig 0.15.x
- Database: SQLite (embedded)
- Frontend: Server-rendered HTML + vanilla JS + plain CSS
# Build
zig build
# Run
zig build run -- serve --port 8080
# Test
zig build test- Architecture - Design decisions and technical approach
- Dependencies - Dependency policy and vendored libraries
- Contributing - Coding conventions and common tasks
- Project Structure - Codebase layout and key files
Phase: Phase 1 complete
Completed:
build.zigwith SQLite compilation and static asset embeddingvendor/with SQLite amalgamation and stb_image headerssrc/main.zigwith CLI (serve command, --port, --dev flags, PORT env var)src/http.zigwith HTTP server (/, /admin, /static/*)- Graceful shutdown on SIGINT/SIGTERM
- Thread-per-connection request handling
Next steps:
- Add router with path parameters
- Add middleware pattern
- Build admin authentication