Contributing to mcp-fattura-elettronica-it
Questi contenuti non sono ancora disponibili nella tua lingua.
Thank you for your interest in contributing. This document explains the workflow and expectations.
Development setup
git clone https://github.com/cmendezs/mcp-fattura-elettronica-it.gitcd mcp-fattura-elettronica-ituv sync --all-extrasRunning the test suite
uv run pytestRun with verbose output:
uv run pytest -vLinting and type checking
uv run ruff check src/ tests/uv run ruff format --check src/ tests/uv run mypy srcTo auto-fix lint issues:
uv run ruff check --fix src/ tests/uv run ruff format src/ tests/Tool reference
The tool reference in docs/TOOLS.md is generated from the running MCP server.
If you add, remove, or change a tool or its parameters, regenerate it:
uv run python scripts/gen_tool_reference.pyThe publish workflow regenerates it at release time, and --check mode reports
drift without writing:
uv run python scripts/gen_tool_reference.py --checkPull request checklist
- All tests pass (
pytest) - No lint errors (
ruff check) - No type errors (
mypy src) - New or changed behaviour is covered by tests
- Validation fixes reference the relevant rule ID (e.g.
FatturaPA 00400) -
docs/TOOLS.mdregenerated if any tool or parameter changed -
CHANGELOG.mdupdated under[Unreleased]
Commit style
Use Conventional Commits:
feat: add a new validation toolfix: normalize party identifiers with leading zerosdocs: update README with configuration detailstest: add fixture for a credit noteReporting issues
Please open an issue at https://github.com/cmendezs/mcp-fattura-elettronica-it/issues and include:
- The tool name and input you used
- The expected result
- The actual result (full error message or unexpected output)
- The national e-invoicing standard or rule ID involved, if known
Security issues follow a different path: see SECURITY.md and report privately rather than in a public issue.