feat: implement python-based repository bootstrapping and modernize documentation#6
Conversation
…ng included in docs, and misc incorrect docs and incorrect references for the org and project due to intended replacement
…ject to ensure it is easy and foolproof to do and generates a usable repo while also ensuring template-python is a usable repo on its own
CI Development Pipeline Status❌ Pipeline: Failed or was cancelled. Check logs |
There was a problem hiding this comment.
Pull request overview
This PR replaces the shell bootstrap flow with a Python-based bootstrapper, renames the default package to template_python / template-python, and refreshes documentation, tests, and CI/doc workflows around the template repository.
Changes:
- Adds
scripts/bootstrap.pyplus unit and E2E tests for repository bootstrapping. - Updates package/module references from
project_nametotemplate_python/template-python. - Modernizes docs, MkDocs API generation, coverage docs integration, and workflow dependencies.
Reviewed changes
Copilot reviewed 57 out of 60 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/bootstrap.py |
Adds Python bootstrap implementation and feature toggles. |
scripts/bootstrap.sh |
Removes old shell bootstrapper. |
scripts/README.md |
Documents new bootstrap script usage. |
pyproject.toml |
Renames package, updates deps, docs deps, scripts, tooling config. |
uv.lock |
Updates lockfile for renamed package and new dependencies. |
src/template_python/* |
Updates package docs/imports/env prefixes and CLI entrypoint. |
tests/** |
Updates imports/expectations and adds bootstrap tests. |
docs/** |
Updates documentation content and generated API reference setup. |
.github/workflows/* |
Adjusts docs dependencies and disables PyPI publish steps by default. |
.github/ISSUE_TEMPLATE/* |
Updates template repository references. |
.github/PULL_REQUEST_TEMPLATE.md |
Updates PR template wording/references. |
README.md |
Updates bootstrap guidance and project references. |
AGENTS.md, CONTRIBUTING.md, DEVELOPING.md, SECURITY.md, SUPPORT.md, CODE_OF_CONDUCT.md, NOTICE, CITATION.cff |
Updates repository metadata and documentation references. |
Dockerfile, docker-compose.yml |
Updates container/module references. |
examples/** |
Updates example imports and docs. |
.env.example, .editorconfig, .gitignore |
Updates default names and generated-file paths. |
llms.txt, llms-full.txt |
Updates LLM-facing documentation references. |
mkdocs.yml |
Adds generated API docs plugins and updated site metadata. |
Comments suppressed due to low confidence (1)
src/template_python/logging.py:6
- The updated module docstring is grammatically incomplete: “It handles dynamic OpenTelemetry formatting, across...” is missing the object that was removed from the sentence.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
CI Development Pipeline Status❌ Pipeline: Failed or was cancelled. Check logs |
Agent-Logs-Url: https://github.com/markurtz/template-python/sessions/956319d3-b149-462b-86f8-f3ac0d6bf3c0 Co-authored-by: markurtz <12499095+markurtz@users.noreply.github.com>
Agent-Logs-Url: https://github.com/markurtz/template-python/sessions/956319d3-b149-462b-86f8-f3ac0d6bf3c0 Co-authored-by: markurtz <12499095+markurtz@users.noreply.github.com>
CI Development Pipeline Status✅ Pipeline: Completed successfully. View Run Details |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Mark Kurtz <mark.j.kurtz@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Mark Kurtz <mark.j.kurtz@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Mark Kurtz <mark.j.kurtz@gmail.com>
CI Development Pipeline Status❌ Pipeline: Failed or was cancelled. Check logs |
- Replace {{year}} placeholder instead of all "2026" literals to avoid corrupting unrelated content
- Add Path.cwd() support to E2E test MockPath class
- Add noqa: E402 to suppress import-after-sys.path.insert lint errors in test files
Agent-Logs-Url: https://github.com/markurtz/template-python/sessions/cffd9703-e40f-459e-9641-1018b1db6dd8
Co-authored-by: markurtz <12499095+markurtz@users.noreply.github.com>
CI Development Pipeline Status❌ Pipeline: Failed or was cancelled. Check logs |
CI Development Pipeline Status✅ Pipeline: Completed successfully. View Run Details |
- Fix example template README to use correct module name (template_python instead of template-python) - Update llms-full.txt to reference bootstrap.py script instead of manual find-and-replace - Fix BootstrapConfig.create() to include default global_blacklist for programmatic usage Agent-Logs-Url: https://github.com/markurtz/template-python/sessions/cb6d7229-712f-41d2-bb7e-c18a17906cac Co-authored-by: markurtz <12499095+markurtz@users.noreply.github.com>
CI Development Pipeline Status✅ Pipeline: Completed successfully. View Run Details |
Description
This PR introduces a comprehensive overhaul to the repository bootstrapping process and modernizes the project's documentation infrastructure. It replaces the previous shell-based bootstrap script with a robust, type-safe Python implementation (
scripts/bootstrap.py) that includes conditional toggles for project features, such as defaulting PyPI publishing workflows to an inactive state. Additionally, this PR addresses multiple documentation formatting issues, integrates coverage reporting, and resolves issues with the MkDocs version switcher.Key changes include:
scripts/bootstrap.shwith a comprehensive, fully tested Python script (scripts/bootstrap.py). Encapsulated bootstrap logic within aBootstrapConfigclass, adding conditional toggling for PyPI publishing and automated regex-based template placeholder replacement.mikeversion dropdown, modernized documentation layout by migrating to native MkDocs Material attributes, updated links to be absolute, and relocatedgen_ref_pages.pyto thedocs/directory. Successfully integrated coverage reports into the documentation pipeline.project_nametotemplate_pythonto be functional out-of-the-box. Updated GitHub Action configurations and resolvedpre-commitCI pipeline issues.Type of Change
README.md,SUPPORT.md, docstrings, etc.)Test Plan
uv run scripts/bootstrap.pylocally to confirm all placeholder templates are appropriately populated.hatch run docs:serveto confirm proper rendering of grid card layouts, the version switcher, and code coverage integration.hatch run test:allto verify that all new bootstrapping logic unit and end-to-end tests successfully pass without environmental side-effects.Related Issues
Screenshots / Visuals (if applicable)
Use of AI
Checklist
Important
Please review and complete this checklist before submitting your PR. This helps our maintainers process your contribution faster and ensures it meets the quality standards of
template-python.template-python.