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
98 lines
2.4 KiB
Markdown
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.
|