Govern AI-built software from scan to build to repair — all from the terminal. Saturnday runs 48+ deterministic governance checks on Python projects (with additional checks for TypeScript, DevOps files, and project metadata), builds projects from a brief with ticketed execution and per-commit governance, produces governed documents, inspects release artefacts, and auto-fixes findings with evidence.
Requires: pip install saturnday (Python 3.10+)
Verify installation:
bash
saturnday version
If saturnday is not installed, run:
bash
pip install saturnday
Saturnday has three core modes plus document and release modes. Choose based on the task:
ModeWhen to useCommandScanCheck a skill or repo for issuespython scripts/scan.py <path>GuardFull governance on a git repopython scripts/guard.py <path>RunBuild a project from a briefpython scripts/run.py <path> --brief "..."DocumentProduce a governed documentsaturnday start --document --doc-spec spec.yamlReleaseInspect artefacts before publishingsaturnday release-preflight --repo <path>
Use when: checking an OpenClaw skill for security risks, hallucinated imports, fake tests, or quality issues before installing or publishing.
bash
python scripts/scan.py <skill-directory-path>
Or directly:
bash
saturnday scan --skill <skill-directory-path> --output /tmp/scan-results --format both
text
Disposition: PASS or FAIL
Findings: list with check name, severity, file, line, description
Evidence: timestamped directory with full results
Use when: running full governance on any git repository — before merging, before deploying, or for audit.
bash
python scripts/guard.py <repo-path>
For staged changes only (pre-commit):
bash
python scripts/guard.py <repo-path> --staged
Or directly:
bash
saturnday governance --repo <path> --full
48+ deterministic checks for Python projects: security (SQL injection, XSS, CSRF, auth bypass, hardcoded secrets, WebSocket security, OAuth, token handling, rate limiting, IDOR, user enumeration, cookie security), AI-specific (hallucinated imports, fake tests, dead code, placeholders), quality (syntax, dependencies, Python version compat, code quality, blast radius, project hygiene, typosquat detection). Additional checks activate for DevOps files (Dockerfile, GitHub Actions, GitLab CI, Jenkins, Terraform, Kubernetes, config security) and TypeScript/JavaScript code.
Prevent regressions:
bash
saturnday baseline generate --repo <path>
Create .saturnday-policy.yaml:
yaml
expected_findings:
- declared_not_installed
- package_not_importable
Use when: building a project from a description. This is the full governed execution pipeline.
bash
python scripts/run.py <project-directory> --brief "build a REST API with auth and tests" --backend anthropic
Or interactively:
bash
cd <project-directory>
saturnday start
BackendValueAuthClaude Code CLIclaude-cliClaude Pro subscriptionCodex CLIcodex-cliOpenAI subscriptionOpenClaudeopenclaudeOpenClaude CLICursor CLIcursor-cliCursorOpenAI APIopenaiOPENAI_API_KEYAnthropic APIanthropicANTHROPIC_API_KEY
[GOVERNANCE: review required] tag so the project stays completereview-required.md with findings, remediation tips, and copy-paste fix prompts for each ticketsaturnday-progress.log with ticket outcomes, governance results, and counterfactual messages showing what ungoverned AI coders would have done wrongSaturnday auto-detects prior runs. If you restart saturnday run on a project that already has a ledger, tickets that already passed are skipped automatically. You can also resume explicitly:
bash
saturnday resume --repo <path> --backend anthropic
Use when: producing governed documents (specs, reports, audits) with section-level checks and cross-section consistency validation.
bash
saturnday start --document --doc-spec doc-spec.yaml --backend claude-cli
The pipeline: parse spec, plan sections, generate each section, run section-level checks (structure, placeholders, citations, evidence coverage), retry failures, run cross-section consistency checks, and produce a signed-off evidence pack.
Use when: inspecting built artefacts (wheels, sdists, npm tarballs, OCI images) before publishing.
bash
saturnday release-preflight --repo <path> --type python
saturnday release-preflight --wheel dist/mypackage-1.0-py3-none-any.whl
Runs 5 release-security checks: source map blocking, secrets in artefact, internal file blocking, allowlist manifest validation, and release diff comparison. Separate from code governance.
saturnday repair --repo <path> directlypip install saturnday (Python 3.10+)