Skip to content

feat(profile): add Copilot profile adapter - #478

Open
christso wants to merge 3 commits into
feat/460-opencode-profilefrom
feat/460-copilot-profile
Open

feat(profile): add Copilot profile adapter#478
christso wants to merge 3 commits into
feat/460-opencode-profilefrom
feat/460-copilot-profile

Conversation

@christso

Copy link
Copy Markdown
Contributor

Summary

  • isolate Copilot profiles with selected COPILOT_HOME and COPILOT_CACHE_HOME roots while preserving project discovery through launcher cwd
  • materialize strict settings, MCP configuration, files, plugins, and authoritative marketplace registrations
  • delegate native plugin lifecycle to Copilot CLI 1.0.74+ with version gating, exact inventory parsing, dry-run isolation, and provenance-safe cleanup

Verification

  • bun test — 1691 pass, 6 skip
  • bun run test:e2e — 142 pass, 4 skip
  • bun run typecheck
  • bun run lint
  • bun run build
  • bun run docs:build
  • final focused review: no remaining P0-P2 findings

Manual E2E

Using the built CLI and real Copilot CLI 1.0.83 in a temporary HOME/workspace:

  1. ./dist/index.js profile install copilot-dogfood --dry-run --yes left the selected profile root absent.
  2. ./dist/index.js profile install copilot-dogfood --yes installed compound-engineering@compound-engineering-plugin only in the selected profile and left the default Copilot inventory empty.
  3. The generated launcher preserved project-specific skill discovery across two separate repositories while retaining profile-only skills.
  4. copilot mcp list --json through the launcher consumed the generated mcp-config.json; ${DOGFOOD_TOKEN} remained unresolved on disk. A live prompt invocation reached the authenticated Copilot service but was blocked by the test account's monthly quota.
  5. ./dist/index.js profile status copilot-dogfood reported every managed resource unchanged.
  6. ./dist/index.js update --profile copilot-dogfood reconciled a changed setting and targeted native plugin refresh without modifying either project.
  7. ./dist/index.js profile remove copilot-dogfood --yes removed the launcher, owned files, native plugin, managed marketplace registration, state, and disposable client root while preserving both projects and the default Copilot inventory.

Related: #460

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 14, 2026

Copy link
Copy Markdown

Deploying allagents with  Cloudflare Pages  Cloudflare Pages

Latest commit: bd3bc60
Status: ✅  Deploy successful!
Preview URL: https://fd38b021.allagents.pages.dev
Branch Preview URL: https://feat-460-copilot-profile.allagents.pages.dev

View logs

@christso
christso force-pushed the feat/460-opencode-profile branch from d04a5c6 to c4eccf3 Compare September 14, 2026 10:04
@christso
christso force-pushed the feat/460-copilot-profile branch from 180a983 to c356106 Compare September 14, 2026 10:04
@christso
christso force-pushed the feat/460-opencode-profile branch from c4eccf3 to 7b3ea82 Compare September 14, 2026 20:33
@christso
christso force-pushed the feat/460-copilot-profile branch from c356106 to d8343d7 Compare September 14, 2026 20:35
@christso
christso force-pushed the feat/460-opencode-profile branch from 7b3ea82 to b324a55 Compare September 14, 2026 20:43
@christso
christso force-pushed the feat/460-copilot-profile branch from 219d94e to bd3bc60 Compare September 14, 2026 20:43
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