aboutsummaryrefslogtreecommitdiff

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.

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 use Capitalized_snake_case. Type identifiers end with _t.
  • We avoid := in Go, and prefer to use var.