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 (Debian, Ubuntu, Fedora, Arch, Alpine, and more), macOS, and Windows
- 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
curl -fsSL https://raw.githubusercontent.com/itzcozi/coderaft/main/install.sh | bashcurl -fsSL https://raw.githubusercontent.com/itzcozi/coderaft/main/install-macos.sh | bashOr manually with Homebrew:
brew install go git docker --cask
git clone https://github.com/itzcozi/coderaft.git && cd coderaft
make build && sudo make install# PowerShell (run as Administrator)
irm https://raw.githubusercontent.com/itzcozi/coderaft/main/install.ps1 | iexOr manually:
# Prerequisites: Docker Desktop, Go, Git
git clone https://github.com/itzcozi/coderaft.git; cd coderaft
.\build.ps1 -InstallNote: coderaft requires Docker on all platforms. On Windows, use Docker Desktop. On macOS, use Docker Desktop for Mac.
-
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 💚