Skip to content

scaffold: dependency reconciliation is silent — no diff shown, unlike enhance/upgrade #85

Description

@MisterTK

Is your feature request related to a problem? Please describe.

scaffold create -a <remote-template> reconciles a third-party template's declared extra_dependencies against the base adk template's current floor at scaffold time ("Ensuring base template 'adk' dependencies..."). I hit this directly: my own remote template (MisterTK/keel/packaging/agents-cli-template) had pinned google-adk[gcp]>=2.0.0,<3.0.0, and the CLI silently upgraded it to google-adk[gcp,otel-gcp]>=2.6.0,<3.0.0 plus added three dependencies my manifest never listed (google-cloud-logging, opentelemetry-resourcedetector-gcp, gcsfs) — with no indication in the terminal output that anything had changed from what the template declared.

This is a genuinely useful safety net (it kept a stale third-party template from producing a broken project), but it's invisible. A template author has no way to know their pinned versions are out of date until they diff the generated pyproject.toml by hand against their own manifest.

Compare this to scaffold enhance/scaffold upgrade, which both print a clear summary before applying anything:

Dependency changes:
  + Add: google-cloud-aiplatform[evaluation]>=1.156.0
  ...
  ✓ Keep (yours): keelrun>=0.2.0

Describe the solution you'd like

Print the same kind of "Dependency changes" summary during scaffold create's reconciliation step, so a template author (or anyone reading the terminal output) can see exactly what got added/changed versus what the template itself declared — the same UX enhance/upgrade already have, just applied to the initial create path too.

Describe alternatives you've considered

Diffing the generated pyproject.toml against the template's own manifest by hand after every scaffold create run — works, but easy to miss and not something a template consumer would think to do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions