Isolated development environments for anything
coderaft creates isolated development environments, contained in a project's Docker island. Each project operates in its own disposable environment, while your code remains neatly organized in a simple, flat folder on the host machine.
- Instant Setup - Create isolated development environments in seconds
- Docker-based - Leverage the power of islands (containers) for consistent environments
- Clean Organization - Keep your code organized in simple, flat folders
- Configurable - Define your environment with simple JSON configuration
- Disposable - Easily destroy and recreate environments as needed
- Isolated - Each project runs in its own island, preventing conflicts
- Docker-in-Docker - Use Docker within your coderaft environments by default
- Cross-platform - Supports Linux, macOS, and Windows (primary target: Debian/Ubuntu)
- Well Tested - Comprehensive test suite
coderaft focuses on fast, disposable, Docker-native development environments with simple, commit-friendly config.
- Minimal config: a small JSON file, no heavy frameworks
- Clean host workspace: flat folders, no complex mounts
- Reproducible: isolated per-project islands you can destroy/recreate anytime
- Docker-in-Docker ready: use Docker inside your environment out of the box
- Cross-platform: runs on Linux, macOS, and Windows wherever Docker is available
# Using the install script
curl -fsSL https://raw.githubusercontent.com/itzcozi/coderaft/main/install.sh | bash
# Mirror (CDN)
curl -fsSL https://coderaft.ar0.eu/install.sh | bash
# Or manually: https://coderaft.ar0.eu/docs/install/#manual-build-from-sourceNote: coderaft requires Docker. It supports Linux, macOS, and Windows. On Windows without WSL2, ensure Docker Desktop is running.
-
Initialize a new project
coderaft init my-project
-
Enter the development environment
coderaft shell my-project
-
Run commands in the environment
coderaft run my-project "python --version" -
List your environments
coderaft list
-
Clean up when done
coderaft destroy my-project
Commit a coderaft.json to your repo so teammates can just:
coderaft upOptional: mount your local dotfiles into the island
coderaft up --dotfiles ~/.dotfilesFor detailed documentation, guides, and examples, visit:
This project is licensed under the MIT License. See the LICENSE file for details.
Created by BadDeveloper with 💚