Thank you for your interest in contributing to Moonverse.ts!
- Fork and clone the repository
git clone https://github.com/Termina/moonverse.ts.git
cd moonverse.ts- Install dependencies
yarn install- Set up your API key
export GEMINI_API_KEY='your-api-key-here'- Build the project
yarn buildyarn devThis uses tsx to run TypeScript directly without compilation.
yarn buildThis compiles TypeScript to JavaScript in the dist/ directory.
- Use TypeScript with strict mode
- Follow existing code conventions
- Add types for all function parameters and return values
- Use descriptive variable and function names
- Add comments for complex logic
- Build the project
- Configure it in Claude Desktop (see USAGE.md)
- Test the
query_moonbit_docstool with various queries - Verify error handling with invalid inputs
When adding new documentation files to the store/ directory:
- Use
.txtor.mdformat - Ensure files are text-based and readable
- Keep files focused and well-structured
- Test that the server can upload and use them
- Create a new branch for your feature
git checkout -b feature/your-feature-name- Make your changes and commit
git add .
git commit -m "Description of your changes"- Push to your fork
git push origin feature/your-feature-name- Create a Pull Request on GitHub
- Describe your changes: Explain what you changed and why
- Keep it focused: One feature or fix per PR
- Update documentation: If you change behavior, update the docs
- Test your changes: Ensure the code builds and runs
- Follow code style: Match the existing code conventions
Here are some areas where contributions would be welcome:
- Support for additional file types (PDF, HTML, etc.)
- File search stores API integration when available
- Persistent file caching between sessions
- Batch file uploads
- Support for file updates without restart
- Additional MCP tools (list documents, search by keyword, etc.)
- More usage examples
- Troubleshooting guide
- Video tutorials
- Integration guides for other MCP clients
- Unit tests for file processing
- Integration tests with mock Gemini API
- End-to-end tests
- Optimize file upload process
- Add caching for common queries
- Reduce memory usage
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- Help others learn and grow
If you have questions about contributing, please:
- Open an issue on GitHub
- Check existing issues and documentation
- Be patient and respectful
Thank you for contributing to Moonverse.ts! 🚀