Contributing to MindMeld
August 31, 2025 · View on GitHub
Quick Start
Before contributing, please familiarize yourself with:
- docs/README.md — Documentation index (start here)
- docs/testing-environments.md — How to run the right test suites locally and in CI
- docs/ci-e2e-troubleshooting.md — CI vs local Playwright stability guidance
Fork → Clone → npm install && npm start → Develop → Test → Submit PR
git clone https://github.com/YOUR_USERNAME/mindmeld.git
cd mindmeld && npm install && npm start
Standards
Code: ES6+, camelCase, events as noun.verb
Testing: Unit tests for logic, E2E for workflows
Architecture: Event-driven, zero circular deps
See Developer Guide for setup details.
Code Quality
Run before submitting: npm run lint && npm run format && npm test && npm run test:e2e && npm run semgrep
Commands: See Scripts Reference
Security scanning (Semgrep)
- Local:
npm run semgrep(uses the same packs as CI: p/security-audit, p/javascript, p/owasp-top-ten) - CI: Runs automatically in GitHub Actions and uploads SARIF to the Security tab
Tip: Semgrep is also part of the pre-push script, so it will run before you push.
Testing
Requirements: New features need tests. Bug fixes need regression tests.
E2E Testing: Use CanvasPage helper for consistent E2E tests
See Testing Guide for patterns and Developer Guide for architecture.
Documentation
Update docs when changing functionality. Keep it concise and pragmatic.
Releases
Version bumps: Use semver commands for releases
npm run version:patch # Bug fixes
npm run version:minor # New features
npm run version:major # Breaking changes
Process: Maintainers handle releases after PR merge
Pull Requests
Before submitting: Run quality checks above, update docs, write focused commits
PR description: What changed, why, how tested
Review process: CI runs automatically, maintainers review code quality
Getting Help
Check docs/ directory or GitHub Issues. Be respectful and search before asking.
Thanks for contributing! 🚀