Skip to content

Releases: Alurith/jeff

Release list

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 17:58

The first release of Jeff

Highlights

  • Check individual files or entire projects with jeff check.
  • Use human-readable output locally or structured JSON in CI.
  • Configure projects through jeff.toml.
  • Store credentials with jeff auth login and remove them with jeff auth logout.
  • Update a released binary with jeff update.
  • Download binaries for Linux, macOS, and Windows on amd64 and arm64, with SHA-256 checksums.
  • Licensed under Apache-2.0.

Built-in rules

  • GEN001 — Failure-path integrity: finds failure paths that can leave state, output, or contracts semantically inconsistent.
  • GEN002 — Side-effect transparency: finds relevant side effects that are not reasonably signaled by the surrounding interface.
  • GEN003 — Within-file semantic duplication: finds duplicated domain policies, decisions, or invariants with divergence risk.
  • GEN004 — Concrete naming/behavior mismatch: finds names, signatures, or interfaces that contradict observable behavior.

Create custom rules

Add external YAML rule fragments and load them from jeff.toml:

rule-files = ["rules/*.yml"]

For example, create rules/team.yml:

family: TEAM
rules:
  - code: TEAM001
    name: no-raw-sql
    message: Queries must use parameter binding.
    scope: file
    files:
      include:
        - "**/*.go"
    question:
      type: noul
      instructions: This file does not construct SQL queries by concatenating untrusted input.
    decision:
      pass_below: 0.20
      fail_at_or_above: 0.80

The family must be a unique 2–8 character uppercase prefix; rule codes end in three digits and names use kebab-case. A score below pass_below passes, one at or above fail_at_or_above fails, and values between them are inconclusive. Rules run on recognized source files by default; set allow-non-source: true under files only when that is intentional.

Changelog

  • bf22f0c Add Apache 2.0 license
  • 729c042 feat(evals): add versioned evaluation harness
  • 263428e feat: add external rules and project configuration
  • 2d6defa feat: add self-updating releases
  • b9c2e3f feat: compact semantic rule catalog
  • b944613 feat: implement Jev checks
  • 057de8a fix: enforce secure input and transport boundaries
  • c83513c refactor(rules): align GEN catalog with semantic checks
  • 656ca43 refactor: apply ponytail audit