mirror of
https://github.com/aaronsb/obsidian-mcp-plugin.git
synced 2026-07-22 16:40:32 +00:00
- Add CONTRIBUTING.md with development guidelines
- Add SECURITY.md with vulnerability reporting policy
- Create GitHub issue templates for bugs and features
- Add PR template with checklist
- Set up GitHub Actions for testing and security scanning
- Document all security findings from code audit
- Create detailed GitHub issues for all vulnerabilities
- Update CHANGELOG with security audit results
- Add project structure documentation
This establishes proper open-source project structure and documents
all critical security issues that need to be addressed.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Contributing to Obsidian MCP Plugin
Thanks for your interest in contributing! Since this is a small project, we keep things simple.
Quick Start
-
Found a bug? Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
-
Want to fix something?
- Fork the repo
- Make your changes
- Test locally with BRAT
- Submit a PR with a clear description
Development Setup
# Clone your fork
git clone https://github.com/YOUR_USERNAME/obsidian-mcp-plugin.git
cd obsidian-mcp-plugin
# Install dependencies
npm install
# Build and watch
npm run dev
# Run tests
npm test
Code Style
- TypeScript with strict mode
- Follow existing patterns in the codebase
- Keep security in mind (see SECURITY.md)
- Add tests for new features
Testing with BRAT
- Build the plugin:
npm run build - In Obsidian, install BRAT plugin
- Add your local build:
YOUR_USERNAME/obsidian-mcp-plugin - Test thoroughly before submitting PR
Commit Messages
Keep them clear and descriptive:
fix: Prevent path traversal in file operationsfeat: Add rate limiting to API endpointsdocs: Update security guidelinesrefactor: Extract validation logic to separate module
Current Focus Areas
Check our GitHub Issues for:
- 🔴 Security vulnerabilities (highest priority)
- 🟠 Input validation improvements
- 🟡 Code quality refactoring
Questions?
Open an issue or discussion - we're here to help!