Get Involved
NXD is developed across several repositories, each focused on a different part of the language and its ecosystem. Contributions are welcome across language design, compiler development, editor tooling, documentation, testing, security, web development, and project review.
You do not need to be a compiler developer to contribute. Testing NXD on a different operating system, reviewing documentation, reporting unexpected behavior, or identifying an unclear part of the language can all help improve the project.
Ways to Contribute
NXD has several areas where contributors can help:
- Language and semantic design
- Compiler development
- Diagnostics and error reporting
- Testing and quality assurance
- Cross-platform and environment testing
- Editor and IDE integration
- Language Server Protocol development
- Documentation and technical review
- Security review
- Web development and accessibility
- Bug reports and general project feedback
Language and Compiler
The NXD language and compiler repository is the primary repository for development of the language itself. This includes the compiler, language semantics, diagnostics, testing, and related core development.
Areas of Interest
- Language and semantic design
- Compiler architecture
- Parsing and semantic analysis
- Intermediate representation and lowering
- Compiler diagnostics
- Backend development
- Testing and regression coverage
- Security and code review
Current Goals
- Continue expanding and stabilizing the NXD language.
- Improve semantic validation and compiler diagnostics.
- Expand positive, negative, and regression test coverage.
- Improve consistency across supported compiler targets.
- Continue reviewing compiler architecture as the language evolves.
Editor and IDE Development
Editor tooling and Language Server Protocol development take place in the NXD extension repository.
Although VS Code is currently an important development environment, NXD's editor tooling is not intended to be limited to a single editor. LSP-based tooling creates opportunities to support additional editors and IDE environments.
Current Goals
- Improve the NXD editing experience in VS Code.
- Expand Language Server Protocol capabilities.
- Improve editor diagnostics and language awareness.
- Support NXD tooling in additional LSP-compatible editors and IDEs.
- Test editor tooling across different operating systems and development environments.
Website and Documentation
The source for this website is available through the nxdlang website repository.
Contributions to the website do not require compiler development experience. Documentation review, examples, accessibility improvements, usability feedback, and web development are all useful contributions.
Current Goals
- Keep documentation synchronized with the evolving language.
- Improve language guides, examples, and learning material.
- Improve navigation and documentation discoverability.
- Maintain responsive and accessible web content.
- Make NXD easier for new users to understand and explore.
Platform and Environment Testing
Cross-platform testing is an important part of NXD development. Compiler binaries and development tooling can behave differently depending on both the operating system and the environment in which they are being used.
Operating Systems
- Linux
- Windows
- macOS on Intel
- macOS on Apple Silicon
Development Environments
- Locally cloned repositories
- VS Code
- GitHub Codespaces
- Other LSP-compatible editors and IDEs
A successful build or test in one environment does not necessarily confirm correct behavior in another. Contributors can help by testing releases, installation instructions, compiler behavior, language tooling, and editor integration across different combinations of operating systems and development environments.
Testing Contributions
- Test NXD release binaries on supported platforms.
- Run compiler tests in different operating systems.
- Test clean installations and setup instructions.
- Compare local development with GitHub Codespaces.
- Test the NXD extension and language server.
- Test NXD tooling in additional editors and IDEs.
- Report platform-specific or environment-specific behavior.
Historical and Reference Development
The archived NXD frontend repository preserves part of NXD's transition from its original Python frontend toward its newer Rust-based frontend architecture.
This repository does not have an active development roadmap, but it remains available as a technical and historical reference for people interested in NXD's compiler architecture and its evolution.
- Study the evolution of the NXD compiler.
- Review earlier implementation decisions.
- Compare compiler architecture and frontend approaches.
- Use the repository for technical or historical research.
Not Sure Where to Start?
You do not need to submit code to help improve NXD.
Bug reports, documentation corrections, test results, language design feedback, security observations, code review, platform testing, and reports of confusing or unexpected behavior are all useful contributions.
- If you are interested in compiler or language development, start with the NXD language and compiler.
- For editor and IDE development, visit the NXD extension project.
- For documentation or web development, visit the nxdlang website project.
Community Standards
Everyone participating in the NXD project is expected to follow the project's Code of Conduct. The Code of Conduct applies across the NXD repository ecosystem.