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

1

Fork the Repository

Fork https://github.com/sammadijaz/msn and clone it locally.

2

Install Dependencies

Run npm install in the project root to set up the monorepo.

3

Create a Branch

git checkout -b feature/your-feature-name

4

Make Your Changes

Write code, add tests, update docs as needed.

5

Run Tests

npm test to make sure everything passes.

6

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.

IntermediateTypeScriptParsing

CLI Tool

Add new commands, improve error messages, add watch mode, and support config files.

BeginnerNode.jsCLI

VSCode Extension

Improve syntax highlighting, add IntelliSense, auto-completion, go-to-definition.

IntermediateVSCode APITextMate

Documentation

Write tutorials, improve API docs, add more examples, translate docs.

BeginnerMarkdownTechnical Writing

Playground

Improve the web playground with better error display, shareable URLs, and themes.

BeginnerReactMonaco Editor

Language Ports

Port the parser to other languages: Python, Rust, Go, Java, C#.

AdvancedMulti-language

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.