Skip to main content

Godot Pack Mod Doctor

godot-pack-mod-doctor generates and validates small Godot pack, patch, DLC, and mod manifests before release. It is intentionally format-light: projects keep their own build system, while the tool checks the manifest evidence that build system emits.

Install

python -m pip install godot-pack-mod-doctor

From a source checkout:

python -m pip install -e .\godot-pack-mod-doctor

Quick Start

godot-pack-mod-doctor manifest from-folder addons\demo_pack --id demo_pack --version 1.0.0 --output pack-manifest.json
godot-pack-mod-doctor check pack-manifest.json --format markdown
godot-pack-mod-doctor check pack-manifest.json --base base-content.json --format json --output reports\pack.json
godot-pack-mod-doctor diff baseline-pack.json current-pack.json --format markdown
godot-pack-mod-doctor load-order base-pack.json patch-pack.json optional-mod.json --format markdown

manifest from-folder writes a reviewable JSON manifest from a folder of pack files. It records deterministic res:// paths, byte sizes, and SHA-256 hashes so later diff reports can show exactly which shipped resources changed.

Manifest Shape

{
  "id": "demo_patch",
  "version": "1.0.0",
  "dependencies": [{"id": "base_game", "version": ">=1.0.0"}],
  "files": [
    {
      "path": "res://content/items/sword.tres",
      "content_id": "iron_sword",
      "references": ["iron_ingot"],
      "overrides": false,
      "size": 128,
      "sha256": "..."
    }
  ]
}

The optional base manifest can contain content entries with id fields. Dependencies can be written as objects with an id field, or as simple id strings when version constraints are tracked elsewhere. File entries can also include id, content_id, or content_ids when the pack wants the report to catch duplicate gameplay/content identifiers as well as duplicate file paths.

Checks

  • missing pack id or version;
  • malformed or duplicated dependency entries;
  • duplicate content IDs inside a pack manifest;
  • file entries without paths;
  • duplicate shipped paths;
  • unexpected overrides;
  • references that are not present in a supplied base content manifest;
  • local, parent-directory, or non-res:// paths;
  • case-only path collisions that can break on Windows or macOS;
  • script, native binary, archive, packed-project, debug, backup, cache, or key files that commonly need manual review before public distribution;
  • added, removed, changed, and clearly moved files between two pack manifests;
  • duplicate pack ids, missing dependencies, dependency order problems, and undeclared override conflicts across ordered packs;
  • duplicate content IDs across ordered packs when a later pack does not mark the file as an intentional override.

Scripted mods and native extensions can be legitimate. These file policy checks are warnings by default; use --fail-on warning in CI if your project wants a stricter content-pack gate.

Outputs

  • text: local terminal report.
  • json: CI and scripts.
  • markdown: PR comments and release notes.

diff is useful before publishing a patch or DLC update. It compares shipped paths and stable file metadata so changed resources are visible in review. When stable hashes or content IDs show that a resource moved, the report lists it under moved instead of treating the update as an unrelated add and remove.

load-order reads packs in the order supplied on the command line. If a later pack ships the same resource path without setting overrides: true, the report flags the conflict so the intended ownership is explicit. It also checks that dependencies listed by each pack are present earlier in the supplied load order.

All JSON reports include a small risk block plus summary.risk_level and summary.risk_score fields so release dashboards and CI scripts can sort pack reports without parsing every finding.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

godot_pack_mod_doctor-0.1.4.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

godot_pack_mod_doctor-0.1.4-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file godot_pack_mod_doctor-0.1.4.tar.gz.

File metadata

  • Download URL: godot_pack_mod_doctor-0.1.4.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godot_pack_mod_doctor-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a76018b63a1ba1d23fdb4ace4f834a85fc1d7c03ac123be72cf5a1e5513a9b88
MD5 61d42ac250b0336ebeeeed3db67c2a4c
BLAKE2b-256 01f5a9341879267e87c93732a394d86a5a230ba30e63f2542d4768ebfe4b39fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_pack_mod_doctor-0.1.4.tar.gz:

Publisher: publish-pack-mod-doctor.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file godot_pack_mod_doctor-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_pack_mod_doctor-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 765003c5153c11bd644c4a303e9a5fee08fd407aa7bf5ffad513fee1d856cc18
MD5 fcf06ecd489eed298b624babb0b640cb
BLAKE2b-256 4eca99401de523a054c08e1c11c6f5dff106773225dee7b466945067c462e364

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_pack_mod_doctor-0.1.4-py3-none-any.whl:

Publisher: publish-pack-mod-doctor.yml on NonniGB/godot-production-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page