agent-starter-pack icon indicating copy to clipboard operation
agent-starter-pack copied to clipboard

feat: Add `extract` and `enhance` commands for minimal agent sharing

Open eliasecchig opened this issue 2 months ago • 1 comments

Command

agent-starter-pack extract ../my-agent-minimal

What It Does

Keeps core agent files while removing infrastructural scaffolding.

Keeps:

  • app/agent.py + custom agent files
  • pyproject.toml, uv.lock, README.md
  • Makefile (stripped of scaffolding targets)

Removes:

  • deployment/ (Terraform configurations)
  • .github/, .cloudbuild/ (CI/CD pipelines)
  • tests/ (Test scaffolding)
  • app/server.py, app/utils/ (Deployment wrappers)
  • Template notebooks

Workflow

1. Developer Setup & Extraction Start with the full scaffolding, then extract the sharable core.

# Develop with full scaffolding
agent-starter-pack create my-agent
cd my-agent && make test && terraform apply

# Extract for GitHub (creates minimal version)
agent-starter-pack extract ../my-agent-share

2. End-User Interaction Users start with the minimal version and can add scaffolding back when needed.

# Users clone minimal version
git clone .../my-agent-share

# Users enhance when ready
cd my-agent-share && agent-starter-pack enhance

Alternative: Remote Templating Users can also use existing remote templating capabilities directly:

uvx agent-starter-pack create my-agent -a https://github.com/user/my-template

How It Works

  • Mechanism: Uses simple pattern matching—no checksums or regeneration needed.
  • Enhance Process: During enhance, your original files stay unchanged. Scaffolding files are just added around them (these get excluded again during extract).
  • Testing: Verified by a round-trip test ensuring create → enhance → extract returns the exact original files.

eliasecchig avatar Nov 06 '25 19:11 eliasecchig

cc @kweinmeister - thanks for raising!

eliasecchig avatar Nov 06 '25 19:11 eliasecchig