2.1 KiB
| name | description | layer | category |
|---|---|---|---|
| commit-message-must-include-bc-task-id | Every commit message must begin with the BC task ID in [#id] format, where id is the global taskId from the CUR MCP Active Tasks page. | 2 | architecture |
Commit Message Must Include BC Task ID
Description
Every commit must reference the BC sub-task it belongs to by prefixing the
message with [#taskId], where taskId is the globally unique, sequential
task identifier from the CUR MCP Active Tasks page (field taskId).
This links code history directly to customer-facing work items in BC, enables time registration traceability, and is consistent with the convention already used across Curabis teams.
Anti Pattern
Add Price Lookup feature — FindPrice page, tier prices, currency conversion
No traceability. Impossible to find the BC task from git history.
Best Practice
[#8738] Add Price Lookup feature — FindPrice page, tier prices, currency conversion
[#8738] Add 22 UI tests for PRICING LOOKUP feature
[#8738] Add translations, shared project memory and cspell config
The two task numbers — use taskId, not taskNo
The sub-task has two numbers — do not confuse them:
| Field | Description | Use for |
|---|---|---|
taskNo |
Sequential within the project (e.g. 42) | Referencing within a project |
taskId |
Globally unique across all projects (e.g. 8738) | Commit messages |
Always use taskId in commit messages. It is unambiguous across all projects
and repos.
How to find the taskId before committing
- Get the current branch:
git branch --show-current - Find the linked project via BC MCP (see
[[bc-mcp-find-active-task-for-branch]]) - Read
taskIdfrom the matching active task - Prefix every commit on this branch with
[#taskId]
If no task exists for the branch, create one first (see bc-mcp.agent.md create-task workflow) or ask the project manager to register the work.
Scope
All commits that reach the main branch — feature, fix, test, chore, docs. Merge commits and auto-generated commits (renovate, al-go) are exempt.