Toolkit for C development. Scaffolds, builds, and manages projects with a header-only library ecosystem.
POSIX only · Linux · macOS · BSD
ilc new my_project # scaffold
cd my_project
ilc build # compile
ilc run # execute| Command | Description | Status |
|---|---|---|
ilc new <name> |
Create a new project | Done |
ilc build |
Build the project | Done |
ilc run <args> |
Run the project (with optional arguments) | Done |
ilc add <lib> |
Add a dependency | Planned |
ilc remove <lib> |
Remove a dependency | Planned |
my_project/
├── src/
│ └── main.c
├── include/
├── build/
└── ilc.toml
[project]
name = "my_project"
version = "0.1.0"
flags = "-O2 -Wall"
[dependencies]
array = "1.0.0"
file = "1.0.0"The core ecosystem lives in ilcLibs.
| Library | Description | Status |
|---|---|---|
ilcTypes.h |
Type aliases (u8, i32, f64...) and vector structs |
Stable |
ilcArray.h |
Dynamic arrays via X-Macro | Stable |
ilcDir.h |
Directory management | Stable |
ilcFile.h |
File I/O | Stable |
ilcString.h |
Dynamic strings (str_t) |
Stable |
ilcToml.h |
TOML parser | Partial |
ilcError.h |
Error framework | Empty stub |
| Library | Description |
|---|---|
ilcArena.h |
Arena memory allocator |
ilcMath.h |
Math utilities (sin/cos LUT, clamp, interpolate) |
ilcTerminalInput.h |
Raw terminal input |
ilcTest.h |
Test macros |
There are open bugs in both repos. Contributions welcome.
- ilc — docs/TODO.md
- ilcLibs — ilcLibs/TODO.md
v0.1 (current)
- CLI: new, build, run
- Core libs: Types, Array, Dir, File, String
v0.2
- ilc add / remove
- ilcError.h error framework
- ilcProcess.h process execution
- Tests (run_tests.sh)
v0.3
- Refactor src/ into modules
- Complete Toml integration (partial)
- Recursive src/ build
ILC manages only its own ecosystem libs. For external deps (e.g. SDL2), it tells you to install via your system package manager.
Isaac Estevan Geuster github · codeberg ilx159@proton.me
AI tools are used only as auxiliary aids. Every contribution must reflect genuine human intent.