# Development Tools Development workflow tools for the Skelly Godot project. Python script that handles code formatting, linting, and testing. ## Quick Start Run all development checks (recommended for pre-commit): ```bash run_dev.bat ``` Runs code formatting โ†’ linting โ†’ testing. ## Available Commands ### Main Unified Script - **`run_dev.bat`** - Main unified development script with all functionality ### Individual Tools (Legacy - redirect to unified script) - **`run_all.bat`** - Same as `run_dev.bat` (legacy compatibility) - **`run_lint.bat`** - Run only linting (redirects to `run_dev.bat --lint`) - **`run_format.bat`** - Run only formatting (redirects to `run_dev.bat --format`) - **`run_tests.bat`** - Run only tests (redirects to `run_dev.bat --test`) ## Usage Examples ```bash # Run all checks (default behavior) run_dev.bat # Run only specific tools run_dev.bat --lint run_dev.bat --format run_dev.bat --test # Run custom workflow steps run_dev.bat --steps format lint run_dev.bat --steps format test # Show help run_dev.bat --help ``` ## What Each Tool Does ### ๐Ÿ” Linting (`gdlint`) - Checks GDScript code for style violations - Enforces naming conventions - Validates code structure and patterns - **Fails the workflow if errors are found** ### ๐ŸŽจ Formatting (`gdformat`) - Automatically formats GDScript code - Ensures consistent indentation and spacing - Fixes basic style issues - **Fails the workflow if files cannot be formatted** ### ๐Ÿงช Testing (`godot`) - Runs all test files in `tests/` directory - Executes Godot scripts in headless mode - Reports test results and failures - **Continues workflow even if tests fail** (for review) ## Dependencies The script automatically checks for and provides installation instructions for: - Python 3.x - pip - Godot Engine (for tests) - gdtoolkit (gdlint, gdformat) ## Output Features - Colorized output - Emoji status indicators - Tool summaries - Execution time tracking - Warning suppression ## Development Workflow 1. **Before committing**: Run `run_dev.bat` to ensure code quality 2. **Fix any linting errors** - the workflow will abort on errors 3. **Review any test failures** - tests don't abort workflow but should be addressed 4. **Commit your changes** once all checks pass ## Integration Works with: - Git hooks (pre-commit) - CI/CD pipelines - IDE integrations - Manual development workflow Legacy batch files remain functional.