Metadata-Version: 2.4
Name: godot-input-map-auditor
Version: 0.1.3
Summary: Audit Godot input maps for device coverage, duplicate bindings, and generated references.
Author: Godot Input Map Auditor contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/NonniGB/godot-production-toolkit/tree/main/godot-input-map-auditor
Project-URL: Issues, https://github.com/NonniGB/godot-production-toolkit/issues
Keywords: godot,input,touch,gamepad,ci,gamedev
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Godot Input Map Auditor

Audit Godot input actions for keyboard, mouse, gamepad, and touch readiness, then generate input reference docs and strongly named GDScript constants.

This is a small CI-friendly tool for projects where input coverage can drift across desktop, controller, and mobile targets.

## Install

```powershell
python -m pip install -e .
```

When published:

```powershell
python -m pip install godot-input-map-auditor
```

## Quick Start

```powershell
godot-input-audit C:\Projects\MyGame --require keyboard,touch
godot-input-audit . --write-docs docs\INPUT_REFERENCE.md
godot-input-audit . --generate-gd scripts\generated\input_actions.gd
godot-input-audit . --format json --output input-report.json
godot-input-audit . --policy input-policy.toml --format json
```

Run against the sample project:

```powershell
godot-input-audit examples\tiny-godot-project --fail-on none
```

## What It Checks

- Parses the `[input]` section in `project.godot`.
- Classifies `InputEventKey`, mouse, joypad, and screen-touch event classes.
- Reports actions missing required device families.
- Supports optional action groups and per-group device requirements.
- Reports duplicate normalized bindings across actions.
- Includes report metadata and plain-language rule explanations in JSON, text, and SARIF output.
- Generates `INPUT_REFERENCE.md`.
- Generates optional `InputActions` GDScript constants.

## Documentation

- [Device classification](docs/DEVICE_RULES.md)
- [Policy files](docs/POLICY_FILES.md)
- [Rule reference](docs/RULE_REFERENCE.md)
- [Generated output](docs/GENERATED_OUTPUT.md)
- [Touch readiness](docs/TOUCH_READINESS.md)
- [CI usage](docs/CI.md)

## Development

```powershell
python -m pip install -e .
python -m unittest discover -s tests -v
godot-input-audit examples\tiny-godot-project --require keyboard --fail-on none
```

Examples and generated docs use generic action names so the repository can be published safely.
