Skip to main content

Generate guarded Python project starters for Codex, Claude Code, and Cursor.

Project description

ScaffoldGuard

scaffold-guard generates strict Python starter repositories for teams using coding agents. It creates a typed package layout, local validation commands, GitHub Actions workflows, and agent instructions for Codex, Claude Code, and Cursor.

The PyPI package and uvx entrypoint are scaffold-guard; the canonical installed command is scaffold-guard.

Install

After the package is published to PyPI:

uvx scaffold-guard version

From a local checkout or built wheel:

uv sync --all-groups
uv run scaffold-guard version
uv build
uvx --from dist/scaffold_guard-0.1.0-py3-none-any.whl scaffold-guard version

Publishing

PyPI publishing is prepared through GitHub Actions Trusted Publishing. Before the first release, configure a PyPI pending publisher for:

Project name: scaffold-guard
Owner: damienbenveniste
Repository: ScaffoldGuard
Workflow: publish.yml
Environment: pypi

No PyPI API token is required. After the pending publisher exists, publish a GitHub Release or manually run the Publish workflow from main.

Quickstart

Generate a project with every supported adapter:

uvx scaffold-guard init my_project --agent all
cd my_project
uv sync --all-groups
uv run scaffold-guard check
uv run scaffold-guard validate --quick

Generate for one agent surface:

uvx scaffold-guard init codex_demo --agent codex
uvx scaffold-guard init claude_demo --agent claude
uvx scaffold-guard init cursor_demo --agent cursor

Use --dry-run to preview files and --force to overwrite known generated files.

Generated Project

The default package profile creates:

my_project/
  AGENTS.md
  README.md
  LICENSE
  pyproject.toml
  pyrightconfig.json
  scaffold-guard.toml
  .github/workflows/
  docs/
  examples/
  src/my_project/
  tests/unit/
  tests/integration/

Adapter files are added according to --agent:

Agent Generated instruction files
codex AGENTS.md
claude AGENTS.md, CLAUDE.md, .claude/rules/*.md
cursor AGENTS.md, .cursor/rules/*.mdc
all all of the above

Commands

scaffold-guard init NAME [--agent codex|claude|cursor|all]
scaffold-guard check [--path .] [--json]
scaffold-guard inspect-diff [--path .] [--base main] [--json]
scaffold-guard validate [--path .] [--quick] [--json]
scaffold-guard compile-rules [--path .] [--agent codex|claude|cursor|all] [--dry-run] [--force]
scaffold-guard doctor [--path .] [--json]
scaffold-guard version

check runs fast policy checks. inspect-diff explains validation obligations for changed files in a git repository. validate runs the generated project's configured validation gate. compile-rules regenerates managed agent instruction files from templates. doctor reports local tool and generated project health.

Local Development

Run the package gate from this repository:

uv sync --all-groups --frozen
uv run ruff format --check .
uv run ruff check .
uv run mypy src tests
uv run pyright
uv run pytest tests --cov=scaffold_guard --cov-report=term-missing --cov-fail-under=95
uv run mkdocs build --strict
uv build

Limitations

V1 is a developer CLI, not a SaaS product or policy server. It does not include telemetry, external AI calls, Codex or Claude hooks, a plugin system, Homebrew automation, or automatic upgrades for mature existing repositories.

Homebrew distribution, hook starter templates, more project profiles, and richer policy configuration are intentionally deferred until after the PyPI package is stable.

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

scaffold_guard-0.1.0.tar.gz (124.9 kB view details)

Uploaded Source

Built Distribution

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

scaffold_guard-0.1.0-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file scaffold_guard-0.1.0.tar.gz.

File metadata

  • Download URL: scaffold_guard-0.1.0.tar.gz
  • Upload date:
  • Size: 124.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scaffold_guard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 53521c1239518be598e84386ee37e00813f71095378977ecfdda2af8f114d144
MD5 793e4f87945710a329d3d5a6732eb150
BLAKE2b-256 8b238db9a39f09dc64ed9770c9ab470020cd539a7c26530232393aea985a5bd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for scaffold_guard-0.1.0.tar.gz:

Publisher: publish.yml on damienbenveniste/ScaffoldGuard

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

File details

Details for the file scaffold_guard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scaffold_guard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 49.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scaffold_guard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4799b0d0ea8743ac450c5e42cf91a6ae451ce67c3695a04dcca5b789e4b98bac
MD5 54c42e003597d7afeefd5bd1cc52531c
BLAKE2b-256 d00fea54760c40da7a470d536b8cdabce411092d64f57ccd7c9d312df225b0c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for scaffold_guard-0.1.0-py3-none-any.whl:

Publisher: publish.yml on damienbenveniste/ScaffoldGuard

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