Contributing to Obsidian MCP
March 28, 2025 ยท View on GitHub
Thank you for considering contributing to Obsidian MCP! This document provides guidelines and instructions for contributing.
Code of Conduct
Please be respectful and considerate of others when contributing to this project.
How Can I Contribute?
Reporting Bugs
Before creating bug reports, please check the existing issues to see if the problem has already been reported. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the issue
- Describe the behavior you observed and what you expected to see
- Include screenshots if applicable
- Include error messages or logs
- Include your environment information (OS, Node.js version, etc.)
Suggesting Enhancements
- Use a clear and descriptive title
- Provide a step-by-step description of the suggested enhancement
- Explain why this enhancement would be useful to most users
- Include screenshots or mockups if applicable
Pull Requests
- Fill in the required template
- Follow the TypeScript code style
- Include tests when adding new features
- Update documentation when changing functionality
- Keep your PR focused on a single concern
- Reference issues or discussions that your PR addresses
Development Process
Setting Up the Development Environment
- Fork the repository
- Clone your fork
git clone https://github.com/your-username/obsidian-mcp.git cd obsidian-mcp - Install dependencies
npm install - Create a
.envfile and add your Obsidian API keycp .env.example .env # Edit the .env file with your API key - Start the development server
npm run dev
Coding Style
- Use TypeScript
- Follow the existing code style
- Use meaningful variable and function names
- Write comments for complex logic
- Add JSDoc comments for functions and classes
Testing
- Write tests for new features
- Run tests before submitting PR
npm test
Commit Messages
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
Releasing
The project maintainers will handle releases following semantic versioning:
- MAJOR version for incompatible API changes
- MINOR version for added functionality in a backward compatible manner
- PATCH version for backward compatible bug fixes
Thank You!
Your contributions help make Obsidian MCP better for everyone. We appreciate your time and effort!