Contributing¶
MESA is open source under permissive licenses (Apache 2.0 / MIT). Anyone can contribute — bug reports, documentation fixes, and pull requests are all welcome.
Where to contribute¶
| What you want to do | Repo |
|---|---|
| Fix a typo on this site | cyverse/mesa (this repo, docs/) |
| File a bug in the hosted service | cyverse/mesa-mcp |
| Improve the AVU-history catalog | cyverse/mesa-ducklake |
| Add or fix an iRODS tool | cyverse/irods-mcp-server |
| Add a Discovery Environment capability | cyverse-de/formation-mcp |
| Extend Terrain API coverage | cyverse/terrain-mcp |
Development setup¶
See Local Development for the per-repo setup steps.
Pull-request conventions¶
- Branch off
main; name branches<topic>/<short-description>. - One logical change per PR. Big refactors should be split.
- Commit messages follow the Conventional Commits
format (
feat:,fix:,docs:, …). - Include tests for new behavior; don't loosen the existing test suite.
- Run linters (
ruff,gofmt,golangci-lint,eslint) before pushing.
Review process¶
- All PRs require at least one approving review from a project maintainer.
- The Lead RSE (S. Roberts) is the default reviewer for Goal 3 / MCP changes; Co-PI Cao for Lakehouse changes; Co-PI Russell for Data Mesh changes.
- CI must be green. The doc site (this repo) deploys to GitHub Pages
automatically on merge — preview by running
zensical servelocally.
Code of Conduct¶
The MESA project follows the Contributor Covenant v2.1. Report violations to the PI at tswetnam@arizona.edu.
Licensing¶
By submitting a contribution you certify that you have the right to license your contribution under the project's license (Apache 2.0 unless the repo states otherwise). Contributions are accepted under the Developer Certificate of Origin (DCO).