Skip to content

Add Copilot CLI instructions for the repository#1446

Open
benhillis wants to merge 1 commit into
mainfrom
add-copilot-instructions
Open

Add Copilot CLI instructions for the repository#1446
benhillis wants to merge 1 commit into
mainfrom
add-copilot-instructions

Conversation

@benhillis
Copy link
Copy Markdown
Member

@benhillis benhillis commented May 15, 2026

Adds .github/copilot-instructions.md so future Copilot CLI sessions in this repo start with the right context.

What's covered

  • Repo shape — what the top-level dirs are for (Dockerfile / build-and-export.sh, WSLGd, rdpapplist, WSLDVCPlugin, vendor/, config/, debuginfo/, devops/, package/) and that the WSLDVCPlugin builds separately on Windows.
  • Build commands — vendor clone with the critical working-branch caveat (main tracks upstream and won't build), the preferred ./build-and-export.sh flow, the 7 required --build-args and the fail-fast placeholder rules ("" / <unknown> / <current> / unknown rejected; "dev" is the local-fallback sentinel), SYSTEMDISTRO_DEBUG_BUILD=true for debug VHDs, per-component meson build && ninja for iteration, and the .wslconfig systemDistro= swap for try-out.
  • Architecture essentials — the Dockerfile is the source of truth; components build in a fixed order (DirectX-Headers → Mesa → PulseAudio → FreeRDP → rdpapplist → Weston → WSLGd), with deliberately minimised option sets (Mesa: only swrast + d3d12, no LLVM/Vulkan; Weston: RDP backend only, rdprail-shell; FreeRDP: server-only, channel GFXREDIR + RDPAPPLIST on; PulseAudio: simple DB, no tests). At runtime wsl.conf boots WSLGd as the user wslg, which launches Weston / PulseAudio / msrdc|mstsc, restarts crashed children, and shares state under /mnt/wslg (SHARE_PATH).
  • ConventionsLOG_ERROR / LOG_INFO macros from WSLGd/common.h (not raw fprintf); FreeRDP/WinPR v3-then-v2 dependency fallback in both Meson files; /etc/versions.txt generation + the historical reason for the fail-fast loop; debuginfo/strip_debuginfo.sh per built component with a matching .list file; aggressive runtime-image RPM/file purge in the non-debug path; read-only VHD at runtime → permanent changes belong in the Dockerfile; upstream-component changes belong in the microsoft/*-mirror working branches, not this repo.

Doc-only change, no code or build impact.

@benhillis benhillis added the documentation Improvements or additions to documentation label May 17, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 18, 2026 20:10
@benhillis benhillis force-pushed the add-copilot-instructions branch from aac68d6 to 7d5a321 Compare May 18, 2026 20:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new .github/copilot-instructions.md providing Copilot CLI sessions with repository-specific context: layout, build commands (including the vendor/ working-branch requirement and the 7 required --build-args), runtime architecture, and conventions. Doc-only; no code or build impact.

Changes:

  • Documents repo layout and component roles (WSLGd, rdpapplist, WSLDVCPlugin, vendor/, etc.).
  • Documents build flow: vendor clone, build-and-export.sh, manual docker build args, debug-build flag, per-component Meson commands.
  • Documents architecture/runtime flow and conventions (build order, intentional option minimisations, logging macros, FreeRDP v2/v3 fallback, debuginfo split, runtime-prune, read-only rootfs).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants