Avatar-CLI is a command line tool that allows you to run thousands of cli programs for your dev projects without having to install them in your system. You can see it as a sort of Python's "virtual env" for containerized software.
It can ease the development forkflow in many ways:
- Making possible version-pinning for any kind of tool used in any kind of
project. No need for complex setups or ultra-specific tools like
asdf-vm, ... I guess you already have seen the pattern.
- Making possible for new contributors to be productive from the very first
minute, reducing the bootstrap/setup time to almost zero. Only
Why Avatar-CLI exists and what problems does it try to solve?
- Avatar-CLI was created to shorten setup time of development environments to near-zero.
- Avatar-CLI lets each project define its development environment as code and share it through source control as a configuration file. See the Avatarfile documentation.
Problems solved by Avatar-CLI and surrounding practices:
- Works on my machine - With Avatar-CLI, each developer (and/or CI agent) gets a consistent and reproducible environment built with a combination of docker images.
- Avatar-CLI helps to fight configuration drift. Tools and configurations in the CI/CD environments and developers' environments tend to accumulate differences and mismatches over time. Avatar-CLI allows using exactly the same tools, having a single source of truth for their configuration.
Developed in Go. It requires highly customized image definitions.
Developed in Go. It uses a single mutable container where all the development dependencies are installed.