freshenv
is a command line application to provision and manage local developer environments.
This is a solution to a problem I have always had. I like my system to be clean, minimal and structured.
It gets quite tricky to manage multiple projects on my on machine, projects tend to gather and are placed everywhere.
Overtime managing system wide dependencies becomes a problem. It is quite easy to mess up a system setting or to
keep track of a package I wont need tomorrow. This is why I built freshenv
. It is a command line application
which helps developers in running and managing completely isolated developer environments locally.
It fetches and lets you run environment flavours in the form of docker containers
which are preconfigured with tools and packages developer needs everyday. Read about the usage below.
I imagine it would help developers like me, its free and open source
. I hope you like it.
Install the freshenv python package from pypi. You must have docker
and python3.7+
installed.
pip install freshenv
I would recoomend using pipx instead of pip to install cli applications on you machine.
Install the freshenv python package from a self hosted homebrew tap. You must have docker
and python3.7+
installed.
brew tap raiyanyahya/freshenv
brew install freshenv
I am trying to get freshenv on homebrew-core but I need more stars on the repository for them to accept my pull request. The self hosted tap is available on the repo raiyanyahya/homebrew-freshenv.
Usage: freshenv [OPTIONS] COMMAND [ARGS]...
A cli to provision and manage local developer environments.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
check Check system compatibility for running freshenv.
provision Provision a developer environment.
remove Remove a freshenv environment.
start Resume working in an environment.
view View local freshenv managed environments.
provision
Usage: freshenv provision [OPTIONS]
Provision a developer environment.
Options:
-f, --flavour TEXT The flavour of the environment. [default: devenv]
-c, --command TEXT The command to execute at startup of environment.[default: zsh]
-p, --ports INTEGER List of ports to forward. [default: 3000]
-n, --name TEXT Name of your environment.
--help Show this message and exit.
start
Usage: freshenv start [OPTIONS] NAME
Resume working in an environment.
Options:
--help Show this message and exit.
remove
Usage: freshenv remove [OPTIONS] NAME
Remove a freshenv environment.
Options:
-f, --force Force remove an environment.
--help Show this message and exit.
view
Usage: freshenv view [OPTIONS]
View local freshenv managed environments.
Options:
--help Show this message and exit.
check
Usage: freshenv check [OPTIONS]
Check system compatibility for running freshenv.
Options:
--help Show this message and exit.
Contributions are always welcome!
See contributing.md
for ways to get started. Please adhere to this project's code of conduct
.
Contact me through email at raiyanyahyadeveloper@gmail.com.