OJC-shell is a lightweight, minimal, and extensible Unix-like shell written in pure C - designed as the first building block of the OJclicks OS vision.
This project is not just another shell. It is a deliberate step toward understanding how systems actually work — from process execution and memory handling to user interaction at the lowest level.
OJC-shell is built on three core principles:
No unnecessary layers. Every line of code serves a purpose.
This shell exists as a hands-on exploration of operating system fundamentals.
Knowledge should not be hidden behind binaries or paywalls.
- Basic command parsing and execution
- Process handling using low-level system calls
- Minimal dependencies (pure C, close to the metal)
- Designed to evolve alongside OJclicks OS
Most developers use shells. Few understand how they actually work.
OJC-shell is an attempt to close that gap.
It is not production-ready — and that’s intentional. It is raw, evolving, and transparent.
OJC-shell is the entry point to a larger ambition: building a full operating system from scratch.
Not as a copy. Not as a tutorial clone. But as a personal, experimental, and open system.
Contributions are welcome — but more importantly, curiosity is required.
If you:
- Want to understand systems on a deeper level
- Enjoy working close to the hardware
- Believe open source is about sharing knowledge, not just code
Then you're in the right place.
This project is a journey, not a finished product.
If it breaks, fix it. If it’s unclear, improve it. If you learn something, share it.