GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - maybebyte/python-kickstarter: Copier template scaffolding a fully-gated Python project.

BranchesTags
Open more actions menu

Latest commit

 

History

238 Commits
238 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
docs/superpowers
docs/superpowers
 
 
template
template
 
 
tests
tests
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
.gitleaks.toml
.gitleaks.toml
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.semgrep.yml
.semgrep.yml
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
copier.yml
copier.yml
 
 
justfile
justfile
 
 
mise.toml
mise.toml
 
 
pyproject.toml
pyproject.toml
 
 
renovate.json
renovate.json
 
 
uv.lock
uv.lock
 
 

Repository files navigation

python-kickstarter

A Copier template that scaffolds a fully-gated Python project — pre-commit hooks, ruff, basedpyright, pytest with branch coverage, optional property/mutation/policy tests, optional scanners and dependency audit, and a just ci gate that is green from the first commit.

Use

copier copy --trust gh:maybebyte/python-kickstarter ./myproj

--trust is required on both copy and update because the template uses Copier's _tasks (and reserves _migrations for future breaking renames) — features Copier classifies as "unsafe".

To update a downstream project after a new template release:

copier update --trust

Hooks are installed on copy unless git's core.hooksPath is set (pre-commit refuses to install under it); the copy then skips that step with a hint instead of failing.

Scaffolding into an existing repository

To render the project as a subdirectory of a repository you already have, answer in_existing_repo with yes (or pass it as data):

copier copy --trust --data in_existing_repo=true gh:maybebyte/python-kickstarter ./subdir

This skips git init and the hook install, and does not render the root-only files GitHub and Renovate read only at the repository root: .github/workflows/*.yml, .pre-commit-config.yaml, and renovate.json. Recreate them at the root by hand if you want CI, hooks, or Renovate for the subproject (the workflows need a working-directory). Without the answer, copying into a subdirectory of a repository aborts rather than silently creating a nested one.

Toggles

All toggles default to true — every guardrail layer ships unless you opt out.

Toggle What it enables
enable_property_tests Hypothesis property suite (just fuzz)
enable_mutation_tests mutmut mutation suite (just mutate)
enable_policy_tests stdlib policy assertions (just policy)
enable_scanners Semgrep + gitleaks scan recipe (just scan)
enable_dependency_audit pip-audit recipe (just audit)
enable_renovate Renovate bot config
enable_sha_pin_policy zizmor workflow audit in CI, plus a CI policy test asserting all Action SHAs are pinned — the policy test requires enable_policy_tests (only the zizmor audit ships otherwise)
enable_changelog CHANGELOG.md plus a PR-only changelog.yml check: a PR that touches src/ or pyproject.toml must also add a line to CHANGELOG.md, or carry the skip-changelog label

Beyond the local recipes, several toggles also emit GitHub Actions workflows: enable_scanners, enable_dependency_audit, and enable_sha_pin_policy each contribute steps to a generated scan.yml (semgrep + gitleaks, pip-audit, and zizmor respectively), enable_mutation_tests emits a scheduled mutation.yml, and enable_changelog emits a PR-only changelog.yml. The always-on ci.yml runs the just ci gate on a Python-version matrix covering every interpreter at or above the project's requires-python floor (a single leg for the 3.13 default).

Requirements

  • Python ≥ 3.11
  • uv
  • just
  • Copier ≥ 9.6

Maintainers

See AGENTS.md for the template extension contract (adding guardrail layers, releasing, CI pinning rules).

License

ISC — see LICENSE. Generated projects get their own license, chosen at copy time (MIT, Apache-2.0, ISC, or proprietary).

About

Copier template scaffolding a fully-gated Python project.

Resources

Readme
ISC license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.