Project: ayllu/ayllu
License: AGPL-3.0
Homepage: https://ayllu-forge.org
Description: Hyper Performant & Hackable Code Forge
Kevin Schoon
refactor ayllu-build to improve source loading This also adds a new optional PreProcessor configuration to the builder runtime which allows pipeing some source file through an external command. After evaluating several configuration/scripting/dsl systems this approach feels the most flexible and avoids having to tie Ayllu to one particular config format. Full fledged programming languages like Nickel feel wrong because builds really don't need a static type system for their configuraiton as serde handles this already. Embeddable languages like Lua or similar are TOO flexible and powerful while everything but YAML lacks good support for reducing duplication.
π 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 | WIP | |
| 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/ensure_database.sh # build the project cargo build