First off, I love the philosophy, and the package format is nice.<p>I'm not a language hipster, I don't care what language you write something in as long as it fits the purpose well, and shell can certainly do that here. However, some uses of shell in the package manager are non-obvious, and that will make it more difficult for people to troubleshoot or maintain this code.<p>@OP: I imagine you've examined Slackware's pkgtools? (<a href="https://slackware.osuosl.org/slackware-12.1/source/a/pkgtools/scripts/" rel="nofollow">https://slackware.osuosl.org/slackware-12.1/source/a/pkgtool...</a>) They're written in shell too, and have been in use since 1994. I wish they would get a bit more updated to do things like read metadata (especially for Slackbuilds) and handle build dependencies, but I always found them pretty easy to understand and modify to my needs. Later I threw together some scripts to automate the most common configure/make/make install/packaging steps (<a href="https://github.com/psypete/public-bin/tree/public-bin/src/slacktools" rel="nofollow">https://github.com/psypete/public-bin/tree/public-bin/src/sl...</a>). My scripting experience was, let's say... "limited". :)<p>I ended up making a couple thousand packages from tarballs. What that taught me was that actually managing build dependencies, and the complications of layering different software into the same file tree, was a lot more weird than it seemed. So depending on people's intentions with this distro, it may end up being a lot more complicated for them to manage than they think.