# 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)