Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: ENVy, a Development Environment Manager (envy-project.github.io)
13 points by magmastonealex on Feb 28, 2020 | hide | past | favorite | 7 comments


What advantage does this offer over just using docker-compose directly?


We found that working inside a docker container isn't usually turn-key.

You need to figure out a system to get UID/GIDs in sync between the container and the host (otherwise you mess up permissions of files in your repository. This isn't terribly hard, but is annoying boilerplate to keep writing.

Plus, docker-compose doesn't really offer command discovery. Looking at a docker compose file, I don't know how to run the project's build steps, or run their linter or tests. Having to look that up is, in my opinion, annoying.

In general, we try to provide sane defaults, so that users (and to some extent maintainers) don't need to understand Docker and how it works in order to start using it.


> Plus, docker-compose doesn't really offer command discovery. Looking at a docker compose file, I don't know how to run the project's build steps, or run their linter or tests. Having to look that up is, in my opinion, annoying.

Shouldn’t this be in the README at / of the project?


Hi Hacker News!

We have been working on a tool called ENVy:

http://envy-project.github.io/ https://github.com/envy-project/envy

ENVy is an environment manager to make working on disparate projects easier. You don't need to worry about what a package is called on your Linux distribution, or figure out how to build for Mac from scratch.

Part of our goal was to make it easier to contribute to open source. We noticed that long contributing guides dissuades casual involvement - if you have to install a bunch of dependencies (that you won't necessarily know how or remember to get rid of), and spend half an hour getting set up, you're not very likely to fix a typo or make a 30 second fix for a personally annoying bug.

There's also some value for business projects - we've found times that you just need to make a "simple" change to another team's codebase, and it turns into a multi-day effort of setting up an environment.

Setup with ENVy is as simple as typing `envy up` for any project you want to work on. Running `envy nuke` removes all traces of that environment. With ENVy, you don't need to hunt down a lint command or how you run the tests. `envy -h` shows you all the commands you can run - or just jump into a shell with `envy shell`.

You can read more about ENVy on our site, but the short version is that we think it'll make it easier for contributors to help out in open-source projects.

If you're interested, you can check out some examples to get up and running:

https://github.com/envy-project/examples

Under the hood, it handles the intricacies of setting up and working within a Docker container - it sounds simple on the surface, but networking, file permissions, and setup can wind up being kind of complicated.

We definitely realize that a critical mass of users and projects is required to have this be a truly useful project, and we've started to open some pull requests in open-source projects to gauge maintainer interest.


Is this at all related to progrium's envy? (https://github.com/progrium/envy)


We did find that project as well. It's unrelated though - ours is intended to run on your local machine whereas that one seems intended to run on a server somewhere.

Unfortunate naming collision though :(


I don't think that's going to prevent confusion. I'd have assumed they were phases of the same project at a casual glance.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: