A wrapper that runs commands in ephemeral Docker containers, eliminating the need to install languages and tools locally.
EnvCLI is a command-line wrapper tool that runs project commands inside ephemeral Docker containers defined in a configuration file. It ensures reproducible builds and identical development environments across machines by containerizing toolchains, simplifying onboarding and dependency management.
Development teams and individual developers working on projects that require consistent tool versions across different machines, such as those using Node.js, Go, or other languages with specific compiler or dependency requirements.
Developers choose EnvCLI because it abstracts away complex Docker commands into simple aliases, allowing them to run commands like 'npm install' or 'go build' transparently inside containers without manual Docker setup. Its unique selling point is the ability to define multiple commands from a single Docker image in a centralized configuration file, ensuring environment consistency without permanent container installations.
Don't install Node, Go, ... locally - use containers you define within your project. If you have a new machine / other contributors you just have to install docker and envcli to get started.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ensures every developer and CI system uses identical tool versions by running commands in specified Docker images, preventing version conflicts as emphasized in the README.
New contributors only need Docker and EnvCLI installed to start coding without setting up project dependencies, reducing setup time significantly.
After running `envcli install-aliases`, commands like `npm install` run inside containers without developers noticing, simplifying workflows as shown in the examples.
Supports system-scoped configuration to define global tools like htop or grep, avoiding local installations and ensuring consistency across projects.
Requires Docker to be installed and running, adding setup complexity and potential compatibility issues on some systems, limiting portability.
Each command spins up a new Docker container, introducing latency compared to native execution, especially for frequent, short-lived commands.
Managing `.envcli.yml` files across projects can become cumbersome, and misconfigurations may lead to obscure errors that are hard to debug.