feat: add_component — lift a starter's CI/CD layer into an existing repo#56
Merged
Conversation
The remediation half of the audit loop: audit_* diagnose gaps against the Starter Series bar; add_component installs the missing files from the matching starter. MCP tool + CLI subcommand + /add-component slash command. - Component groups: ci / security (codeql + SECURITY.md) / dependabot (+auto-merge) / maintenance (stale + weekly health) / all. Deliberately never lifts cd*.yml (secrets — deploy-setup's job), setup.yml, update-changelog.yml, PR templates, or app code. - Safety: dry-run by default (per-file plan: create / identical / skip-exists / overwrite); refuses a dirty git tree unless force; existing-but-different files skipped unless force — the dry-run plan doubles as a drift report against the starter (v1 answer to update_component). - Reuses scaffold machinery: fetchTarball caps (50MB/30s/3 retries), safe extract, extractStarterSignals auto-detection (warns below high confidence). - 10 new tests (123/123 green); verified e2e against the real browser-extension-starter: auto-detected, downloaded the live tarball, all 7 files identical.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the roadmap's highest-leverage item: the remediation half of the audit loop.
audit_release/audit_securitydiagnose;add_componentinstalls the fix from the matching starter — no re-scaffolding.Surfaces: MCP tool
add_component(7th tool) · CLIcreate-starter add-component [path] [--component g] [--starter id] [--apply] [--force]·/add-componentslash command.Component groups:
ci/security(codeql + SECURITY.md) /dependabot(+auto-merge) /maintenance(stale + weekly health) /all. Never liftscd*.yml(secrets →deploy-setup),setup.yml,update-changelog.yml, PR templates, or app code.Safety: dry-run by default (per-file plan
create/identical/skip-exists/overwrite); refuses a dirty tree unlessforce; differing files skipped unlessforce— so the dry-run plan doubles as a drift report against the starter (v1 ofupdate_component).Verified: 10 new tests (123/123 suite green, incl. the tools/list exhaustiveness gate); real e2e — auto-detected
browser-extensionon the actual starter repo, downloaded the live tarball, planned 7/7identical. ReusesfetchTarballcaps +extractStarterSignals.