allay is the only package manager that actually manages packages for CC: Tweaked.
as expected, it makes CC software easier to install, uninstall, update and publish.
it makes ANY CC software easier to install. And we work with unicornpkg packages too!
for users, that means less copying files around and less chasing missing libraries.
for developers, that means you can ship software without writing a custom installer for every project.
wget run https://raw.githubusercontent.com/allaycc/allay/main/install.luaideally, this is the last installer you paste by hand.
most CC projects were not written for a package manager. allay is built around that.
allay can install from package sources, existing package formats, and github repos directly. if a repo has package metadata, great! allay will use it. if it does not, allay can still inspect the project, read code, find installable files, and build an install plan where possible.
the goal is to make CC software installable wherever it already lives.
install the allay or unicornpkg repo you want:
allay install packageor install any other CC software from github:
allay install gh:user/repounicornpkg packages work too
if a package is already in unicornpkg format, allay can read it through the compatibility layer 'alicorn':
allay info alicornupdate everything later:
allay updateremove what you no longer need:
allay remove packageyou install a program, it complains about a missing library, you go find that library, and then maybe that library needs something else.
allay makes that trivial.
if a package declares dependencies, allay installs them automatically. if a github repo uses libraries allay recognizes, it can pull those in too. if something cannot be resolved automatically, allay tells you what it couldn't find.
shared dependencies are installed once and reused by the packages that need them.
allay remembers where installed packages came from.
allay updatenormal packages update from their source, and github repo installs can refresh from the repo they came from.
you can update everything at once, or update one package:
allay update packagepublishing CC software should not be harder than writing it.
with allay, you can make a project installable by adding package metadata and publishing it through a source.
allay inita package can include programs, libraries, startup files, config files, help files, and dependencies. allay puts them where they belong, and users get a normal install/update/remove flow.
allay does not depend on one central catalog.
allay source add user/repo
allay source add https://example.com/packagessources can be GitHub repos, https hosts, floppy disks, or even rednet transports with the plugin installed.
| repo | what it is |
|---|---|
| allay | cli and runtime |
| core | default package source |
| extras | curated CC: Tweaked libraries and tools |
| lualibs | reusable lua libraries used by allay |
| alicorn | unicornpkg compatibility |
| spec | package, source index, and lockfile specs |
| server | experimental rednet package server |
| rednet-transport | experimental rednet:// transport |