Files
skelly/DEVELOPMENT_TOOLS.md
Vladimir nett00n Budylnikov eb99c6a18e
Some checks failed
Continuous Integration / Code Formatting (pull_request) Successful in 27s
Continuous Integration / Code Quality Check (pull_request) Successful in 29s
Continuous Integration / Test Execution (pull_request) Failing after 33s
Continuous Integration / CI Summary (pull_request) Failing after 5s
lint fixes
2025-09-28 19:16:20 +04:00

2.4 KiB

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):

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

# 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.