Contribute
MSN is fully open source under the MIT license. We welcome contributions of all kinds — code, documentation, bug reports, and ideas.
How to Contribute
Fork the Repository
Fork https://github.com/sammadijaz/msn and clone it locally.
Install Dependencies
Run npm install in the project root to set up the monorepo.
Create a Branch
git checkout -b feature/your-feature-name
Make Your Changes
Write code, add tests, update docs as needed.
Run Tests
npm test to make sure everything passes.
Submit a PR
Push your branch and open a pull request with a clear description.
Areas to Contribute
Core Parser
Improve the lexer, parser, and compiler. Add error recovery, source maps, and streaming support.
CLI Tool
Add new commands, improve error messages, add watch mode, and support config files.
VSCode Extension
Improve syntax highlighting, add IntelliSense, auto-completion, go-to-definition.
Documentation
Write tutorials, improve API docs, add more examples, translate docs.
Playground
Improve the web playground with better error display, shareable URLs, and themes.
Language Ports
Port the parser to other languages: Python, Rust, Go, Java, C#.
Guidelines
- Write clear commit messages following Conventional Commits.
- Add tests for new features. We use Vitest.
- Keep PRs focused — one feature or fix per PR.
- Update documentation when changing public APIs.
- Be kind and respectful in all interactions.
- All contributions are under the MIT license.