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

Open
#85 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
google-cloud, python
Domain
cli, cloud, tooling

Research direction

Trace the dependency reconciliation performed by scaffold create, then compare it with the existing summary behavior in scaffold enhance and scaffold upgrade. Use the generated pyproject.toml and terminal output to verify that additions and changes are reported against the template's declared dependencies.

Written by the indexing model from the issue text.

Description

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.

Dominant language
Python
Stars
6k
Forks
670
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/agents-cli

All issues in google/agents-cli

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.