Ways to Contribute
XLM welcomes contributions of all kinds: code, documentation, bug reports, feature ideas, and helping others in Discussions.
Start with the Contributing hub for environment setup, testing, and pull request workflow. Then follow the guide that matches what you want to do:
| Contribution type | When to use it | Guide |
|---|---|---|
| Add a maintained model | Ship a new model family inside this repo under xlm-models/ |
Adding a model |
| Add an external model | Develop and publish a model in a separate repo | External models |
| Add a task or dataset | Preprocess function + dataset YAMLs in src/xlm/ |
Adding a task or dataset |
| Run your model on your task | External task + model wiring via Hydra YAML | Running your model on your task |
| Core framework development | Change training infra in src/xlm/ (harness, datamodule, metrics, CLI) |
Core development |
| Docs, bugs, and issues | Fix docs, report bugs, or propose features without code changes | Docs and issues |
Before you start
- Search existing Issues — someone may already be working on it.
- Open an issue for non-trivial work (use the matching issue template when available).
- Set up your environment — follow Install from source in the Contributing hub. For what each requirements file contains, see Dependencies.
Good first issues
Looking for a small starter task? See Good first issue.
Pull requests
Push your branch to your fork and open a PR against main. Use the pull request template and link related issues.