@@ -39,6 +39,13 @@ make repro
3939
4040``` text
4141.
42+ ├── .github
43+ │ └── workflows
44+ │ ├── ci.yml
45+ │ └── docs-pages.yml
46+ ├── .gitignore
47+ ├── .pre-commit-config.yaml
48+ ├── .python-version
4249├── AGENTS.md
4350├── CONTRIBUTING.md
4451├── LICENSE
@@ -60,29 +67,54 @@ make repro
6067│ ├── check_docs_consistency.py
6168│ └── check_google_docstrings.py
6269├── src
63- │ ├── design_research_python_template
6470│ └── drc_python_template
71+ │ ├── __init__.py
72+ │ ├── core.py
73+ │ └── py.typed
6574├── tests
6675│ ├── test_core.py
6776│ └── test_public_api.py
6877└── uv.lock
6978```
7079
71- - ` .github/workflows/ ` contains the GitHub Actions definitions for CI and docs publishing.
72- - ` docs/ ` contains the Sphinx source files for the package documentation.
73- - ` examples/ ` contains small runnable scripts that demonstrate the public API.
74- - ` scripts/ ` contains repository maintenance and validation helpers used by ` make ` .
75- - ` src/drc_python_template/ ` contains the installable Python package code.
80+ The top-level tree above is the minimum working package scaffold. Each element
81+ has a specific job:
82+
83+ - ` .github/ ` stores GitHub-specific automation and repository metadata.
84+ - ` .github/workflows/ ` contains the GitHub Actions pipelines for this repository.
85+ - ` .github/workflows/ci.yml ` runs the main validation pipeline, centered on ` make ci ` .
86+ - ` .github/workflows/docs-pages.yml ` builds the docs and publishes them to GitHub Pages.
87+ - ` .gitignore ` keeps local caches, IDE files, build outputs, and virtualenvs out of version control.
88+ - ` .pre-commit-config.yaml ` defines the optional local pre-commit hook configuration.
89+ - ` .python-version ` pins the preferred reproducible interpreter version for local setup.
90+ - ` AGENTS.md ` provides repository-specific instructions for coding agents and automation.
91+ - ` CONTRIBUTING.md ` documents the contributor workflow, quality checks, and review expectations.
92+ - ` LICENSE ` defines the repository's software license terms.
93+ - ` Makefile ` is the main command surface for setup, linting, typing, testing, docs, and release checks.
94+ - ` README.md ` is the onboarding document that explains the template and how to use it.
95+ - ` docs/ ` contains the Sphinx documentation source tree.
96+ - ` docs/api.rst ` builds the API reference from the package's Python docstrings.
97+ - ` docs/conf.py ` configures Sphinx extensions, theme settings, and the docs build behavior.
98+ - ` docs/dependencies_and_extras.rst ` explains the dependency model and optional extras.
99+ - ` docs/drc.png ` is the shared DRC logo used in the generated docs site.
100+ - ` docs/index.rst ` is the documentation landing page and toctree entry point.
101+ - ` docs/quickstart.rst ` provides the short setup path for local development.
102+ - ` examples/ ` contains small runnable examples intended to show the public API in use.
103+ - ` examples/README.md ` explains what examples exist and how to run them.
104+ - ` examples/basic_usage.py ` is the minimal working example for the template package.
105+ - ` pyproject.toml ` defines package metadata, dependencies, build settings, and tool configuration.
106+ - ` scripts/ ` contains helper scripts used by the Make targets and local checks.
107+ - ` scripts/check_coverage_thresholds.py ` enforces the minimum coverage percentage from the coverage report.
108+ - ` scripts/check_docs_consistency.py ` verifies that the docs tree and package references stay in sync.
109+ - ` scripts/check_google_docstrings.py ` checks for required module, class, and function docstrings.
110+ - ` src/ ` is the source root for the ` src ` -layout package.
111+ - ` src/drc_python_template/ ` contains the installable Python package itself.
112+ - ` src/drc_python_template/__init__.py ` defines the curated public import surface.
113+ - ` src/drc_python_template/core.py ` contains the small example implementation shipped with the template.
114+ - ` src/drc_python_template/py.typed ` marks the package as PEP 561 typed for downstream tooling.
76115- ` tests/ ` contains the pytest suite that protects the public behavior.
77- - ` .gitignore ` defines which local caches, virtualenvs, and build outputs stay untracked.
78- - ` .pre-commit-config.yaml ` provides an optional pre-commit hook that runs the local CI gate.
79- - ` .python-version ` pins the preferred reproducible Python interpreter version.
80- - ` AGENTS.md ` documents repository-specific guidance for coding agents and contributors.
81- - ` CONTRIBUTING.md ` documents the human contributor workflow and quality checks.
82- - ` LICENSE ` contains the repository's software license.
83- - ` Makefile ` provides the standard local commands for setup, linting, testing, docs, and releases.
84- - ` README.md ` is the top-level overview and quickstart guide for the repository.
85- - ` pyproject.toml ` defines package metadata, dependencies, and tool configuration.
116+ - ` tests/test_core.py ` tests the package's example core behavior.
117+ - ` tests/test_public_api.py ` keeps the top-level exports explicit and stable.
86118- ` uv.lock ` pins the reproducible dependency graph used by ` make repro ` .
87119
88120## Customizing The Template
0 commit comments