Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## What this repository is

This is the **public distribution and issue-tracking repository** for GitHub Copilot CLI. The CLI's source code is **not** here β€” the product is closed-source and shipped as prebuilt binaries via GitHub Releases (and Homebrew, WinGet, and npm as `@github/copilot`). There is nothing to build, lint, or test in this repo, and no package manifest or test suite exists.

The repository contains only:

- `README.md` β€” product overview, installation methods, authentication (PAT with "Copilot Requests" permission via `GH_TOKEN`/`GITHUB_TOKEN`), experimental mode, and LSP server configuration (`~/.copilot/lsp-config.json` user-level, `.github/lsp.json` repo-level).
- `install.sh` β€” the curl-able installer served from `https://gh.io/copilot-install`. POSIX-leaning bash that detects platform/arch, downloads the release tarball, validates SHA256 checksums, installs to `$PREFIX/bin` (`/usr/local` for root, `$HOME/.local` otherwise), and offers to update the user's shell PATH. On Windows it delegates to `winget`. Honors `VERSION` (including `prerelease`, resolved via `git ls-remote --tags`) and `PREFIX` environment variables.
- `changelog.md` β€” the authoritative release changelog. Newest version first, each release as a `## <version> - <YYYY-MM-DD>` heading followed by a flat bullet list of changes. Release commits follow the message pattern `Update changelog.md for version <version>`.
- `.github/` β€” issue templates (`bug_report.yml`, `feature_request.yml`) and issue-triage automation workflows. There is no CI for code because there is no code.

## Working in this repo

- **`install.sh` is the only executable code.** Changes to it should preserve its constraints: it must work when piped from curl/wget (interactive prompts read from `/dev/tty`), support both curl and wget, both `sha256sum` and `shasum`, and bash on macOS and Linux. Keep the checksum validation and tarball sanity checks intact.
- **`changelog.md` edits must follow the existing format** exactly: prepend a new `## <version> - <date>` section at the top; entries are terse, imperative, one-line bullets with no sub-grouping.
- **The `.github/workflows/` files are all issue-hygiene or release automation**, not CI: labeling incoming issues with `triage` (`triage-issues.yml`), removing triage labels, closing single-word or invalid issues, stale marking after 365 days without auto-close (`stale-issues.yml`, exempt labels: `never-stale`, `help wanted`), no-response closing, and WinGet submission on release publish (`winget.yml`, package IDs `GitHub.Copilot` / `GitHub.Copilot.Prerelease`).
- Feature requests or bug reports about the CLI itself cannot be fixed here β€” the relevant changes happen in the private source repo. Work in this repo is limited to docs, the installer, changelog, and issue automation.