checkleft 0.1.0-alpha.5

Experimental repository convention checker; API and behavior may change without notice
Documentation
# checkleft

Status: experimental / under active development. Not yet recommended for
general use. The CLI behavior, built-in checks, and library API may change
without notice.

`checkleft` is a repository convention checker. It runs built-in and external
checks against the files in a source tree and reports findings as human-readable
output or JSON.

## Install

```bash
cargo install checkleft
```

## Usage

Run from the root of a Git or Jujutsu repository:

```bash
checkleft run
checkleft run --verbose
checkleft run --all
checkleft run --external-checks-url https://example.com/CHECKS.yaml
checkleft list
```

`checkleft` looks for `CHECKS.yaml` or `CHECKS.toml` files from the repository
root down to the file being evaluated.

The root config can also set `settings.external_checks_url` to merge an
externally hosted root config before applying local root and child overrides.
The CLI flag `--external-checks-url` provides the same behavior for repos that
do not yet have a root config file.

## Minimal config

```yaml
checks:
  - id: typo
    check: typo
```

## Notes

- `checkleft` shells out to `git` or `jj` to discover repository state.
- Some built-in checks are specific to Bazel- or monorepo-style workflows.
- JS/TS external checks in `source` mode cache built wasm artifacts under a
  repo-scoped path in `${XDG_CACHE_HOME:-$HOME/.cache}/checkleft/`, and share
  the JS toolchain install across repos when the pinned toolchain inputs match.
  Those entries are derived-only and can be deleted to force a rebuild.