📈 GH Trending Explorer 🎲 Surprise me

← all repos

codegirl-007 / jevlint

git clone https://github.com/codegirl-007/jevlint.git v0.4.0 · 14d ago

A linter to codify code taste using Jev

+0
stars, 24h · #31,344
+~0
stars, 7 days · #31,819
+126
stars, 30 days · #3,891
126
★ total
5
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 126 ★ 2026-10-22 · 126 ★
LanguageGo
LicenseMIT
Created2026-09-25 (27d ago)
Last push6d ago
Watchers0
OwnerUser

Links

README excerpt
# Jevlint
Jevlint checks code against plain-language rules. It uses Tree-sitter to extract
code units, then asks your configured decision backend whether each one passes.
## Install
Download a prebuilt binary from
Releases — `linux` and
`macos` on `amd64`/`arm64`, and `windows` on `amd64` — unpack it, and put
`jevlint` on your `PATH`.
Or install with Go:
 [code] 
## Getting started
Install `jevlint`, then work through these steps in your repository:
1. **Create `.jevlint.json`** — `jevlint init` detects languages in the project
 and writes a starter config (legacy `jevlint.json` is still read if present).
2. **Add rules** — Edit `.jevlint.json` or install a pack. Without rules,
 `check` has nothing to evaluate.
3. **Set credentials** — Export an API key for your provider (TypeSafe below;
 OpenAI, OpenRouter, and Cloudflare are in Providers).
4. **Verify** — `jevlint doctor` should report the config and API as OK.
5. **Check the tree** — `jevlint check .` prints findings. Exit code `0` means
 no failures above your confidence thresholds.
 [code] 
## Requirements
Building from source (or installing with `go install`) needs:
- Go 1.26 or newer
- CGO enabled
- A C compiler
Running checks needs credentials for a decision provider. The
default is TypeSafe; create a key at
 .
## Commands
| Command | Description |
| --- | --- |
| `jevlint init` | Write a starter `.jevlint.json` for the project. |
| `jevlint doctor` | Check that the config loads and the credentials work. |
| `jevlint check [paths...]` | Check code against the rules. |
| `jevlint eval` | Score rules against fixtures in `jevlint-evals.json`. |
| `jevlint plugin ...` | Manage rule packs. |
| `jevlint version` | Print the version. |
`init` and `doctor` accept `--json` for machine-readable output.
## Run
When working on jevlint itself, set provider credentials (see
Configuration) and run from the repository root:
 [code] 
| Flag | Description |
| --- | --- |
| `--changed` | Check only git-modified files (staged, unstaged, and untracked). |
| `--clear-cache` | Clear this project's cached evaluations before checking. New results are cached. |
| `--color auto\|always\|never` | Control colored text output. Defaults to `auto`. |
| `--config path` | Use a different rule file. Its directory becomes the project root. |
| `--concurrency number` | Set the maximum number of concurrent Jev requests. Defaults to `4`. |
| `--format text\|json` | Select human-readable or machine-readable output. Defaults to `text`. |
| `--refresh-cache` | Reevaluate code and replace matching cached results. |
## Configuration
**Project rules** live in `.jevlint.json`. `jevlint init` creates that file.
When you run commands without `--config`, jevlint loads `.jevlint.json` if it
exists; otherwise it loads `jevlint.json` for older projects. Run
`jevlint doctor` to rename a legacy `jevlint.json` to `.jevlint.json`. Use
`--config path` only when the file is not in the project root or you want a
non-default name. `init` does not