Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.82 KB

File metadata and controls

37 lines (29 loc) · 1.82 KB

Modules

Reusable Python modules imported by tasks/*.py invoke tasks. All functions are module-level — no classes required except small helper validators in common/cli.py.

Structure

modules/
  common/       # cli, properties, utils helpers
  repo/         # pull, push, log, squash, rebase (git workflow)
  setup/        # creates/stamps properties.yml, called by setup.sh/setup.ps1
  template/     # sync shared, generic tooling with the parent template repo for /template
  versioning/   # check pyproject.toml deps and workflow action refs vs. latest releases, update locks;
                # bump the repo's VERSION file for deploys/releases

Repo-consistency checks (check_agents) live under root tests/ as pytest tests, not here — see ../tests/test_check_agents.py and .github/instructions/tests.instructions.md.

Submodules

Directory Purpose
common/ CLI helpers, properties.yml config reader, output/utility helpers
repo/ Git workflow, session logging, squash, and rebase
setup/ Creates/stamps properties.yml, called by setup.sh/setup.ps1
template/ Sync shared, generic tooling with the parent template repo for /template
versioning/ Check pyproject.toml deps and workflow action refs vs. latest releases, update locks; bump the repo's VERSION file for deploys/releases

Conventions

  • One module per file; filename matches the concern in snake_case
  • Each modules/repo/*.py file exposes a main() entry point
  • Shell out via subprocess.run(..., cwd=repo_path) — never shell=True
  • Use modules.common.utils (success/error/warning/info) for all console output
  • Resolve repo config via modules.common.properties