9. Safe Change Rules
Core Architecture Protection
Prohibited Changes (Pre-approval Required)
Changes Requiring Caution (Must Verify Impact)
Public API Path Freeze
Since each package is published to npm, public API paths exposed via the exports field must not be changed arbitrarily:
Unauthorized Database Schema Changes
This project does not use a database. (No separate data storage.)
Authentication/Authorization
This project does not include its own authentication/authorization system. MCP server authentication is delegated to client environment variable configuration (Claude Desktop, Cursor, etc.).
Version Compatibility Rules
- Adding tools is freely allowed in minor versions (
featcommit) - Renaming existing tools is prohibited — add a new tool and have the old one output a deprecation message
- Removing existing tool inputSchema fields is prohibited — fields can only be added (as optional)
- Changing the return type of existing tool handlers is prohibited — must maintain
ToolResult({ content: [...] }) - Breaking changes are only allowed in major version changes
Pre-approval Required for Large Structural Changes
The following changes require team review or approval before execution:
- Adding new packages (monorepo structure changes)
- Redesigning core interfaces in
packages/common/kit/ - Build system changes (tsup → other bundler)
- CI/CD pipeline restructuring
- Conventional Commits policy changes
- Node.js/TypeScript major version upgrades
Release Branch Protection
developbranch: CI must pass (type check + build)mainbranch: Only mergeable via Auto PR fromdevelop(direct push prohibited)- Pushing to
maintriggers release-please, which opens/updates a release PR with version bumps + CHANGELOG; the actual tags, GitHub Releases, and npm publish happen only when that release PR is merged - Include
[skip ci]in commit messages to skip CI (for release commits, etc.)