# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Ultralytics Actions https://github.com/ultralytics/actions
# This workflow formats code and documentation in PRs to Ultralytics standards

name: Ultralytics Actions

on:
  issues:
    types: [opened]
  pull_request:
    branches: [main]
    types: [opened, closed, synchronize, review_requested]

permissions:
  contents: write # Modify code in PRs
  pull-requests: write # Add comments and labels to PRs
  issues: write # Add comments and labels to issues

jobs:
  actions:
    runs-on: ubuntu-latest
    steps:
      - name: Run Ultralytics Actions
        uses: ultralytics/actions@main
        with:
          token: ${{ secrets._GITHUB_TOKEN || github.token }} # Auto-generated fallback
          labels: true # Auto-label issues/PRs using AI
          python: true # Format Python with Ruff and docformatter
          prettier: true # Format YAML, JSON, Markdown, CSS
          biome: false # Format JS/TS with Biome (auto-detected via biome.json)
          swift: false # Format Swift (requires macos-latest)
          spelling: true # Check spelling with codespell
          links: true # Check broken links with Lychee
          summary: true # Generate AI-powered PR summaries
          openai_api_key: ${{ secrets.OPENAI_API_KEY }} # Powers PR summaries, labels and comments
          brave_api_key: ${{ secrets.BRAVE_API_KEY }} # Used for broken link resolution
