Project: ayllu/ayllu
License: AGPL-3.0
Description: Hyper Performant & Hackable Code Forge
Kevin Schoon
make variable highlight in nord darkmode stronger
π Ayllu
Ayllu is a hyper performant & hackable code forge optimized for single instance deployments. It leverages the distributed nature of Git with a variety of standards based integrations.
Ayllu might fit the following use cases well:
- A drop-in replacement for gitweb allowing you to browse your repositories locally.
- Self-hosted personal project pages with lots of customizability.
- Small to medium sized community projects.
Name
The name Ayllu /ΛajΚu/, eye-joo is the Quechua word for the traditional form of a community in the Andes region of South America, particularly in Bolivia and Peru.
Project Status & Collaboration
Please note that this is still a work in progress and the projectβs canonical home is at ayllu-forge.org. To facilitate collaboration we have mirrors available at codeberg and sourcehut. Please feel free to use which ever platform you prefer, eventually we will import both platforms into Ayllu.
Tickets
Patches
Chat
A general development channel #ayllu
is available on libera.
Features
Feature | Status | Notes |
---|---|---|
git-log | β | |
git-clone (http & ssh) | β | |
git-notes | β | |
git-blame | β | |
git-lfs | β | |
git-verify | β | |
refs (tags & branches) | β | |
release exporting | β | |
blob rendering | β | |
tree/file browsing | β | |
patch generation | β | |
markdown rendering | β | |
diff generation | β | |
syntax highlighting | β | via tree-sitter |
source code analysis | β | |
full featured rss support | β | |
customizable themes | β | |
static hosting | β | |
activity tracking | β | |
extensible plugin system | β | |
WebFinger | β | |
mailing list support | WIP | |
xmpp integration | WIP | |
activity pub based federation | TBD | |
continuous integration | TODO | |
programmatic access | TODO | |
centralized βhubβ | TODO |
Demo
If youβd like to run a simple demo of Ayllu you can serve a local repository with our latest container image.
# change to the repository you'd like to serve
cd hello-world
podman run --rm -ti -p 10000:10000 -v $PWD:/repo --workdir /repo registry.ayllu-forge.org/ayllu/ayllu:main
# Your repository should now be available at http://127.0.0.1:10000
Installation
See the installation section in the documentation
Compiling From Source
Ayllu is written in rust and youβll need its compiler to build the project. Additionally you also must have the following installed on your system:
You can run the check_build_dependencies.sh script to verify you have all the necessary software on your system.
# check your build dependencies
scripts/check_build_dependencies.sh
# intialize the sqlite database
scripts/init_db_if_missing.sh
# install pico css
npm install
# build the project
cargo build