merge-upstream-vscode

Resolves merge conflicts when integrating upstream VS Code changes into the Positron fork.

4.2k|179|Updated May 24, 2022
One-click install
npx skills add https://github.com/posit-dev/positron --skill merge-upstream-vscode
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: merge-upstream-vscode
Source: https://github.com/posit-dev/positron/tree/main/.claude/skills/merge-upstream-vscode
Command: npx skills add https://github.com/posit-dev/positron --skill merge-upstream-vscode

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Merging upstream Code OSS changes into the Positron fork produces complex git conflicts across hundreds of files, and resolving them incorrectly can silently drop Positron-specific modifications or restore removed dependencies.

Core Features & Use Cases

  • Conflict Resolution Guidance: Distinguishes between Positron extensions, modifications, and pure upstream divergence to resolve each conflict class correctly.
  • Change Marker Conventions: Documents how to interpret and create Start Positron and Start PWB change markers to minimize future merge conflicts.
  • Specialized File Handling: Provides dedicated references for package.json/package-lock.json conflicts, codicon rebuilds, and deliberately removed upstream dependencies.
  • Use Case: During a cherry-pick merge from vscode-server into Positron, use this Skill to systematically resolve conflicts, verify compilation, run unit and e2e tests, and produce a merge log documenting every decision.

Quick Start

Resolve the merge conflicts in the current working tree from the upstream vscode-server merge, then compile and run the tests.

Frequently Asked Questions about merge-upstream-vscode

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve merge conflicts when merging upstream VS Code into a fork?

Review all conflicts first to spot patterns, then resolve them one by one, staging each file once conflict markers are removed. Preserve your fork's change-marked modifications while accepting genuine upstream changes, then compile and run tests to verify.

What are Start Positron and Start PWB change markers?

They are comment markers indicating where Positron or Posit Workbench diverged from upstream VS Code behavior. Conflicts containing these markers require preserving the fork's changes, while conflicts without markers are usually upstream-vs-upstream and can accept the incoming change.

How should package.json conflicts be resolved in a VS Code fork merge?

Keep dependencies the fork added, update upstream dependency versions to the latest, and ensure dependencies the fork deliberately removed stay removed. Clean up lockfile conflicts the same way, then run npm install and npm ci to validate.

What should I do when codicon.ttf conflicts during an upstream merge?

Accept the incoming binary ttf file, clean up markers in codiconLibrary.ts so it contains both icon sets, and note in the merge log that codicons must be rebuilt, since rebuilding cannot be done in the Positron repository alone.

When should I stop and ask the user during a merge?

Stop when a conflict requires major, nontrivial design decisions that cannot be resolved by standard extension or modification patterns. Explain the problem, suggest solutions with tradeoffs, and let the user decide before proceeding.