Skip to content

POC: discover extensions bundled with the release archive - #882

Draft
tedkahwaji wants to merge 1 commit into
DataDog:mainfrom
tedkahwaji:teddy.kahwaji/bundle-setup-extension
Draft

tedkahwaji wants to merge 1 commit into
DataDog:mainfrom
tedkahwaji:teddy.kahwaji/bundle-setup-extension

Conversation

@tedkahwaji

@tedkahwaji tedkahwaji commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

POC, not intended to be merged. This stays in draft to explore shipping an extension with every pup release.

Design doc (Datadog internal): Consolidating the AI Setup CLI with Pup

What it does

pup finds extensions shipped in libexec/pup-extensions/ next to its binary (both the tarball and Homebrew layouts), and a user-installed extension still takes precedence. The Linux release config downloads a pinned, checksum-verified extension into the archive. The pin is a placeholder.

Testing

  • 5 new discovery tests.
  • Local simulation: a bundled stub dispatches, and a user-installed copy takes precedence.

🤖 Generated with Claude Code

Lets a pup release ship first-party extensions so they work right after
installing pup, with no `pup extension install` step.

- Look up extensions in libexec/pup-extensions/ next to the binary or one
  level up (Homebrew layout); user-installed extensions still win
- Bundled lookup only accepts valid extension names and regular files
- Linux release config fetches a pinned pup-setup asset, verifies its
  SHA-256, and places it in the archive (placeholder pin and sums)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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