riptree2 0.9.0

riptree2 is a Rust rewrite of the Unix tree command. It aims to be a drop in replacement (`alias tree="rt --compat"`) with some quality of life improvements, such as automatically respecting ignore files.
Documentation
name: Publish Docs

on:
  push:
    branches:
      - main

concurrency:
  group: ${{ github.workflow }}-main
  cancel-in-progress: true

jobs:
  publish-docs:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Checkout main
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: docs
      - name: Set up Git user
        run: |
          git config user.name "github-actions"
          git config user.email "github-actions@github.com"
      - name: Reset docs branch to main
        run: |
          git fetch
          git reset --hard origin/main
      - name: Setup Rust
        run: |
          rustup update stable && rustup default stable
      - name: Run tests
        run: |
          cargo test
      - name: Run benchmarks
        env:
          SKIP_BENCH_ASSERTIONS: true
        run: |
          cargo bench
      - name: Build docs
        run: |
          cp -r target/criterion docs/criterion
          echo "
          " >> docs/index.md
          cat README.md >> docs/index.md
      - name: Commit docs
        run: |
          git add .
          git commit -m "docs: build docs" || echo "No changes to commit"
      - name: Force push to docs branch
        run: |
          git push --force