Contributing¶
Issues and pull requests are welcome.
- Run
make checkbefore pushing: ruff,mypy --strictand pytest must be clean, the same gate CI runs. It needs no network. make liverunstests/live/, the contract with the live IdroGEO service (about a minute). CI runs it every Monday and opens an issue labelledlive-contractwhen IdroGEO changes; a fix for one starts there.- Commits follow Conventional Commits.
- Contributions are accepted under the project's license, Apache-2.0 (section 5 of the license: inbound = outbound). No separate CLA.
Ideas to work on¶
Not promises, just directions where help would make a difference. Open an issue to discuss one before starting. The Roadmap & AI page has the longer analysis, AI features included.
| Idea | Why it matters | Good for |
|---|---|---|
| 🧪 Live contract tests: a weekly workflow that checks every path and field against IdroGEO | ISPRA moves things without notice; the library should notice first | intermediate |
🧠An agent evaluation suite: questions with checked answers, run against idrogeo-mcp |
Tool descriptions are prompts: test them like code | intermediate, AI users |
| 🧩 A GeoServer bootstrap that publishes the downloads, for mcp-geo-server | From open data to a live map server in one command | advanced |
| 📚 Tutorials on the documentation site | Search and API reference are there; step-by-step guides are not yet | anyone |
Found something odd in IdroGEO? That is a contribution too: open an issue with what you sent and what came back.
See also the Roadmap & AI page for the longer analysis.