move migrations back to the top level of the repository
π 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 |
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