Skip to content

Developer Commands

Home > Developer Commands

This document covers development and maintenance commands using Task (Taskfile.yml) and other developer tools.

For user-facing CLI commands (appimage-updater add, check, etc.), see the Usage Guide.

Task Commands

The project uses Task for development automation. All commands are defined in Taskfile.yml.

Testing Commands

# Run all tests
task test

# Run tests in parallel (faster)
task test:parallel

# Run fast parallel tests (skip slow tests)
task test:parallel-fast

# Run all test suites
task test:all

# Run end-to-end tests
task test:e2e

# Run end-to-end tests with coverage
task test:e2e-coverage

# Run regression tests
task test:regression

# Run pattern matching tests
task test:pattern-matching

# Run smoke tests
task test:smoke

Code Quality Commands

# Run all quality checks
task check

# Run quality checks in parallel
task check:parallel

# Run CI pipeline locally
task ci

# Format code
task format

# Lint code
task lint

# Type checking
task typecheck

Build and Release Commands

# Build distribution packages
task build

# Clean build artifacts
task clean

# Show current version
task version

# Bump patch version
task version:bump

# Bump minor version
task version:bump:minor

# Bump major version
task version:bump:major

# Prepare and build release
task release

# Create and push git tag
task release:tag

Development Environment

# Install development dependencies
task install

# Install in development mode
task install:dev

# Update dependencies
task update

# Show project info
task info

Documentation Commands

# Build documentation
task docs:build

# Serve documentation locally
task docs:serve

# Deploy documentation
task docs:deploy

Utility Commands

# Show all available tasks
task --list

# Show task details
task --summary <task-name>

# Run with verbose output
task --verbose <task-name>

# Run specific task file
task --taskfile custom.yml <task-name>

Development Workflow

Daily Development

# 1. Install dependencies
task install:dev

# 2. Run tests during development
task test:parallel-fast

# 3. Check code quality
task check

# 4. Format code before commit
task format

Before Committing

# Run full CI pipeline locally
task ci

# Or run individual checks
task test:all
task check:parallel
task typecheck

Release Process

# 1. Bump version (updates pyproject.toml and commits)
task version:bump

# 2. Prepare release (validates, tests, updates CHANGELOG, builds)
task release

# 3. Create and push git tag (triggers GitHub Actions)
task release:tag

# GitHub Actions will automatically:
# - Create GitHub release with artifacts
# - Publish to PyPI
# - Deploy documentation

Other Developer Tools

Python Environment

# Using uv (recommended)
uv sync
uv run pytest

# Using pip
pip install -e .
pip install -r requirements-dev.txt

Direct Tool Usage

# Run tests directly
pytest tests/
pytest --cov=src/appimage_updater

# Code quality tools
ruff check src/
mypy src/
radon cc src/

For complete information on development setup, testing procedures, and contribution guidelines, see: