Jan Nedbal 1201ec50d2 tests: cover m2pack cli and mcp additions
Add discovery-helper tests (env var override, PATH fallback, missing
binary) and command tests that point M2PACK_BINARY at a Python stub
script echoing canned JSON per subcommand. Cover success paths,
non-zero exit, non-JSON output, JSON-array output, and missing binary.
Extend the MCP schema mirror test to cover all 12 tools and add
dispatch tests for the new m2pack_* argv translation.
2026-04-14 22:31:11 +02:00
2026-04-14 19:33:48 +02:00
2026-04-14 19:33:48 +02:00
2026-04-14 18:51:38 +02:00
2026-04-14 19:33:48 +02:00

metin-release-cli

Python CLI that orchestrates Metin2 client releases — builds manifests, signs them, uploads content-addressed blobs, and promotes the new release atomically.

Phase 1 wraps make-manifest.py and sign-manifest.py from the m2dev-client repo and adds remote diff, upload, promote, and public verification.

Install

pip install -e .[dev]

Usage

metin-release --help
metin-release release inspect --source /path/to/client
metin-release release publish --source ... --version 2026.04.14-1 ...

Add --json to get a machine-parseable envelope on stdout. Exit codes:

Code Meaning
0 success
1 operator / validation error
2 remote or network error
3 signing or integrity error
4 reserved (ERP sync, Phase 2+)

See docs/cli.md for the full command reference.

MCP server

The metin-release-mcp console script (Phase 3) exposes each Phase 1 subcommand as an MCP tool over stdio. Install with the mcp extra:

pip install -e .[mcp]
metin-release-mcp --help

See docs/mcp.md for tool list, client wiring, and error handling.

Description
Python CLI for orchestrating Metin2 client releases (Phase 1 of metin-release-cli-plan)
Readme MIT 116 KiB
2026-04-14 19:21:55 +02:00
Languages
Python 100%