# Release v2.0.0 - Modular Architecture & Code Quality
**Release Date:** December 29, 2024
## π Major Version Release
This is a major release that introduces a complete architectural refactor,
moving from a monolithic codebase to a clean, modular structure. This release
significantly improves maintainability, developer experience, and sets the
foundation for future growth.
## β οΈ Breaking Changes
### Entry Point Moved
The entry point has moved from `index.js` to `src/index.js`:
**Before:**
```json
{
"main": "index.js"
}
```
**After:**
```json
{
"main": "src/index.js"
}
```
**Action Required:**
- Update MCP server configurations to use `src/index.js`
- The old monolithic `index.js` has been completely removed
## β¨ What's New
### Modular Architecture
The codebase has been completely reorganized into a clean, modular structure:
```
src/
βββ index.js # Minimal entry point (15 lines)
βββ server.js # Main ProjectMCPServer class
βββ lib/ # Shared utilities
β βββ constants.js
β βββ dates.js
β βββ files.js
β βββ search.js
β βββ tasks.js
βββ tools/ # Tool handlers
β βββ search.js
β βββ project-files.js
β βββ tasks.js
β βββ backlog.js
β βββ lint.js
βββ prompts/ # MCP prompts
β βββ definitions.js
β βββ index.js
βββ resources/ # Resource handlers
βββ index.js
```
**Benefits:**
- **Maintainability**: Each module has a single responsibility
- **Testability**: Easier to test individual components
- **Scalability**: Simple to add new tools or features
- **Readability**: Code is organized and easy to navigate
### Code Quality Improvements
- **Prettier Integration**: Consistent code formatting across the entire
codebase
- **Format Scripts**: `npm run format` and `npm run format:check` for easy
formatting
- **37 files formatted**: All JavaScript, Markdown, and JSON files now follow
consistent style
### ToolSDK Registry Support
- Added `toolsdk-registry.json` configuration for discoverability
- Ready for submission to the ToolSDK MCP Registry
- All 22 tools and 8 prompts documented
### Documentation Organization
- Release notes moved to `docs/releases/` directory
- Cleaner root directory structure
- Better organization of project documentation
## π Statistics
- **Code Reduction**: 4019 lines β 15 lines (entry point)
- **Files Organized**: 20 modular files vs 1 monolithic file
- **Formatting**: 37 files formatted with Prettier
- **Maintainability**: Significantly improved code organization
## π Migration Guide
### For MCP Server Users
1. **Update your MCP configuration:**
```json
{
"mcpServers": {
"project-mcp": {
"command": "node",
"args": ["path/to/project-mcp/src/index.js"]
}
}
}
```
2. **No API changes**: All tools and prompts work exactly the same
3. **No breaking changes to functionality**: Only the file structure changed
### For Developers
1. **Import paths remain the same**: Internal imports are unchanged
2. **New structure**: Familiarize yourself with the modular organization
3. **Formatting**: Run `npm run format` before committing
## π What's Next
This release sets the foundation for:
- Easier feature additions
- Better testing infrastructure
- Improved documentation
- Enhanced developer experience
## π Full Changelog
See [CHANGELOG.md](../../CHANGELOG.md) for detailed changes.
## π Thank You
Thank you for using `project-mcp`! This major refactor was done to improve the
long-term maintainability and developer experience of the project.
---
**Upgrade Path:** `npm install project-mcp@2.0.0`
**Documentation:** [README.md](../../README.md)