メインコンテンツまでスキップ

Tools for implementer

Lint / build commands to run before finishing a change​

GDScript format check and lint — see docs/tools/gdtoolkit.md:

mise exec -- gdformat --check core/ tests/
mise exec -- gdlint core/ tests/

A PostToolUse hook already runs gdformat on .gd files as they're edited (see .claude/settings.json), so the --check run is mostly a final confirmation. gdlint is not hooked and must be run explicitly.

Docs site build — use as a smoke check whenever site/ or docs/ is touched:

cd site && npm run build

Docusaurus docs site build. Broken internal links and anchors fail the build (onBrokenLinks/onBrokenAnchors are set to throw). On a PR touching docs/ or site/, .github/workflows/link-check.yml runs this same build and then points lychee at site/build to check the external URLs the build does not verify (excludes live in lychee.toml).

There is no separate lint/build step for the GDScript side beyond the gdtoolkit commands above.

Verifying a change against the live editor/game​

Use godot-ai to confirm a change behaves as intended in the editor or running game, beyond what GUT's headless run checks — see that file for when it applies and when a GUT test is the better instrument.

Where new test-adjacent files belong​

res://tests/ (top-level, non-recursive) is reserved for the Godot AI addon's own McpTestSuite-based test_manage/test_run MCP tools — don't place implementation or fixture files there. GUT tests and their fixtures live one level down, in res://tests/unit/.