musiclink/docs/reviews/infra.md

1.3 KiB

Code Review: Project/Infra Metadata

Scope

  • go.mod, go.sum
  • flake.nix, flake.lock
  • LICENSE

Findings

Strengths

  • Nix flake provides build + dev shell and a hardened systemd service definition.
  • Go module dependencies are explicit; module list is straightforward.
  • LICENSE is standard MIT.

⚠️ Issues / Opportunities

  1. Flake description still Matterbridge-centric

    • Description/metadata mention Matterbridge sidecar; Matrix-native mode is now supported.
    • Consider updating description/homepage to avoid confusion.
  2. Nix service unit assumes Matterbridge

    • after = [ "network.target" "matterbridge.service" ] bakes in Matterbridge even for Matrix-native mode.
    • Consider making the dependency conditional or optional.
  3. Go toolchain version mismatch with README/worklog

    • go.mod is now 1.24.0, while README says 1.22+ and worklog mentions 1.22.8.
    • Consider aligning documentation and nix dev shell Go version.
  4. Vendor hash may need update after deps

    • vendorHash in flake may need updating due to new deps (mautrix/sqlite).
    • Nix builds will fail until hash is refreshed.

Notes

  • Dev shell includes matterbridge; consider adding sqlite if using the pure-Go driver for local inspection.