From 8e8f6f15c4d4fb08a76bca766769f06e54d08706 Mon Sep 17 00:00:00 2001 From: Marcel Menk Date: Sun, 26 Apr 2026 23:14:12 +0200 Subject: [PATCH] chore: vcs message scope rule --- .agenstra/rules/version-control.mdc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.agenstra/rules/version-control.mdc b/.agenstra/rules/version-control.mdc index 374e7492..d706f443 100644 --- a/.agenstra/rules/version-control.mdc +++ b/.agenstra/rules/version-control.mdc @@ -33,6 +33,12 @@ alwaysApply: true - **Atomic Commits:** One logical change per commit - **Conventional Commits:** Use format: `type(scope): description` - Types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore` + - Scopes: + - Prefer the Nx project `name` from the touched `project.json` when a single project changes + - Domain libraries under `libs/domains//...` often use `{domain}-{scope}-{type}-{name}` + - Exact literals and app naming: follow schemas in your workspace Nx plugin (e.g. `tools//`, `tools/code`) + - Typical generated app prefixes (when those generators exist): `backend-*`, `frontend-*`, `mcp-*`, `keycloak-theme-*` + - Multi-project or workspace-wide changes: Nx tags `backend`, `frontend`, `keycloak`, `shared`, or `repo`, `ci`, `deps`, `nx`, `tools` - **Descriptive Messages:** First line ≤50 chars; body explains why, not what - **Frequency:** Commit frequently; small, logical units - **No Merge Commits:** Use rebase or squash to keep history clean