diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..3a57ab1 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,23 @@ +name: Lint + +"on": + push: + pull_request: + +jobs: + markdownlint: + name: Markdown + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DavidAnson/markdownlint-cli2-action@v19 + with: + globs: "**/*.md" + + yamllint: + name: YAML + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: pip install yamllint + - run: yamllint --format github . diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..c6baa28 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,8 @@ +default: true + +# Line length — relaxed to accommodate the ASCII circuit diagram +# and table rows which can be naturally wide +MD013: + line_length: 120 + code_blocks: false # don't enforce line length inside fenced code blocks + tables: false # don't enforce line length inside tables diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 0000000..528150d --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,11 @@ +extends: default + +ignore: | + .markdownlint.yaml + +rules: + line-length: + max: 120 + truthy: + check-keys: false + document-start: disable diff --git a/README.md b/README.md index 9ba8c96..57ec4b1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ PixelBrain32 is a personal ESP32-based controller for addressable LED strips, designed for use with ESPHome and Home Assistant. -It's a small custom PCB that powers an ESP32 from the same 5 V supply as the LEDs, provides proper signal conditioning and level shifting for WS2812-style strips, and exposes a physical button for local control. +It's a small custom PCB that powers an ESP32 from the same 5 V supply as the LEDs, provides proper signal conditioning +and level shifting for WS2812-style strips, and exposes a physical button for local control. ---