Thank you ❤️ for your interest in contributing to NexusAlign!
Contributions of all kinds are welcome 👋 — including bug reports, new features, and suggestions.
Please read the following guidelines before contributing.
Before opening an issue:
- Search existing issues to avoid duplicates.
- Make sure you are using the latest version.
- Provide a minimal, reproducible example if reporting a bug.
A good issue should include:
- A clear description of the problem.
- Expected vs. actual behavior.
- Environment details (Python version, torch version, OS, etc.).
- A minimal code snippet or configuration (if applicable).
💡 Well-written issues save time for both maintainers and contributors.
To increase the chance of your PR being reviewed and merged quickly:
- Open an issue first for non-trivial changes.
- Keep PRs focused — one logical change per PR.
- Write clear, descriptive commit messages.
- Ensure all tests pass.
- Run formatting and linting tools before submitting.
pip install -e ".[dev]"We use ruff for formatting. Before committing, please run:
make format-check # get format issue feedback
mkke format-fixup # directly fix format issuesIf your PR introduces new functionality or changes behavior:
- Add appropriate tests.
- Ensure existing tests pass.
- Avoid breaking backward compatibility unless it has been discussed and agreed upon.
Good documentation is as valuable as good code.
Documentation contributions are highly appreciated, including:
- Fixing unclear explanations.
- Improving docstrings.
- Adding usage examples.
- Clarifying research assumptions or design choices.
If you are contributing a new algorithm, model, or training method, please include:
- A short conceptual explanation.
- Links to relevant papers (if applicable).
- Design motivation and key trade-offs.
- Reproducible configuration (e.g., config files, commands, or scripts).
💡 We prefer implementations that are modular, well-documented, and easy to ablate.
Please follow our Code of Conduct in all interactions.
🙂 We aim to maintain a respectful, inclusive, and professional environment.
If you're unsure whether a contribution aligns with the project direction, or you need guidance on where to start:
- Feel free to open a discussion.
- You can also start with smaller issues labeled as good first tasks (if available).
🚀 We deeply appreciate your interest in improving NexusAlign and look forward to collaborating with you.