Tags: abr4xas/mcp-tools
Tags
Fix all PHPStan errors and improve type safety (#5) * Fixed what needed fixing and squished some bugs. 🐛 * Improve error handling in analyzers with descriptive messages and specific error codes * Implement cache system for analysis results with file modification time validation * Extend authentication support to detect Passport, JWT, API keys, and OAuth2 * Add MCP tool to validate API contract is up to date with routes * Add MCP tool to compare two versions of API contracts and detect changes * Update PRD: mark completed tasks as passes true * Extract and use PHPDoc from controller methods to improve route descriptions * Add command to export API contract to OpenAPI/Swagger format * Improve rate limit detection to extract real values from Laravel configuration * Improve query parameter analysis from controllers without FormRequest * Generate response examples based on resource schemas * Update PRD: mark tasks 8, 9, 10 as completed * Optimize resource scanning using metadata cache and indices * Add batch operations support for MCP tools * Improve search algorithm with fuzzy matching and relevance ranking * Add route grouping by controller, prefix, or version in list-api-routes * Improve path parameter type detection using route model binding * Add detailed middleware analysis for each route * Add support for marking routes as deprecated in contract * Improve validation rules analysis for nested arrays and complex structures * Add support for custom Laravel validation rules * Add support for conditional validation rules (sometimes, required_if, etc.) * Fix test for contract structure validation * Fix test assertion for contract structure * Improve resource discovery using more robust static analysis * Detect and document relationships between resources * Optimize AST parsing with caching for faster code analysis * Add incremental contract updates support * Add contract versioning support with history * Add package configuration validation on startup * Add health check command for contract and tools status * Add metrics command to show contract statistics * Improve all error messages with actionable suggestions * Add optional logging for debugging analysis * Improve progress indicator with progress bar in generation command * Add dry-run mode to generation command * Add controller and resource filters to list-api-routes * Add sorting options to list-api-routes * Improve pagination information with links and metadata * Add route statistics to list-api-routes response * Improve route pattern matching with more robust regex * Add support for route names and aliases in contract * Detect and document possible HTTP status codes for each route * Detect and document required headers from middleware and response headers * Add content negotiation support detection * Improve type detection for nullable and union types in schemas * Add support for PHP enums in schemas * Add support for date formats and file uploads in FormRequests * Add JSON Schema validation for generated schemas * Generate example values for each field in schemas * Improve nested structure analysis in FormRequests * Add support for resource inheritance and improve model detection * Add extensible schema transformer system * Implement cache for resource schemas with hash-based keys * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * Update project status * delete file * Fix test suite: add missing methods and correct test assertions * Fix all PHPStan errors and improve type safety - Add missing type hints for arrays and parameters across all analyzers - Fix json_encode return type handling in Tools classes - Add optional service properties with lazy loading in GenerateApiContractCommand - Correct Route type usage (RoutingRoute vs Route facade) - Remove unused methods and fix method signatures - Update PHPStan configuration to handle edge cases - Convert all PHPUnit tests to PestPHP syntax - Improve error handling and type safety throughout the codebase * Organize documentation files - Move EXTENDING.md to docs/ directory - Remove duplicate ARCHITECTURE.md from root (keep docs/ARCHITECTURE.md which is more complete) - Consolidate documentation in docs/ directory for better organization * Add llms.txt and update documentation structure * Fix PHPStan errors and test failures from merge conflicts * Fix styling * Fix Log facade usage and improve route detection * Fix styling * Fix Log facade usage and add Storage fake for tests * Fix styling * Fix test failures and improve error handling in API contract generation - Add comprehensive error handling for route processing with closures - Ensure routes are generated even when extraction methods fail - Add try-catch blocks for all route analyzer methods to prevent silent failures - Improve contract validation to check for required auth field - Fix API version extraction for routes with prefixes - Add route compilation before processing to ensure prefix is included - Update tests to properly refresh routes and clear cache - Fix linter warning about redundant empty check on responseSchema - All 58 tests now passing * Fix documentation: update command names and Laravel MCP version - Correct command names in README and llms.txt (api:export-openapi, mcp-tools:clear-cache, mcp-tools:logs) - Update Laravel MCP version requirement to ^0.5.1 - Fix MCP tools registration information * refactor: simplify API contract by removing internal backend fields Remove middleware and route_name fields from the generated API contract to make it more useful for frontend developers. Changes: - Remove middleware and route_name from GenerateApiContractCommand output - Remove route_name parameter and search functionality from DescribeApiRoute - Remove route_name from ListApiRoutes output and search - Update tests to reflect new contract structure Documentation: - Fix incorrect command names in README.md and CLAUDE.md (api:contract:health-check -> mcp-tools:health-check, etc.) - Add missing commands: api:contract:versions, mcp-tools:logs - Update API contract structure example with current fields - Update describe-api-route documentation to remove route_name parameter * chore: update gitignore and add Claude Code configuration - Add prd.json, progress.txt, api.json to .gitignore - Remove obsolete flow/ directory reference from CONTRIBUTING.md - Add .claude/ directory with local settings --------- Co-authored-by: abr4xas <405484+abr4xas@users.noreply.github.com>
Feature improvements (#3) * Fixed what needed fixing and squished some bugs. 🐛 * fix(docs): corregir inconsistencia en README sobre registro de herramientas MCP (#1) * fix(command): corregir inconsistencia en signature del comando api:generate-contract (#4) * docs: crear guía CONTRIBUTING.md (#033) * fix(docs): corregir inconsistencias entre README y código (#040) - Revisado README completo contra código fuente - Inconsistencia del comando ya corregida en #4 - Verificadas versiones de dependencias: consistentes - Verificados nombres de clases y namespaces: consistentes - README y código ahora están sincronizados * test(command): agregar tests comprehensivos para generación de contratos (#6) * feat(tool): agregar validación de estructura de contrato (#014) * feat(command): mejorar manejo de errores en generación de contratos (#8) * refactor(command): hacer paths configurables en GenerateApiContractCommand (#7) * refactor(tool): extraer ContractLoader compartido (#024) * feat(tool): mejorar búsqueda de rutas en ListApiRoutes (#013) * feat(tool): agregar paginación a ListApiRoutes (#015) * feat(tool): incluir metadatos opcionales en ListApiRoutes (#017) * docs: actualizar CHANGELOG con todas las mejoras (#034) * fix(tool): eliminar método minimum() no disponible en JsonSchema * docs: agregar documentación y ejemplos sobre registro manual de herramientas MCP (#3) * docs: agregar documentación técnica de arquitectura (#035) * docs: completar PHPDoc en clases y métodos públicos (#036) * chore: aumentar nivel de PHPStan a 6 y corregir errores (#027) * chore: mejorar tipos para PHPStan nivel 6 (#027) * chore: generar baseline de PHPStan para ignorar errores conocidos * refactor(command): extraer responsabilidades de GenerateApiContractCommand (#5) * refactor(analyzer): usar AST en lugar de regex para análisis de código (#9) * refactor(analyzer): eliminar referencia específica a header x-wb-postman * refactor: agregar interfaces para facilitar testing y desacoplamiento * test: agregar tests unitarios usando interfaces para facilitar mocking * test: corregir test de ejemplo para demostrar uso de interfaces * test: implementar tests reales usando mocks de interfaces * test: corregir tests unitarios usando service container para inyección de dependencias * Fix styling * fix docs * Fixed what needed fixing and squished some bugs. 🐛 --------- Co-authored-by: abr4xas <405484+abr4xas@users.noreply.github.com>