chore(tooling): use yarn for linting scripts (#149)

* chore(tooling): use yarn for linting scripts

* chore: fixes and tweaks

* chore(ci): more permissions

* chore: clean up, lint fixes

* chore: clean up, lint fixes

* chore: clean up, lint fixes

* chore(lint): fix yamllint errors and warnings

* chore(lint): lint fixes

* chore(lint): lint fixes
This commit is contained in:
2025-08-15 09:06:22 +03:00
committed by GitHub
parent 9c68e8b05c
commit 5f59851c7a
25 changed files with 193 additions and 2342 deletions

View File

@@ -1,12 +1,19 @@
# Project guidelines
This repository contains configuration files and helper scripts for managing a development environment. Dotbot drives the installation and host specific folders under `hosts/` include extra configs.
This repository contains configuration files and helper scripts for managing
a development environment.
Dotbot drives installation, and host-specific folders under `hosts/` contain extra configs.
## Setup
1. Run `yarn install` to fetch linting tools and the Bats test framework.
2. Re-run `yarn install` whenever `package.json` changes.
3. Yarn is the package manager of choice; avoid `npm` commands.
## Keeping the repository up to date
1. Update submodules with `git submodule update --remote --merge`.
2. Pull the latest changes and run `./install`.
3. Run `yarn install` whenever `package.json` changes.
## Linting and tests
@@ -17,13 +24,20 @@ This repository contains configuration files and helper scripts for managing a d
yarn fix:markdown
```
- Shell scripts must pass `shellcheck`. Run:
- Shell scripts must pass `shellcheck`.
```bash
find . -path ./node_modules -prune -o -name '*.sh' -print0 | xargs -0 shellcheck
```
- Execute tests with `yarn test`.
- Ensure `.editorconfig` rules pass:
```bash
tools/install-ec.sh
ec
```
- Execute tests with `yarn test` when code changes.
## Debugging lint issues
@@ -32,3 +46,10 @@ This repository contains configuration files and helper scripts for managing a d
- Consult `.shellcheckrc` for project specific checks.
Scripts rely on helpers in `config/shared.sh` so they run under Bash, Zsh and Fish by default.
## Commits and PRs
- Use Semantic Commit messages: `type(scope): summary`.
- Keep PR titles in the same format.
<!-- vim: set ft=markdown spell spelllang=en_us cc=80 : -->