feat: add 'copilot' as primary target name (alias for vscode)#228
Merged
danielmeppiel merged 2 commits intomainfrom Mar 10, 2026
Merged
feat: add 'copilot' as primary target name (alias for vscode)#228danielmeppiel merged 2 commits intomainfrom
danielmeppiel merged 2 commits intomainfrom
Conversation
Add 'copilot' as the recommended user-facing target name for the GitHub Copilot / Cursor / Codex / Gemini output format. The existing 'vscode' and 'agents' values continue to work as aliases. Changes: - detect_target() accepts 'copilot' in both explicit and config paths - CLI compile and pack commands list 'copilot' first in --target choices - Bundle packer recognizes 'copilot' in target prefix mapping - get_target_description() returns description for 'copilot' key - Tests: 3 new test cases for copilot alias behavior - Docs: compilation, concepts, dependencies, integrations updated Internal TargetType remains 'vscode' — no rename, no breaking changes.
danielmeppiel
added a commit
to microsoft/apm-action
that referenced
this pull request
Mar 10, 2026
Align with microsoft/apm#228 — 'copilot' is now the recommended user-facing target name. 'vscode' remains valid as an alias. - action.yml: target description lists copilot first - README.md: examples and inputs table show copilot as primary
danielmeppiel
added a commit
to microsoft/apm-action
that referenced
this pull request
Mar 10, 2026
Align with microsoft/apm#228 — 'copilot' is now the recommended user-facing target name. 'vscode' remains valid as an alias. - action.yml: target description lists copilot first - README.md: examples and inputs table show copilot as primary
Contributor
There was a problem hiding this comment.
Pull request overview
Adds copilot as the primary, user-facing --target name (aliasing to internal vscode) across CLI entry points and docs, to better match how users think about the output format (Copilot/Cursor/Codex/Gemini).
Changes:
- Accept
copilotin target detection (explicit flag + apm.yml config) while preserving internal"vscode"behavior. - Update
apm compileandapm packCLI--targetchoices/help text to includecopilot. - Update docs to present
copilotas the primary target and add tests covering the alias behavior.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/core/test_target_detection.py | Adds tests ensuring copilot maps to internal vscode and has a description. |
| src/apm_cli/core/target_detection.py | Extends target parsing to accept copilot; adds description entry. |
| src/apm_cli/commands/pack.py | Adds copilot to --target choice list and clarifies aliasing in help text. |
| src/apm_cli/cli.py | Adds copilot to compile --target choices and updates help text to describe aliasing. |
| src/apm_cli/bundle/packer.py | Adds copilot to target prefix mapping for packing filters. |
| docs/integrations.md | Updates example to use --target copilot. |
| docs/dependencies.md | Updates comment/example wording to refer to copilot target. |
| docs/concepts.md | Renames concept section heading to “Copilot Target”. |
| docs/compilation.md | Updates auto-detect table, examples, and config to show copilot as primary + notes aliases. |
Add UserTargetType that includes user-facing aliases (copilot, agents). Use it for get_target_description() parameter type. Normalize aliases to internal value inside the function instead of duplicating dict keys. Addresses PR review feedback on type inconsistency.
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.
Summary
Add
copilotas the recommended user-facing target name for the GitHub Copilot / Cursor / Codex / Gemini output format. The existingvscodeandagentsvalues continue to work as aliases — no breaking changes.Motivation
The target system uses
vscodeas the canonical name, but users interact with "GitHub Copilot", "Cursor", "Codex", etc. — not "VS Code" as a platform. Using--target copilotis more intuitive and aligns with Discussion #148 (APM Strategic Direction RFC).Approach: Alias-only (not full rename)
Rather than renaming the internal
TargetTypefrom"vscode"to"copilot"across ~20 source files, ~6 test files, and ~6 doc files, this PR takes the minimal alias approach:"copilot"and map it to the internal"vscode"valuecopilotas the primary nameThis keeps the door open for a full internal rename later if desired, without any risk now.
Changes
Source (4 files)
src/apm_cli/core/target_detection.py—detect_target()accepts"copilot"in both explicit and config paths;get_target_description()supports"copilot"keysrc/apm_cli/cli.py— compile--targetChoice list showscopilotfirstsrc/apm_cli/commands/pack.py— pack--targetChoice list includescopilotsrc/apm_cli/bundle/packer.py—_TARGET_PREFIXESmaps"copilot"to.github/prefixesTests (1 file, 3 new tests)
test_explicit_target_copilot_maps_to_vscode— explicit--target copilot→ internal"vscode"test_config_target_copilot—apm.ymltarget: copilot→ internal"vscode"test_copilot_description—get_target_description("copilot")returns expected descriptionDocs (4 files)
compilation.md— target tables, examples, and config showcopilotas primaryconcepts.md— "Copilot Target" heading instead of "VSCode/GitHub Target"dependencies.md— example comment usescopilot targetintegrations.md— compile example uses--target copilotTest Results