|
| 1 | +This is a packge for Symfony which makes easier to build a Model Context Protocol Server. |
| 2 | + |
| 3 | +## Technical Specification |
| 4 | + |
| 5 | +- Support Symfony 7 |
| 6 | +- Support PHP 8.2+ |
| 7 | + |
| 8 | +## Symfony Package Development Guideline |
| 9 | + |
| 10 | +- Create new class and refactor if the file is getting too long. (more than 300 lines) |
| 11 | + |
| 12 | +## Features |
| 13 | + |
| 14 | +- https://modelcontextprotocol.io/docs/concepts/architecture |
| 15 | +- https://modelcontextprotocol.io/docs/concepts/tools |
| 16 | +- https://modelcontextprotocol.io/docs/concepts/transports |
| 17 | +- https://modelcontextprotocol.io/sdk/java/mcp-server |
| 18 | + |
| 19 | +## Documentation Guidelines |
| 20 | + |
| 21 | +- Document all public methods and classes with PHPDoc annotations. |
| 22 | +- Include `@param`, `@return`, and `@throws` tags for all methods. |
| 23 | +- Document configuration options with sample values and explanations. |
| 24 | +- Keep documentation up-to-date when changing functionality. |
| 25 | +- Use descriptive variable and method names to improve self-documentation. |
| 26 | +- Add inline comments for complex logic explaining the "why" not just the "what". |
| 27 | +- Create markdown documentation for end-users in the docs/ directory. |
| 28 | +- Include version compatibility information in all documentation. |
| 29 | +- Document breaking changes prominently in CHANGELOG.md and README.md. |
| 30 | +- Add type hints and return types to all methods for better IDE support. |
| 31 | +- Document expected environment variables and their purposes. |
| 32 | +- Maintain a FAQ section in the documentation for common issues. |
| 33 | +- Document how the package integrates with Symfony's existing features. |
| 34 | +- When specifying types, especially for nullable types, do not use ?string. Always write string|null instead of using ?, and make sure null is placed at the end. |
0 commit comments