No description
  • Rust 95.4%
  • CSS 3.9%
  • Nix 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
JMARyA de6d7a5397
Some checks failed
moira/container moira/container — succeeded
moira/threads moira/threads — definitions compiled
moira/flake/packages.containerImage@x86_64-linux packages.containerImage — queued
moira/flake/packages.default@x86_64-linux packages.default — queued
moira/flake/checks.hyve@x86_64-linux checks.hyve — queued
moira/flake/checks.tests@x86_64-linux checks.tests — queued
moira/ci moira/ci — failed
feat(ui): commit graph and contribution calendars
The commits page draws a lane graph (forks, merges, a colour per lane)
with branch and tag labels and an all-branches view; lanes are laid out
from the top of history so lines continue across pages.

Repo activity pages and user profiles show a GitHub-style calendar of
the last year: commits on any branch plus issue and patch activity,
counted only in repos the viewer can see.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 10:45:30 +01:00
deploy/kubernetes feat(core): reply to notification e-mails to comment 2026-11-05 02:37:35 +01:00
docs feat(import): import repositories from Forgejo, Gitea and GitHub 2026-11-08 09:38:35 +01:00
nix feat(core): built-in SSH server for git 2026-11-05 00:29:01 +01:00
src feat(ui): commit graph and contribution calendars 2026-11-08 10:45:30 +01:00
tests/it feat(ui): commit graph and contribution calendars 2026-11-08 10:45:30 +01:00
.DS_Store feat(ui): Forgejo/GitLab-style redesign with project sidebar, repo header, file browser, timeline and diffs 2026-11-04 19:03:19 +01:00
.gitignore docs: data model spec and decision log 2026-11-04 17:30:59 +01:00
.hyve.toml chore: allow the import commit scope 2026-11-08 09:38:35 +01:00
Cargo.lock feat(core): reply to notification e-mails to comment 2026-11-05 02:37:35 +01:00
Cargo.toml feat(core): reply to notification e-mails to comment 2026-11-05 02:37:35 +01:00
flake.lock build: Nix container image, moira pipelines and plain Kubernetes manifests 2026-11-04 21:55:12 +01:00
flake.nix feat(core): health and readiness probes, secrets file, bootstrap admin and authentik proxy preset 2026-11-04 21:55:12 +01:00
README.md feat(issues): reactions on descriptions and comments 2026-11-05 21:13:17 +01:00
renovate.json Add renovate.json 2026-11-04 18:04:00 +00:00

Hyve

HYdra VErsioning: an internal, git-native forge. Git is the source of
truth
: issues, repo metadata and access lists live in the repositories, and
the SQLite database is a disposable index that can be rebuilt at any time.

  • Smart HTTP hosting with token auth; issue refs and refs/hyve/* are fetchable
  • .hyve.toml manifest: repo types, Conventional Commits enforcement, path
    write rules, large-file limits, release versioning
  • History: grouped history, releases from tags, Keep a Changelog output,
    SemVer bump suggestion
  • Issues in the ISSUE-FORMAT v1
    standard (refs/issues/<uuid>, trailers), with server-side merging of concurrent edits
  • Webhooks: CloudEvents payloads, Standard Webhooks signatures, retries;
    or Forgejo/Gitea-format payloads and signatures per webhook
  • Explore page and an instance admin area (users, repos, maintenance)
  • Milestones, editable descriptions and comments, reactions, web file
    editing (through the push checks), zip/tar.gz archives,
    issue templates and CODEOWNERS (Forgejo/GitHub locations)
  • Organisations with owners and teams (OIDC groups welcome), stored in git
  • Git over SSH with a built-in server (no sshd needed), or the system sshd
  • Deploy keys: per-repo SSH keys for CI and bots, read-only unless allowed
    to push
  • Branch protection declared in .hyve.toml ([[protect]])
  • Search: ranked full-text over issues, patches and commit messages across
    the repos you can read, plus code search in a repo
  • Notifications: an inbox for mentions, assignments, reviews and threads
    you're in, the Gitea notifications API, and opt-in e-mail (instant or
    daily digest) that you can reply to
  • Forgejo/Gitea-compatible REST API (/api/v1/repos/...): Renovate, status
    reporters and tea work unchanged; pull requests map to patches
  • Built on appkit (UI) and authur (auth); Nix flake with a NixOS module
nix develop
cargo run -- user add alice --password secret --admin --email alice@example.org
cargo run -- serve      # http://127.0.0.1:3000
cargo test              # unit + end-to-end acceptance tests

Deploy: Nix flake (.#default, .#containerImage), NixOS module, or deploy/kubernetes/hyve.yaml. See deployment.

Docs: data model · architecture · decisions