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 the latest tagged GitHub source release:

python -m pip install "git+https://github.com/stacknil/repo-sentinel-lite.git@v0.6.1"

Requires Python 3.14.

repo-sentinel-lite is not published on production PyPI yet.

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.2.tar.gz (18.8 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.2-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: repo_sentinel_lite-0.6.2.tar.gz
  • Upload date:
  • Size: 18.8 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.2.tar.gz
Algorithm Hash digest
SHA256 4ae888d50762e5e5110d188a74c50de6aa254f9b6cac843fac74392db9300df7
MD5 ce76390827ebe05e10e8c168942a17e4
BLAKE2b-256 00c0650d989e2e8e54b80b74cd7d6d684ee3749657130e67c485cfcd58fde5dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_sentinel_lite-0.6.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for repo_sentinel_lite-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b33d97ad92b65298555a1487085d801ac024314f6f6fcc6d154533a0d0296f1
MD5 6ac72e968eb48b4739fb55df1a47438d
BLAKE2b-256 7521f1d26f194ad8c5488edadfb54c770fa9eacbd8c5200891db895e86c973bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_sentinel_lite-0.6.2-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