Skip to content

ADR-0017: Root pyproject.toml for Dependency Management

  • Status: Accepted
  • Date: 2026-03-26
  • Deciders: DeAcero Agentic Team (Technical Committee)
  • Supersedes: None

Context

Currently, the root repository cookiecutter-agentic-ci (Cornerstone template) lacks a dedicated dependency management file like pyproject.toml or requirements.txt. This causes integration friction where users cloning the repository cannot execute tests (like test_kedro_lineage_builder.py) automatically due to missing dependencies (pytest, PyYAML). Developers have to manually install them.

Decision

We will introduce a pyproject.toml file at the root of the Cornerstone repository. This file will be strictly meant for maintaining development and testing dependencies associated with the template itself, independently from the generated templates (builder/). It will declare an optional [dev] dependencies group including testing and operational libraries: pytest, PyYAML, and pre-commit.

Consequences

Positive

  • Fully automated testing capabilities directly from the root cloned repository without manual intervention.
  • Pre-commit integration is formally supported and reproducible.
  • Eliminates onboarding friction for new developers modifying the base template.

Negative

  • Developers might confuse the root pyproject.toml with the pyproject.toml belonging to the specific generated templates.
  • Requires slight modifications to install.bat / install.sh to trigger pip install -e ".[dev]".