-
Modular architecture: Split code into separate modules for better maintainability:
src/types.ts- TypeScript type definitionssrc/config.ts- Configuration managementsrc/vale-runner.ts- Vale execution wrappersrc/index.ts- Main MCP server
-
New tools:
vale_status- Check Vale installation with platform-specific instructionsvale_sync- Download Vale style packages to fix E100 errorscheck_file- Lint files with rich markdown output (replacesstyle-text)
-
CLI options:
--debug/--verbose/-v- Enable debug logging--help/-h- Show help message--version- Show version number
-
Enhanced error handling:
- Graceful degradation when Vale is not installed
- Platform-specific installation instructions (macOS, Linux, Windows)
- E100 error detection with helpful guidance
- Vale installation result caching
-
Rich output formatting:
- Markdown-formatted results with emojis
- Severity grouping (errors, warnings, suggestions)
- Summary statistics
- Structured metadata for AI consumption
-
Configuration enhancements:
VALE_CONFIG_PATHenvironment variable support- Smart config file discovery with priority ordering
- Config file validation
- Better default handling with clear warnings
-
Package improvements:
- Added keywords for discoverability
- New scripts:
watch,start,install:global,uninstall:global - Node.js engine requirement (>=22.0.0)
- License updated to MIT
- Repository information
-
TypeScript improvements:
- Declaration files generation
- Source maps for better debugging
- JSON module resolution
-
Documentation:
- Comprehensive README with usage examples
- Tool descriptions with parameters
- Configuration guide
- Troubleshooting section
- Development instructions
- Switched from
McpServertoServerclass from MCP SDK - Use
CallToolRequestSchemaandListToolsRequestSchemafor handlers - Improved async/await patterns throughout
- Better startup output with ASCII box
- Enhanced debug logging with timestamps
style-texttool (replaced by more usefulcheck_file)vale-config-infotool (functionality merged intovale_status)zoddependency (no longer needed with new architecture)
- Better maintainability: Modular code is easier to understand and modify
- Enhanced user experience: Rich output, helpful errors, graceful failures
- More useful tools: File-based linting and style syncing vs. text strings
- Professional quality: CLI options, caching, proper config handling
- Better for AI assistants: Clear tool descriptions and structured output