Skip to main content
Glama

Godot Sentinel MCP

by Snack-JPG
CONTRIBUTING.mdโ€ข6.57 kB
# ๐Ÿค Contributing to Godot Sentinel MCP First off, thank you for considering contributing to Sentinel! We're building the future of AI-powered game development, and every contribution makes a difference. ## ๐ŸŒŸ Ways to Contribute ### ๐Ÿ› **Bug Reports** Found a bug? Help us squash it! - Use our [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) - Include steps to reproduce - Provide your environment details (OS, Node.js version, Godot version) ### โœจ **Feature Requests** Have an idea for making Sentinel better? - Use our [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) - Explain the problem you're trying to solve - Describe your ideal solution ### ๐Ÿ“š **Documentation** Help make Sentinel easier to use! - Fix typos or unclear explanations - Add examples and tutorials - Improve API documentation ### ๐Ÿ’ป **Code Contributions** Ready to dive into the code? - Check our [good first issues](https://github.com/Snack-JPG/Godot-Sentinel-MCP/labels/good%20first%20issue) - Look at our [roadmap](README.md#-roadmap) for bigger features ## ๐Ÿš€ Quick Start for Contributors ### 1. Fork & Clone ```bash # Fork the repo on GitHub, then: git clone https://github.com/YOUR_USERNAME/Godot-Sentinel-MCP.git cd Godot-Sentinel-MCP ``` ### 2. Install Dependencies ```bash npm install ``` ### 3. Run Tests ```bash npm test npm run test:watch # For development ``` ### 4. Build & Test Locally ```bash npm run build npm link # Install CLI locally ``` ### 5. Create Test Project ```bash ./create-test-project.sh # Now test your changes! ``` ## ๐Ÿ“‹ Development Workflow ### Branch Naming - `feature/description` - New features - `fix/description` - Bug fixes - `docs/description` - Documentation - `refactor/description` - Code improvements ### Commit Messages We use [Conventional Commits](https://www.conventionalcommits.org/): ``` feat: add support for Godot 3.x projects fix: resolve parser error with multiline stack traces docs: improve MCP integration guide refactor: simplify error detection pipeline test: add integration tests for patcher module ``` ### Pull Request Process 1. **Create a branch** from `main` 2. **Make your changes** with tests 3. **Update documentation** if needed 4. **Ensure tests pass**: `npm test` 5. **Create PR** with clear description ## ๐Ÿงช Testing Guidelines ### Unit Tests ```bash npm test # Run all tests npm run test:unit # Unit tests only npm run test:integration # Integration tests npm run test:coverage # With coverage report ``` ### Manual Testing ```bash ./test-setup.sh # Basic functionality ./test-full-functionality.sh # Complete workflow ``` ### Adding Tests - Add unit tests in `src/**/__tests__/` - Add integration tests in `src/__tests__/` - Mock external dependencies (Godot, git commands) - Test both success and error cases ## ๐Ÿ“ Code Style We use ESLint and Prettier for consistent code style: ```bash npm run lint # Check for issues npm run lint:fix # Auto-fix issues npm run format # Format with Prettier ``` ### TypeScript Guidelines - Use strict types, avoid `any` when possible - Add JSDoc comments for public APIs - Follow existing patterns in the codebase ### File Organization ``` src/ โ”œโ”€โ”€ server.ts # Main MCP server โ”œโ”€โ”€ adapters/ # Core functionality โ”‚ โ”œโ”€โ”€ godot_shell.ts โ”‚ โ”œโ”€โ”€ patcher.ts โ”‚ โ””โ”€โ”€ ... โ”œโ”€โ”€ tools/ # CLI and utilities โ”œโ”€โ”€ schemas/ # JSON schemas โ””โ”€โ”€ __tests__/ # Integration tests ``` ## ๐ŸŽฏ Priority Areas We especially welcome contributions in these areas: ### High Priority - [ ] **Godot 3.x Support** - Backward compatibility - [ ] **Error Detection Improvements** - Better parsing - [ ] **Performance Optimization** - Faster test runs - [ ] **Documentation** - More examples and guides ### Medium Priority - [ ] **IDE Extensions** - VS Code integration - [ ] **CI/CD Integrations** - GitHub Actions, etc. - [ ] **Multi-language Support** - Beyond GDScript - [ ] **Mobile Testing** - Device deployment ### Good First Issues - [ ] **Add more error pattern tests** - Expand parser coverage - [ ] **Improve CLI help text** - Better user experience - [ ] **Add configuration validation** - Better error messages - [ ] **Create example projects** - More test cases ## ๐Ÿ› Debugging Tips ### Running with Debug Logs ```bash DEBUG=sentinel:* npm start # All debug logs DEBUG=sentinel:parser npm start # Parser logs only ``` ### Testing with Mock Godot ```bash # Use our test project instead of real Godot GODOT_PROJECT_ROOT=../test-game npm start ``` ### MCP Protocol Debugging ```bash # Test MCP endpoints directly curl -X POST http://localhost:8787/mcp \ -H "Content-Type: application/json" \ -d '{"method":"tools/list","id":"debug"}' ``` ## ๐Ÿ“– Architecture Overview Understanding the codebase structure: ### Core Flow ``` User Command โ†’ CLI โ†’ MCP Server โ†’ Adapters โ†’ Godot/Git โ†‘ โ†“ WebSocket โ†โ”€โ”€ Events โ†โ”€โ”€ Parser ``` ### Key Components - **`server.ts`** - MCP protocol implementation - **`godot_shell.ts`** - Runs Godot commands, captures output - **`parser_godot4.ts`** - Extracts errors from logs - **`patcher.ts`** - Git operations and patch application - **`context.ts`** - File operations and project analysis ### Adding New MCP Tools 1. Add tool definition in `server.ts` 2. Implement handler method 3. Add to `listTools()` response 4. Write tests 5. Update documentation ## ๐ŸŒ Community ### Code of Conduct We follow the [Contributor Covenant](CODE_OF_CONDUCT.md). Please be respectful and inclusive. ### Getting Help - **Discord**: [Sentinel MCP Community](https://discord.gg/sentinel-mcp) - **GitHub Discussions**: Ask questions and share ideas - **Email**: contributors@sentinel-mcp.com ### Recognition Contributors are recognized in: - README acknowledgments - Release notes - GitHub contributor graphs - Optional listing in CLI `--credits` ## ๐Ÿ“„ Legal By contributing, you agree that: - Your contributions will be licensed under MIT License - You have the right to submit the code you're contributing - You're okay with your name being listed as a contributor ## ๐ŸŽ‰ Thank You! Every contribution makes Sentinel better for the entire Godot community. Whether you're fixing a typo or implementing a major feature, you're helping make game development more accessible and enjoyable for everyone. **Happy coding!** ๐Ÿš€

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Snack-JPG/Godot-Sentinel-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server