Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
How does it compare to plop? #1
The long answer first. While not strictly a comparison here's the hygen announcement blog post - https://medium.com/@jondot/hygen-the-scalable-code-generator-that-lives-in-your-project-a8e163c42869. In this post you can get a good sense of the 'whys' and the core values of hygen and a little bit about how to build great software products.
The short answer is this. Hygen was built to support a large number of teams, large number of developers and/or a big code base, so that it scales and evolves with your project and team. One difference between the two is that plop will make all these people, and activity share a single file which is a pain in merges, conflicts and code reviews. In addition hygen is contextual, so it will automatically understand where it is in your code base and what generators are relevant for each part (think about monorepos) and use only those.
But it's much more than that. A design goal for hygen is to be instinctive - the amount of effort to make a generator and meet your goal from a developer experience perspective should always go to zero. So then you have generator generators, helpers, a familiar logic-full templating engine, and maybe a little bit surprising, but I think attention for details is super important - for example, there's someone (me) watching your back and making sure hygen is always fast. I've used many generator toolkits and frameworks that were grinding to a halt as I used them more fully. Slow developer tools fall out of love eventually and become that "something someone played with" in your code base.
Some immediate next milestones:
Hope that helps
Sharing generators may be very tricky though, as hygen or plop keep them rather tightly coupled to the project architecture (in comparison to external, more universal generators). Nonetheless having a library of example use cases is certainly a good thing.
I have to admit I'm really surprised hygen didn't break through in the community. Hopefully that changes.
Thanks! I hope you find it useful
Part of open sourcing it is making sure the code base looks somewhat familiar to an outsider, which is what I’m working on right now. Simplifying it so that it’s easily hackable and extendable.
I regarding shared templates - you’re completely right. Any experience you can share will help solving this!