Skip to content

Restructure tasks/ into ai/common/tests/, organize tests/ into marker subfolders - #19

Merged
LevonBecker merged 1 commit into
mainfrom
restructure-tasks-ai-common-tests
Aug 11, 2026
Merged

Restructure tasks/ into ai/common/tests/, organize tests/ into marker subfolders#19
LevonBecker merged 1 commit into
mainfrom
restructure-tasks-ai-common-tests

Conversation

@LevonBecker

Copy link
Copy Markdown
Owner

Mirrors the same restructuring just done in fireball_orchestrator (a downstream consumer of this template), scoped to what actually exists here.

tasks/ — split into subpackages, every task kept at its original top-level invoke name (no CLI surface change):

  • tasks/ai/{repo,template}.py — tooling downstream repos use to operate on themselves (git/PR workflow, parent-template sync).
  • tasks/common/{main,debug,ruff,setup,upgrade,uv,versioning}.py — template_python-inherited boilerplate. main.py replaces combos.py (same fix/test/update aliases).
  • tasks/tests/tasks/tests.py split into one file per check, still one flat tests.* namespace. check_agents.py now runs pytest -m "agents" instead of a hardcoded file path.

tests/ — the actual pytest suite organized into marker-named subfolders (agents/, setup/, style/), matching fireball_orchestrator's own tests/ layout. pyproject.toml gained a markers list; tests.pytest gained a scope= param for marker-filtered subset runs (invoke tests.pytest scope=agents).

Also documents a real bug found while restructuring: Collection(auto_dash_names=...) must be a constructor kwarg, not a .configure({"auto_dash_names": False}) call (which silently does nothing) — fixed everywhere, noted in tasks.instructions.md.

Companion to template_python#2, the parent this repo forks from.

🤖 Generated with Claude Code

Mirrors the same restructuring just done in fireball_orchestrator (a
downstream consumer of this template), scoped to what actually exists here:

- tasks/ai/{repo,template}.py -- tooling downstream repos use to operate on
  themselves (git/PR workflow, parent-template sync). Kept at their original
  top-level repo.*/template.* names.
- tasks/common/{main,debug,ruff,setup,upgrade,uv,versioning}.py --
  template_python-inherited boilerplate. main.py replaces combos.py (same
  fix/test/update aliases). Kept at their original top-level names too.
- tasks/tests/ -- tasks/tests.py split into one file per check (actionlint,
  check_agents, pylint, pytest, rufflint, yamllint), still one flat tests.*
  namespace. check_agents.py now runs `pytest -m "agents"` instead of a
  hardcoded file path, so it doesn't go stale if that test file ever moves
  again.

No CLI surface change from any of the above -- every task in this repo
invokes identically to before.

Also organized the actual pytest suite (tests/) into marker-named
subfolders (agents/, setup/, style/), added a markers list to
pyproject.toml, and gave tasks/tests/pytest.py a scope= param for
marker-filtered subset runs (invoke tests.pytest scope=agents). Fixed each
moved test file's REPO_ROOT parents[] index for the new nesting depth.

README.md and .github/instructions/{index,tasks}.instructions.md updated to
match, including documenting a real bug found while restructuring:
Collection(auto_dash_names=...) must be a constructor kwarg, not a
.configure({"auto_dash_names": False}) call (which silently does nothing).

Companion to the template_python PR this repo forks from.

Generated with Claude Code

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant