You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a monorepo for DeployStack, an Enterprise Control Plane for the Model Context Protocol (MCP) ecosystem. The project consists of multiple services that must be developed and released independently.
5
+
6
+
## Commit Message Requirements
7
+
**MANDATORY: All commit messages MUST include a scope!**
8
+
9
+
When generating commit messages, always follow this format:
10
+
```
11
+
<type>(<scope>): <description>
12
+
```
13
+
14
+
### Required Scopes
15
+
-`frontend` - For Vue.js frontend application changes
16
+
-`backend` - For Fastify backend API changes
17
+
-`gateway` - For DeployStack Gateway application changes
18
+
-`shared` - For shared utilities and common code
19
+
-`all` - For changes affecting multiple services or project-wide changes
"text": "Generate commit messages following the Conventional Commits specification with MANDATORY scope for monorepo. Use this structure:\n\n<type>(<scope>): <description>\n\nRules:\n1. **SCOPE IS MANDATORY** - Must be one of: frontend, backend, gateway, shared, all\n2. **Type must be one of**: feat, fix, docs, style, refactor, perf, test, build, ci, chore\n3. **Description**: Imperative mood, no period at end, max 72 characters\n4. **Examples**:\n - feat(frontend): add dark mode toggle\n - fix(backend): resolve database connection issue\n - chore(gateway): update dependencies\n - docs(all): update README installation guide\n - refactor(shared): extract common utilities\n\nAlways include the scope to ensure proper changelog filtering per service. Use 'all' scope only for changes affecting multiple services or project-wide changes."
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+47-20Lines changed: 47 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,7 @@ deploystack/
35
35
├── services/
36
36
│ ├── frontend/ # Vue.js frontend application
37
37
│ ├── backend/ # Fastify backend API
38
+
│ ├── gateway/ # DeployStack Gateway application
38
39
│ └── shared/ # Shared code and utilities
39
40
├── scripts/ # Build and deployment scripts
40
41
└── ...
@@ -76,38 +77,56 @@ Always create a new branch for your changes based on the latest `main`.
76
77
77
78
### Commit Message Guidelines
78
79
79
-
We follow the Angular commit convention with scoped messages. This helps with automatic versioning and changelog generation.
80
+
**🚨 IMPORTANT: Scopes are MANDATORY in our monorepo!**
80
81
81
-
Format: `type(scope): subject`
82
+
We follow the Angular commit convention with **mandatory scoped messages**. This is crucial for automatic versioning and changelog generation per service.
82
83
83
-
Types:
84
+
**Format:**`type(scope): subject`
84
85
86
+
**Mandatory Scopes:**
87
+
-`frontend`: Changes to the Vue.js frontend application
88
+
-`backend`: Changes to the Fastify backend API
89
+
-`gateway`: Changes to the DeployStack Gateway application
90
+
-`shared`: Changes affecting shared code and utilities
91
+
-`all`: Changes affecting multiple services or project-wide changes
92
+
-`ci`: CI/CD pipeline changes
93
+
-`deps`: Dependency updates
94
+
95
+
**Types:**
85
96
-`feat`: A new feature (minor version bump)
86
-
-`fix`: A bug fix (patch version bump)
97
+
-`fix`: A bug fix (patch version bump)
87
98
-`docs`: Documentation changes
88
99
-`style`: Changes that don't affect the code's meaning
89
100
-`refactor`: Code changes that neither fix bugs nor add features
90
101
-`perf`: Performance improvements
91
102
-`test`: Adding or correcting tests
103
+
-`build`: Changes affecting the build system
92
104
-`chore`: Changes to the build process or tools
93
105
94
-
Scopes:
95
-
96
-
-`frontend`: Changes to the Vue.js frontend
97
-
-`backend`: Changes to the Fastify backend
98
-
-`shared`: Changes affecting shared code
99
-
-`all`: Changes affecting multiple parts of the application
100
-
-`deps`: Dependency updates
101
-
-`ci`: CI/CD changes
102
-
103
-
Examples:
104
-
106
+
**Examples:**
105
107
-`feat(frontend): add dark mode support`
106
-
-`fix(backend): correct database query issue`
107
-
-`docs(all): update README with new instructions`
108
-
-`chore(deps): update dependencies`
109
-
110
-
**Important**: Using the correct scope ensures that changes appear in the appropriate changelogs.
# ✅ Monorepo Scoped Commit Implementation - COMPLETE\n\nAll changes have been successfully applied to implement proper scoped commits and release workflows for your DeployStack monorepo.\n\n## 🎯 What Was Implemented\n\n### 1. **VS Code GitHub Copilot Configuration**\n- **File**: `.vscode/settings.json` \n- **Purpose**: Configures Copilot to automatically generate scoped commit messages\n- **Effect**: When you click the ✨ sparkle button in VS Code, Copilot will suggest properly scoped commits\n\n### 2. **Enhanced CONTRIBUTING.md** \n- **Updates**: Added mandatory scope requirements and clear examples\n- **New Section**: Comprehensive commit message guidelines with monorepo focus\n- **Added**: Gateway guidelines and VS Code integration instructions\n\n### 3. **Improved Release-It Configurations**\n- **Files Updated**: \n - `services/backend/.release-it.js`\n - `services/frontend/.release-it.js` \n - `services/gateway/.release-it.js`\n- **Improvements**: \n - Case-insensitive scope matching\n - Better error handling\n - Clearer comments explaining filtering logic\n - Consistent scope processing across all services\n\n### 4. **Workspace-Wide Copilot Instructions**\n- **File**: `.github/copilot-instructions.md`\n- **Purpose**: Provides context to Copilot about the project structure and requirements\n- **Shared**: Works across VS Code, Visual Studio, and GitHub.com\n\n### 5. **Git Commit Message Template**\n- **File**: `.gitmessage`\n- **Purpose**: Provides developers with commit message examples and scope reminders\n- **Usage**: Set with `git config commit.template .gitmessage`\n\n## 🚀 How It Works Now\n\n### **Commit Message Examples:**\n```bash\n# Frontend changes\nfeat(frontend): add user dashboard with analytics\nfix(frontend): resolve responsive layout on mobile\n\n# Backend changes \nfeat(backend): implement JWT authentication\nfix(backend): resolve database connection pooling\n\n# Gateway changes\nfeat(gateway): add MCP server auto-discovery\nfix(gateway): improve error handling for failed processes\n\n# Cross-cutting changes\ndocs(all): update installation instructions\nchore(deps): update all dependencies to latest\nci(all): add automated security scanning\n```\n\n### **Changelog Generation:**\n- ✅ **Frontend releases** → Only show `frontend` and `all` scoped commits\n- ✅ **Backend releases** → Only show `backend` and `all` scoped commits \n- ✅ **Gateway releases** → Only show `gateway` and `all` scoped commits\n- ✅ **Independent versioning** → Each service maintains its own changelog\n\n### **VS Code Integration:**\n1. Stage your changes\n2. Click the ✨ sparkle button in commit message box\n3. Copilot suggests properly scoped commit message\n4. Edit if needed and commit\n\n## 📋 Next Steps for Your Team\n\n1. **Configure Git Template** (optional):\n ```bash\n git config commit.template .gitmessage\n ```\n\n2. **Train Team Members**:\n - Share the updated CONTRIBUTING.md\n - Emphasize mandatory scopes\n - Show VS Code Copilot integration\n\n3. **Test the Workflow**:\n - Make some scoped commits\n - Run a test release PR to see filtered changelogs\n - Verify each service only shows relevant commits\n\n## 🎉 Benefits Achieved\n\n✅ **Automatic scoped commit generation** via GitHub Copilot\n✅ **Independent service changelogs** with proper filtering\n✅ **Clear commit message guidelines** for the team\n✅ **Consistent release automation** across all services\n✅ **Better code review process** with clear impact scope\n✅ **Professional changelog presentation** for each service\n\nYour monorepo is now fully configured for professional scoped commits and independent release workflows! 🚀\n
0 commit comments