Workflow
Step 1: Analyze Changes
Run these commands to understand what's being committed:
git status git diff --staged git diff
If there are no staged changes, ask the user what to stage or suggest relevant files based on unstaged changes.
Step 2: Find Related Linear Issues
Use the Linear MCP tools to search for related issues:
List open issues in the Dinero.js project:
mcp__linear-server__list_issues with:
-
project: "Dinero.js v2.0.0 Stable Release"
-
state: "backlog" or "in_progress" or "todo"
Search by keywords from the changes (function names, file paths, feature areas)
Present matching issues to the user in a table:
ID Title Status
SAR-110 Restructure packages... Backlog
Step 3: User Selection
Ask the user using AskUserQuestion:
-
Which issue(s) does this commit relate to?
-
Does this commit complete the issue (Fixes) or is it partial progress (Part of)?
Options:
-
Select from found issues
-
Enter a different issue ID
-
No Linear issue (skip linking)
Step 4: Create Commit
Generate a commit message following Conventional Commits format:
type(scope): subject
Description of changes.
[Fixes|Part of] SAR-XXX
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Types: feat, fix, docs, refactor, test, chore, style, perf Scopes: core, currencies, calculator-number, calculator-bigint, dinero.js, examples, docs, build, ci
Step 5: Execute
-
Stage files if needed (prefer specific files over git add -A )
-
Create the commit using a HEREDOC for proper formatting
-
Run git status to confirm success
-
If the commit completes an issue, offer to update it in Linear using mcp__linear-server__update_issue
Examples
Completing an issue
git commit -m "$(cat <<'EOF' feat(core): add subpath exports for currencies
Implemented exports field in package.json with proper TypeScript support for all subpath entries.
Fixes SAR-111
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> EOF )"
Partial progress
git commit -m "$(cat <<'EOF' refactor(core): extract currency types to separate module
First step in restructuring packages for consolidated dinero.js package.
Part of SAR-110
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> EOF )"
No Linear issue
git commit -m "$(cat <<'EOF' chore: update .gitignore
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> EOF )"