Skip to main content

Minimal repository scanning CLI.

Project description

repo-sentinel-lite

Deterministic Python CLI for repository hygiene checks, lightweight secret scanning, and baseline-backed pre-commit validation.

repo-sentinel-lite scans a repository and emits stable JSON for:

  • suspicious filenames such as .env, *.pem, id_rsa, and *.kdbx
  • high-entropy strings that look like secrets
  • missing standard files such as README.md, LICENSE, and .gitignore

It also supports .reposentinel.toml overrides, JSON baselines for suppressing known findings, and a pre-commit provider for repository-local enforcement.

Install

Install from production PyPI:

python -m pip install repo-sentinel-lite

Requires Python 3.14.

Usage

More copy-pasteable CLI workflows are in docs/cli-recipes.md.

Scan the current repository. This defaults to deterministic JSON output:

repo-sentinel scan

Emit deterministic JSON explicitly for a specific path:

repo-sentinel scan --format json path/to/repo

Render a concise text summary for a specific path:

repo-sentinel scan --format text path/to/repo

Scan a specific path and save a baseline:

repo-sentinel scan --write-baseline baseline.json path/to/repo

Scan with an existing baseline applied:

repo-sentinel scan --baseline baseline.json path/to/repo

If the scanned repository already contains .reposentinel-baseline.json, repo-sentinel scan applies it automatically.

Fail with exit code 1 when unsuppressed findings remain:

repo-sentinel scan --fail-on-findings path/to/repo

Use a .reposentinel.toml config to ignore paths or adjust thresholds:

ignore_globs = ["dist/*", ".venv/*"]
entropy_threshold = 4.2

Local development

Use Python 3.14, then run:

python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
python -m pytest -q
ruff check .

These commands match the GitHub Actions CI workflow: .github/workflows/ci.yml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repo_sentinel_lite-0.6.3.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repo_sentinel_lite-0.6.3-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file repo_sentinel_lite-0.6.3.tar.gz.

File metadata

  • Download URL: repo_sentinel_lite-0.6.3.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for repo_sentinel_lite-0.6.3.tar.gz
Algorithm Hash digest
SHA256 41584519d5bfb26cadb0513d4f500d6da47c0997b6947a480c90b406e6bdbae9
MD5 0a2f6aac0e1c75773508be955aade6c2
BLAKE2b-256 b10227528b828d82a597f862d23d53950600af57a877f674acd53508073076be

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_sentinel_lite-0.6.3.tar.gz:

Publisher: release.yml on stacknil/repo-sentinel-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repo_sentinel_lite-0.6.3-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_sentinel_lite-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a0a34c41ad71df8ef391ac06fb85b8e59742012f6bcd63222b056348c75822f6
MD5 afd3ef985517539c9f89225494e46818
BLAKE2b-256 8464c8840865fc4a538b7b6cc24d0144d6c3eb5ef7c10392e093a0af9332b7c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_sentinel_lite-0.6.3-py3-none-any.whl:

Publisher: release.yml on stacknil/repo-sentinel-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page