Files
nixfiles/home/claude/memory/git_conventions.md
T
Emma Thorpe 10cc6cceed refactor(flake): add user registry and multi-user host support
Separate user identity (data) from the reusable modules, and let a host
declare any number of users instead of exactly one.

- users/registry.nix: per-user identity (name, email, groups, authorized
  and signing keys) as the single source of identity; no user data is
  hardcoded in the modules.
- mkHost takes a `users` set keyed by username; per-user identity is
  injected into each home config via the `identity` module arg
  (extraSpecialArgs is per-host, so it cannot carry per-user data).
- modules/users.nix builds accounts from the registry; modules/ssh.nix no
  longer defines authorized keys (the registry owns them); home/git.nix
  and home/desktop.nix read `identity`; users/emmathorpe/work.nix drops
  its now-redundant git identity override.
- Restructure the tree: users/, home/, modules/, hosts/, lib/ replace the
  former lyrathorpe/ and system/ layout.
- Add standalone homeConfigurations (the portable subset: shell, git,
  editor, claude) and an exported homeModules output for use on machines
  not managed by this flake, or as an input to other flakes.

Behaviour-preserving for existing hosts: lyrathorpe-mbp and
emmathorpe-edaas evaluate to identical derivations; lyrathorpe-t400,
lyrathorpe-macpro31 and lyrathorpe-rpi5 differ only by de-duplicating a
repeated authorized_keys entry. Fixes the SSH authorized-key leak (one
user's key was applied to every account), the hardcoded default git
identity, and the hardcoded EDaaS linger setting.
2026-06-29 12:27:52 +01:00

1.3 KiB

name, description, metadata
name description metadata
git-conventions Branch naming and commit message conventions for git workflow
node_type type originSessionId
memory feedback ca09fbe4-9226-4ad9-874f-04df90840eef

Never commit directly to the default branch (main/master). Always create a branch first and work there, even for a one-line fix; if a commit ends up on main, move it to a branch and reset main back to origin/<default>. This is a hard rule.

Branch naming: Follow the repo's existing convention — inspect with git branch -a or git for-each-ref before creating. Prefer Conventional Commits prefixes (feat/, fix/, chore/, docs/, refactor/). Format: <prefix>/<TICKET-ID>-<kebab-summary>. Only ask if no convention is discoverable.

Commit messages: Conventional Commits. Subject line: <type>(<TICKET-ID>): <imperative summary> — ticket ID as the scope. Use additional -m flags for rationale/body. Commit at logical checkpoints, not one giant final commit.

Why: Lyra's standard workflow for traceability and clean history.

How to apply: Whenever creating a branch or committing in any repo. Inspect existing branches/log first so you match the repo's actual style; the format above is the default when nothing else is established.