Project: ayllu/ayllu

License: AGPL-3.0

Homepage: https://ayllu-forge.org

Description: Hyper Performant & Hackable Code Forge

Clone
httphttps://ayllu-forge.org/ayllu/ayllu
Source Tree

Kevin Schoon

16 hours ago

refmain
commit7bb4264bd829b82de5f8f3b1a44ff7d958eb316c
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.
 
File Commit Size Mode Time
.ayllu-build.json fix ayllu build tasks 1.4 KiB -rw-r--r-- 1 day ago
.containerignore add lfs support to base and multiuser container 10 B -rw-r--r-- 2.0 years ago
.env add .env back for sqlx 36 B -rw-r--r-- 6 months ago
.gitignore ignore .deb files 211 B -rw-r--r-- 9 months ago
.tokeignore update tokeignore 16 B -rw-r--r-- 2.4 years ago
.woodpecker build base-build container first in ci NaN B d--------- 11 months ago
ATTRIBUTIONS.md replace tera with askama and eliminate all unused features 1.1 KiB -rw-r--r-- 1.0 years ago
Cargo.lock switch to bundled sqlite 97.2 KiB -rw-r--r-- 22 hours ago
Cargo.toml vendor libgit2 1.2 KiB -rw-r--r-- 22 hours ago
Containerfile.build fix ayllu build tasks 176 B -rw-r--r-- 1 day ago
LICENSE add LICENSE 33.7 KiB -rw-r--r-- 2.9 years ago
README.md cleanup readme and docs 5.5 KiB -rw-r--r-- 6 months ago
ayllu-build refactor ayllu-build to improve source loading NaN B d--------- 16 hours ago
ayllu-init wire up healthceck for build containers NaN B d--------- 3 days ago
ayllu-jobs bump rust edition to 2024, eliminate explicit rust version c... NaN B d--------- 7 months ago
ayllu-keys run cargo fmt NaN B d--------- 6 months ago
ayllu-mail bump rust edition to 2024, eliminate explicit rust version c... NaN B d--------- 7 months ago
ayllu-migrate migrate from sqlx to diesel NaN B d--------- 5 days ago
ayllu-shell wire in default_branch option NaN B d--------- 1 day ago
ayllu-web allow specifying collection/repository as an argument to ayl... NaN B d--------- 2 days ago
ayllu-xmpp switch sqlx to use offline mode with committed json query fi... NaN B d--------- 6 months ago
ayllu.7.scd improve man page and shell completion for packagers 892 B -rw-r--r-- 1 day ago
biome.json replace tera with askama and eliminate all unused features 366 B -rw-r--r-- 1.0 years ago
config.example.toml refactor ayllu-build to improve source loading 12.2 KiB -rw-r--r-- 16 hours ago
containers support git-receive-pack in ayllu-shell NaN B d--------- 9 months ago
contrib add ayllu archlinux package, update sysusers NaN B d--------- 10 months ago
crates refactor ayllu-build to improve source loading NaN B d--------- 16 hours ago
diesel.toml migrate from sqlx to diesel 285 B -rw-r--r-- 5 days ago
docs cleanup readme and docs NaN B d--------- 6 months ago
packaging revive ayllu-build with common database NaN B d--------- 7 months ago
quipu hack up some new build commands in quipu NaN B d--------- 1 day ago
scripts add .env back for sqlx NaN B d--------- 6 months ago
xtask improve man page and shell completion for packagers NaN B d--------- 1 day ago
README.md
5.5 KiB

πŸŒ„ 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