- Extract troubleshooting guide to TROUBLESHOOTING.md - Move usage examples to USAGE_EXAMPLES.md for better discoverability - Add custom specialty creation guide to CONTRIBUTIONS.md - Create semantic commit message generator prompt in prompts/ - Streamline README.md by removing 200+ lines of content now in dedicated files - Improve documentation navigation with clearer separation of concerns
43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
---
|
|
description: "VS Code Commit Generator: Analyzes git diff + project context to write semantic messages."
|
|
---
|
|
|
|
# Semantic Commit Message Generator (VS Code Edition)
|
|
|
|
## Goal
|
|
Analyze staged changes and synthesize a strictly formatted [Conventional Commit](https://www.conventionalcommits.org/) message.
|
|
**Crucial Upgrade:** You must correlate the code changes (What) with the active session context (Why) retrieved from the workspace.
|
|
|
|
## Phase 1: Context Retrieval (RAG)
|
|
**Execute these lookups to ground your analysis:**
|
|
1. **Get the "What" (Code):**
|
|
* Run: `git diff --cached` (If empty, warn user to stage files first).
|
|
2. **Get the "Why" (Intent):**
|
|
* **Search Workspace:** Find the most recent `SESSION_SNAPSHOT*.md` in `documentation/project-history/`.
|
|
* **Search Workspace:** Look for `TODO` or `// RESTART NOTE` comments in the changed files themselves.
|
|
* *Reasoning:* A commit message is better if it says "feat(auth): enable TFA per session plan" rather than just "feat(auth): update config".
|
|
|
|
## Phase 2: Change Analysis (Chain of Thought)
|
|
*Reference: `.github/knowledge/example.CoT-Prompting.md`*
|
|
|
|
Analyze the combined inputs (Diff + Session Context):
|
|
1. **Type Determination:**
|
|
* `feat`: New features (check against Session Snapshot "Achievements").
|
|
* `fix`: Bug fixes (check against Session Snapshot "Blockers").
|
|
* `chore`/`refactor`/`docs`: Maintenance/Refactoring/Documentation.
|
|
2. **Scope Identification:** Narrow to the specific module (e.g., `core`, `auth`, `docs`).
|
|
3. **Breaking Change Check:** Does this modify `compose.yaml` ports or volume paths? If yes, flag as `BREAKING CHANGE`.
|
|
|
|
## Phase 3: Message Synthesis
|
|
Draft the message using the **Conventional Commits** standard.
|
|
|
|
**Format Template:**
|
|
```text
|
|
<type>(<scope>): <imperative summary (max 50 chars)>
|
|
|
|
<blank line>
|
|
|
|
- <bullet point connecting change to specific file>
|
|
- <bullet point explaining the 'why' based on session context>
|
|
|
|
<optional: Footer for BREAKING CHANGE or 'Ref: #IssueID'> |