Skip to main content

Godot GDScript Architecture Guard

godot-gdscript-architecture-guard checks whether GDScript files still follow a small architecture policy. It is aimed at projects where autoloads, shared scripts, and feature modules can quietly become tangled during refactors.

It does not run the Godot editor. It scans .gd files and reports dependency direction, autoload access, unresolved res:// script/resource references, high fan-in/fan-out from visible script references, and possible unused scripts.

Install

python -m pip install godot-gdscript-architecture-guard

From a source checkout:

python -m pip install -e .\godot-gdscript-architecture-guard

Quick Start

godot-architecture-guard examples\tiny-architecture-project --config architecture-guard.toml

Write SARIF for code scanning:

godot-architecture-guard . --config architecture-guard.toml --format sarif --output reports\architecture.sarif

Write a Markdown refactor note:

godot-architecture-guard . --config architecture-guard.toml --format markdown --output reports\architecture.md --fail-on none

Policy Example

[modules.ui]
paths = ["scripts/ui/**"]
may_depend_on = ["shared"]
allowed_autoloads = ["Settings"]

[modules.gameplay]
paths = ["scripts/gameplay/**"]
may_depend_on = ["shared"]
allowed_autoloads = ["GameState"]

[modules.shared]
paths = ["scripts/shared/**"]
may_depend_on = []
allowed_autoloads = []

[autoloads]
names = ["GameState", "Settings"]

If scripts/ui/menu.gd preloads res://scripts/gameplay/inventory.gd, the tool reports a module boundary violation unless ui may depend on gameplay.

If a configured module path matches no scripts, the tool reports that stale policy path as a warning. JSON, text, and Markdown reports also include advisory sections for files with many visible script references and scripts that do not appear in visible res:// references or class_name declarations.

Outputs

  • text: local terminal report.
  • json: CI and scripts.
  • markdown: PR comments and review notes.
  • sarif: GitHub code scanning.
  • mermaid: dependency graph.

JSON reports include metadata, rule_help, and per-finding suggestions so CI jobs and small review scripts can explain the issue without hard-coding rule text. They also include hotspots and possible_unused_scripts arrays for refactor review. SARIF output carries rule descriptions for code scanning tools.

Download files

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

Source Distribution

godot_gdscript_architecture_guard-0.1.2.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file godot_gdscript_architecture_guard-0.1.2.tar.gz.

File metadata

File hashes

Hashes for godot_gdscript_architecture_guard-0.1.2.tar.gz
Algorithm Hash digest
SHA256 92d55ca5fc403b1c7222cec302d728547bfda869ea54a96827153ec4eeeb2a37
MD5 45875befa0661be28adb14357cbe2189
BLAKE2b-256 db24329f8c0b37937e08b9554572854fa50c051347d9444db73fb9b183bee028

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_gdscript_architecture_guard-0.1.2.tar.gz:

Publisher: publish-gdscript-architecture-guard.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_gdscript_architecture_guard-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_gdscript_architecture_guard-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5fa8af2c4847aed352ecbb39b7b4400769b2472b359817aedc7776ff1a68f5ba
MD5 654b0256ce5d0557246f77ab2055b498
BLAKE2b-256 ead3d67c46ff931ce30a6012c043afdf26a97f9c17a16c43d974b7672243598a

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_gdscript_architecture_guard-0.1.2-py3-none-any.whl:

Publisher: publish-gdscript-architecture-guard.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