Skip to content

feat(vscode): add native SDD agents#708

Open
Snakeblack wants to merge 1 commit into
Gentleman-Programming:mainfrom
Snakeblack:feat/vscode-copilot-subagents-pr1
Open

feat(vscode): add native SDD agents#708
Snakeblack wants to merge 1 commit into
Gentleman-Programming:mainfrom
Snakeblack:feat/vscode-copilot-subagents-pr1

Conversation

@Snakeblack
Copy link
Copy Markdown

@Snakeblack Snakeblack commented May 29, 2026

🔗 Linked Issue

Closes #504

Related context: #677


🏷️ PR Type

What kind of change does this PR introduce?

  • type:bug — Bug fix (non-breaking change that fixes an issue)
  • type:feature — New feature (non-breaking change that adds functionality)
  • type:docs — Documentation only
  • type:refactor — Code refactoring (no functional changes)
  • type:chore — Build, CI, or tooling changes
  • type:breaking-change — Breaking change (fix or feature that changes existing behavior)

📝 Summary

PR 1 of the VS Code Copilot SDD subagents stack. This adds the backend/native-agent foundation only: VS Code now supports native SDD .agent.md files in ~/.copilot/agents, with embedded coordinator/phase assets, injection post-check support, idempotency coverage, and uninstall preservation for user-authored agents.

Follow-up PRs will add VS Code model assignment foundation and TUI/docs. Those are intentionally out of scope here.

This PR requests size:exception: it exceeds 400 changed lines because it ships substantive Markdown .agent.md assets, not because the code surface is large.


📂 Changes

File / Area What Changed
internal/agents/vscode Enabled native sub-agent support at ~/.copilot/agents and added path tests
internal/assets Embedded all:vscode and added VS Code SDD .agent.md assets
internal/components/sdd Accepted .agent.md in native sub-agent post-check and covered VS Code injection/idempotency
internal/components/uninstall Verified uninstall removes only managed VS Code SDD agents and preserves custom .agent.md files

🧪 Test Plan

Focused PR1 tests

go test ./internal/agents/vscode -run TestSubAgentSupportUsesCopilotUserAgentsDir
go test ./internal/assets -run TestVSCodeNativeAgentAssetsFrontmatter
go test ./internal/components/sdd -run 'TestInjectVSCodeWritesNativeAgentFiles|TestInjectNativeSubAgentExtensionsRemainAdapterSpecific'
go test ./internal/components/uninstall -run TestComponentOperationsSDD_VSCodeRemovesOnlyManagedAgentFiles

Package smoke

go test ./internal/agents/vscode ./internal/assets

Unit Tests

go test ./...

E2E Tests (Docker required)

cd e2e && ./docker-test.sh
  • Unit tests pass (go test ./...)
  • E2E tests pass (cd e2e && ./docker-test.sh)
  • Manually tested locally

Notes: focused PR1 tests passed locally. Full go test ./... was not claimed here due known local Windows/CRLF/symlink/environment failures unrelated to this PR.


🤖 Automated Checks

The following checks run automatically on this PR:

Check Status Description
Check PR Cognitive Load ⚠️ Requests size:exception; most added lines are .agent.md assets
Check Issue Reference PR body contains Closes #504
Check Issue Has status:approved #504 has status:approved
Check PR Has type:* Label type:feature requested (maintainer label needed)
Unit Tests CI should run go test ./...
E2E Tests CI should run Docker E2E if configured

✅ Contributor Checklist

  • PR is linked to an issue with status:approved
  • PR stays within 400 changed lines, or I have requested/obtained maintainer-applied size:exception with rationale documented — maintainer label needed (size:exception)
  • I have added the appropriate type:* label to this PR — maintainer label needed (type:feature)
  • Unit tests pass (go test ./...)
  • E2E tests pass (cd e2e && ./docker-test.sh)
  • I have updated documentation if necessary
  • My commits follow Conventional Commits format
  • My commits do not include Co-Authored-By trailers

💬 Notes for Reviewers

This is the backend/native-agent slice only. It deliberately does not include VS Code model assignment state, dynamic Copilot model catalog integration, TUI/profile UX, or final docs updates; those will come in follow-up PRs.

@Snakeblack
Copy link
Copy Markdown
Author

Maintainer label request: please apply exactly one type label, type:feature, and size:exception for the Markdown-heavy VS Code .agent.md asset payload. Follow-up PRs will add model assignment foundation and TUI/docs.

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.

feat(agents): add VS Code Copilot SDD multi-mode support (backend)

1 participant