Lindenii Forge
Work in progress.
Note: Because of limitations with Go's memory model, we are developing a new version in Hare. The Go version will still be used for prototyping.
Lindenii Forge aims to be an uncomplicated yet featured software forge, primarily designed for self-hosting by small organizations and individuals.
- Upstream source repository (backup)
- Website and documentation
- Temporary issue tracker
- IRC
#lindenii
on irc.runxiyu.org\ and#lindenii
on Libera.Chat
Planned features
- Umambiguously parsable URL
- Groups and subgroups
- Repo hosting
- Merge requests
- Push to
contrib/
branches to automatically create MRs - Integration with traditional mailing list workflows
- Ticket trackers
- Email integration with IMAP archives
- Web interface
- Discussions
- Email integration with IMAP archives
- Web interface
- Multiple user interfaces: web, SSH, email, custom API
- Federated authentication
License
We are currently using the GNU Affero General Public License version 3.
The forge software serves its own source at /:/source/
.
Support and development
Please submit patches by pushing to contrib/...
in the official repo.
We have several Git repo mirrors on a few places: * Lindenii Forge itself * The Lindenii Project's cgit * SourceHut * Codeberg * GitHub
Code style
We follow the Lindenii Project's general code style, which has a few important deviations from what most people may be used to:
- We used tabs for indentation everywhere (Go, C, HTML, CSS, JS, SQL, etc.)
- All names are in
snake_case
; exported identifiers in Go useCapitalized_snake_case
. Type identifiers end with_t
. - We avoid
:=
in Go, and prefer to usevar
.