Restyled

Restyled makes it easy to maintain, or transition to, a consistent coding style across your entire organization by integrating existing auto-formatting tools directly into your existing Pull Request process through GitHub Actions:

# .github/workflows/restyled.yml

name: Restyled

on:
  pull_request:

jobs:
  restyled:
    runs-on: ubuntu-latest
    steps:
      # Checkout the PR's branch
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.ref }}

      # Install and run the Restyled CLI, failing on differences
      - uses: restyled-io/actions/setup@v3
      - id: restyler
        uses: restyled-io/actions/run@v3
        with:
          fail-on-differences: true

      # Maintain a sibling PR of the style fixes
      - if: ${{ !cancelled() && steps.restyler.outputs.success == 'true' }}
        uses: peter-evans/create-pull-request@v6
        with:
          base: ${{ steps.restyler.outputs.restyled-base }}
          branch: ${{ steps.restyler.outputs.restyled-head }}
          title: ${{ steps.restyler.outputs.restyled-title }}
          body: ${{ steps.restyler.outputs.restyled-body }}

Features #

Familiar: By running as a GitHub Actions workflow, we gain all aspects and features of their robust build system: scheduling, dispatch, reruns, redundant job cancellation, bigger runners, self-hosting, etc, etc.

Zero configuration, if you want: Restyled will run 60 language-appropriate auto-formatters based on which files have changed, without any configuration from you. But if your project does use an auto-formatter, configurations such as .prettierc will be respected when Restyled runs.

Simple and flexible: the restyle action itself re-formats files and commits any changes. That’s it. What you do after that is up to you. Managing a sibling PR is just one option; GitHub actions exist to do all sorts of things other than that. And Restyled always prints a copy/paste-able git am command to apply the style-fixing commits directly to a local checkout .

Open and extensible: Restyled is a collection of distinct and well-isolated open-source projects , each of which are easy to contribute to depending on what you would like to see happen.