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

98 lines
2.4 KiB
Markdown

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