Skip to content

feat: replace fork-merge sync with build-time upstream fetch - #38

Open
coatsy wants to merge 105 commits into
coatsy/vscode-extensionfrom
feat/disentangle-from-upstream
Open

feat: replace fork-merge sync with build-time upstream fetch#38
coatsy wants to merge 105 commits into
coatsy/vscode-extensionfrom
feat/disentangle-from-upstream

Conversation

@coatsy

@coatsy coatsy commented May 13, 2026

Copy link
Copy Markdown
Owner

Closes #34

Summary

Replaces the fork-and-merge upstream sync model with build-time content fetching from upstream release tarballs. This is the prerequisite for detaching the GitHub fork relationship.

Changes

  • scripts/fetch-upstream.sh (new) — downloads upstream release tarballs, extracts content directories (agents, skills, scripts, templates, reference, patterns, hooks, evals). Supports --dry-run and --version flags.
  • sync-upstream.yml (replaced) — no longer uses git fetch upstream + git merge; calls fetch-upstream.sh and creates a PR with the diff.
  • check-upstream-release.yml (updated) — uses unauthenticated API for upstream release check, avoiding SAML SSO enforcement.
  • build-extension.yml (updated) — added patterns/** to trigger paths.
  • VERSIONING.md / CONTRIBUTING.md (updated) — documents fetch-based sync workflow.
  • Removed duplicate microsoft remote (identical to upstream).

Testing

  • bash scripts/fetch-upstream.sh --version v1.0.9 --dry-run — verified tarball download and content discovery
  • bash extension/test-local.sh --package-only — builds successfully (4 agents, 31 skills)

Remaining work

Fork detachment (removing the GitHub fork parent link) requires GitHub Support action or repo recreation. The code changes here ensure everything works once the fork link is removed.

Andrew Coates and others added 30 commits March 25, 2026 07:39
- add phased plan for declarative VS Code extension (issue #1)
- document HVE Core pattern findings and compatibility challenges
- outline 7 phases: compatibility, scaffold, packaging, testing, CI/CD, publisher, docs

📋 - Generated by Copilot
- add package.template.json with declarative Chat extension metadata
- add .vscodeignore with exclude-first pattern for VSIX packaging
- add LICENSE copy for extension directory
- add test-local.sh for local build-and-install testing
- gitignore extension build artifacts (package.json, README.md, *.vsix)

🧱 - Generated by Copilot
…stration

- stage agents with .md → .agent.md rename at build time
- strip Claude Code-specific frontmatter from skill copies
- generate .vscodeignore into staging directory
- remove committed .vscodeignore (now transient)
- update .gitignore for build artifacts
- update ADR-001 to reflect transient approach

🔧 - Generated by Copilot
- resolve ${CLAUDE_SKILL_DIR} references in staged skill files (19 files)
- add --package-only flag to test-local.sh for CI environments
- add GitHub Actions workflow for build validation and VSIX artifact
- add extension README with agents, skills, prerequisites, and quick start
- fix .gitignore to track extension/README.md

📦 - Generated by Copilot
VS Code extension view renders frontmatter as visible text.

🔧 - Generated by Copilot
feat(extension): artifact discovery, path resolution, CI pipeline, and README
- create extension/PACKAGING.md with structure, build, publish, and troubleshooting
- update README.md with VS Code Marketplace installation as primary path
- add extension development section to CONTRIBUTING.md (agents, skills, CI)
- make SETUP_GUIDE.md platform-neutral with VS Code and Claude Code paths
- add YAML frontmatter to root community Markdown files

📝 - Generated by Copilot
docs(extension): add VS Code extension documentation and update guides
- update prerequisites table in extension/PACKAGING.md
- update troubleshooting table in extension/PACKAGING.md
- update prerequisites in extension/README.md
- update prerequisites table in SETUP_GUIDE.md
- update prerequisites in README.md

🔧 - Generated by Copilot
- add LOCAL_DEV_HOST.md with step-by-step VS Code from-source build guide
- add DEBUG_CONFIG.md with launch.json entries for self-hosted debugging
- add setup-devhost.sh helper script for automated dev host setup
- add Development Debugging section to PACKAGING.md with CODE_CMD reference
- add Advanced Debugging section to SETUP_GUIDE.md with cross-references

📝 - Generated by Copilot
- add .vscode-dev-data/, .vscode-dev-extensions/, vscode/ to .gitignore
- add ADR-002 documenting decision to keep dev host tooling in extension/

📝 - Generated by Copilot
- add lint-scripts job to build-extension.yml validating shell syntax
- add launch.json with dev host, attach, and stable extension host configs
- update .gitignore to track .vscode/launch.json while ignoring other settings

📝 - Generated by Copilot
- add ShellCheck step to lint-scripts CI job for deeper static analysis
- add tasks.json with Package Extension and Build and Install tasks
- wire preLaunchTask into Dev Host and Stable launch configs
- update .gitignore to track .vscode/tasks.json

📝 - Generated by Copilot
- update DEBUG_CONFIG.md sample configs to use preLaunchTask: Package Extension
- add .shellcheckrc with shell=bash and severity=warning to match CI

📝 - Generated by Copilot
- add .gitattributes enforcing LF line endings for .sh and .shellcheckrc files
- add Shell scripts section to CONTRIBUTING.md with ShellCheck and convention docs

📝 - Generated by Copilot
- detect Windows (Git Bash/MSYS2), macOS, and Linux at startup
- warn when C++ build tools or Xcode CLT are missing
- use correct CLI launcher (code-cli.bat vs yarn dev) per platform
- update skip-launch message with platform-appropriate command

📝 - Generated by Copilot
…krc directive

- Remove duplicate sed command that repeated Options section and
  leaked set -euo pipefail into --help output
- Switch to sed -E for POSIX ERE on macOS BSD sed
- Remove unsupported severity=warning from .shellcheckrc; CI
  enforces severity via --severity=warning on the command line

🔧 - Generated by Copilot
- Update all docs, CI workflow, and setup-devhost.sh prerequisite
  check to require Node.js 22+ (aligns with VS Code build requirement)

📦 - Generated by Copilot
🔧 - Generated by Copilot
- VS Code repo no longer supports yarn; switch setup-devhost.sh
  and docs to use npm install and bash scripts/code.sh
- Update LOCAL_DEV_HOST.md prerequisites to remove Yarn requirement
- Update DEBUG_CONFIG.md attach example to use scripts/code.sh

🔄 - Generated by Copilot
- Read vscode/.nvmrc after clone and compare against active Node
  major version before running npm install
- Fail with actionable error if versions do not match

✅ - Generated by Copilot
…pport

- Document code-cli.sh path resolution and extensions-dir mismatch
  in LOCAL_DEV_HOST.md with troubleshooting entries
- Add EXTENSIONS_DIR env var to test-local.sh for custom install dir
- Add Copilot Chat prerequisite note to DEBUG_CONFIG.md and
  LOCAL_DEV_HOST.md for chat agent testing

📝 - Generated by Copilot
- Verify agent and skill counts in package.json
- Check no Claude-specific frontmatter fields remain in skills
- Validate all required directories exist in staged output
- Update PACKAGING.md pipeline description

✅ - Generated by Copilot
coatsy and others added 29 commits April 16, 2026 13:55
- add second replacement pass for skill-directory-relative paths
- convert remaining CLAUDE_SKILL_DIR/ references to ./

🔧 - Generated by Copilot
- add weekly sync-upstream workflow to auto-merge upstream main
- add dedicated CLAUDE_SKILL_DIR resolution check across all staged files

🔄 - Generated by Copilot
fix(build): resolve skill-local CLAUDE_SKILL_DIR path references
- add changelog entries for build fix and upstream sync workflow

📦 - Generated by Copilot
- document new/updated skills: edit-action, add-action, create-eval, int-reference
- document agent guardrail improvements and new MCP action template
- document shared script extraction

📝 - Generated by Copilot
chore(extension): bump version to 0.1.3
- add missing skills: chat-directline, chat-sdk, create-eval, detect-mode
- add internal skills category: int-project-context, int-reference

📝 - Generated by Copilot
- fix skills count in Marketplace README listing

📦 - Generated by Copilot
- add daily check-upstream-release workflow with proposal issue creation
- add upstream-version.json to track aligned upstream release (v1.0.8)
- add VERSIONING.md documenting version mapping policy
- add upstream version validation guard to publish-extension workflow
- add upstream version auto-injection into release notes body
- add workflow_call trigger to sync-upstream for release-driven sync
- add upstream/sync category to release notes configuration

Closes #29, Closes #30

🔄 - Generated by Copilot
- add dynamic upstream version badge to README
- add notify-failure job to check-upstream-release workflow
- failure job opens issue with type/infra label and duplicate prevention

🔔 - Generated by Copilot
- add auto-close step for stale failure issues on successful check run
- include upstream version in sync-upstream PR title and body when available
- add upstream/sync label to sync PRs

🔧 - Generated by Copilot
- add upstream_version as workflow_dispatch input to sync-upstream
- pass upstream version tag via dispatch inputs from check-upstream-release

🔗 - Generated by Copilot
- bump extension version from 0.1.4 to 1.0.8 to match upstream
- rewrite VERSIONING.md for synchronized versioning policy
- add publish guard enforcing extension version matches upstream
- update proposal issue template with synchronized version steps
- add changelog entry for version alignment

🔄 - Generated by Copilot
- check-upstream-release now creates a draft PR with version bump
- new-release workflow now also bumps extension and upstream-version.json
- add pull-requests write permission and node setup to check workflow

🔧 - Generated by Copilot
- version bump PR now includes changelog entry for the new version
- add validate-versions workflow to check version file consistency on PRs

✅ - Generated by Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
feat(workflows): upstream release monitoring and version sync
…17 release

Version bumps (1.0.8 → 1.0.9):
- upstream-version.json: version and last_checked date
- extension/templates/package.template.json: skills extension version
- extension-pack/package.json: development bundle version

Changelog (extension/CHANGELOG.md):
- best-practices skill split into patterns + authoring-tips
- manage-agent/clone-agent: new --url flag for Copilot Studio URLs
- Fix: retry transient SSL failures during LSP requests
- Fix: surface LSP error responses from clone and sync
- Fix: broken relative link to orchestrator-variables.md

Documentation sync:
- extension/README.md: skills count 28 → 33, updated skills table
- extension/docs/blog/blog-post.md: updated Mermaid diagram and skills table

Both VSIX packages verified: skills (85 files, 877 KB) and
development bundle (6 files, 80 KB).
…release

- Bump extension, extension-pack, and upstream-version.json to 1.0.10
- Add changelog entry for advisor agent, pattern library, and SharePoint knowledge updates
- Sync upstream changes from release/2026-W18

🚀 - Generated by Copilot
- Add scripts/fetch-upstream.sh to download upstream release tarballs
- Replace sync-upstream.yml merge workflow with content-fetch workflow
- Use unauthenticated API for upstream release checks (avoids SAML SSO)
- Add patterns/ to build-extension.yml trigger paths
- Update VERSIONING.md and CONTRIBUTING.md with fetch-based sync docs
- Remove duplicate microsoft remote (identical to upstream)

🔧 - Generated by Copilot
@coatsy
coatsy force-pushed the coatsy/vscode-extension branch from 5454eda to 2431e7e Compare July 25, 2026 23:59
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.

Phase 1: Disentangle from upstream fork

1 participant