Skip to main content

kryptorious-wfguard

Lint GitHub Actions workflows for CI-breaking and supply-chain issues — no Go install required.

wfguard is a native Python CLI that catches the workflow mistakes that break CI or weaken your supply-chain posture before they merge. It parses .github/workflows/*.yml — no actionlint (Golang) dependency, runs anywhere Python runs, offline.

Pairs naturally with the 15 Kryptorious GitHub Actions you can drop in.

Install

pip install kryptorious-wfguard

Usage

# Lint all workflows under the current repo
wfguard check

# In CI — fail the build on any error-severity issue
wfguard check --fail-on error

# Machine-readable output
wfguard check --json
wfguard check --sarif > wfguard.sarif

# Catch warnings too (moving refs, missing shell, duplicate names)
wfguard check --fail-on warning

# Just enumerate discovered workflow files
wfguard list

What it catches

Rule Severity Catches
WF-002 error Missing or empty on: trigger
WF-003 error Missing or empty jobs:
JOB-001 error Job is not a mapping
JOB-002 error Job missing runs-on:
JOB-003 warning Job has no permissions: (GITHUB_TOKEN defaults to write-all)
JOB-004 error needs: references an undefined job
JOB-005 error Job missing steps:
STEP-001 error Malformed uses: reference
STEP-002 warning uses: pins a moving tag/branch (main, master, develop, .x)
STEP-003 warning uses: uses a non-standard ref (not semver or SHA)
STEP-004 warning run: without shell:
STEP-005 warning Duplicate step name
ENV-001 warning References env.X that is never defined
YAML-001 error YAML parse failure

Why not just use actionlint?

actionlint is excellent but ships as a Go binary — another toolchain to install and pin in CI, and it doesn't run on every platform out of the box in a Python shop. wfguard is one pip install, drops into a Python project's existing test/CI flow, and emits JSON or SARIF so you can gate on it directly.

CI example

# .github/workflows/wf-lint.yml
name: Workflow Lint
on: [pull_request]
jobs:
  wfguard:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: '3.12' }
      - run: pip install kryptorious-wfguard
      - run: wfguard check --fail-on error

License

MIT — free for any use. Part of the 31-tool Kryptorious Developer Suite ($9 lifetime, DevFlow Premium included).

Metadata

Release files for kryptorious-wfguard 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for kryptorious-wfguard 1.0.0
File Interpreter ABI Platform Actions
kryptorious_wfguard-1.0.0-py3-none-any.whl Python 3 none any Details for kryptorious_wfguard-1.0.0-py3-none-any.whl

Release files / kryptorious_wfguard-1.0.0-py3-none-any.whl

Download URL kryptorious_wfguard-1.0.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78ae9c6fcf860253549b5faf2218465913f5037add7482e2a53d20dba58f6280
BLAKE2b-256 checksum
How to use checksums
6ac9b554f0182e01fa3731abcf1840ed0be56646c68a7d27b65b0d0402a51d0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for kryptorious-wfguard 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page