Purpose: Help future Copilot sessions quickly understand how to build, run, and explore this repository and surface repository-specific conventions the agent should respect.
- Launch CLI (after installing):
copilot - Install (macOS / Linux):
curl -fsSL https://gh.io/copilot-install | bashorwget -qO- https://gh.io/copilot-install | bash - Homebrew (macOS/Linux):
brew install copilot-cliorbrew install copilot-cli@prerelease - npm:
npm install -g @github/copilot - Windows (winget):
winget install GitHub.Copilotorwinget install GitHub.Copilot.Prerelease
Notes: This repository contains release/install artifacts and docs (install.sh, changelog.md). No repository-local build/test/lint configuration or test suite files were found; there are no per-repo Makefile, package.json, go.mod, or test runners present.
- The project ships a standalone CLI binary (
copilot) with an install wrapper (install.sh). - The CLI is an agentic wrapper that: authenticates to GitHub, interacts with a remote Copilot coding agent/MCP server, and can host repository-level LSP integrations for richer code intelligence.
- Runtime pieces visible in repo: installation script + docs + release artifacts (tarballs referenced in install.sh) and GitHub workflows in
.github/workflows. - Configuration surfaces: repo-level LSP config (see
.github/lsp.jsonpattern in README), environment-based auth (GITHUB_TOKEN / GH_TOKEN), and runtime flags (e.g.,--experimental).
- Authentication: prefer
GITHUB_TOKEN/GH_TOKEN(env) for non-interactive runs. The installer and README referenceGH_TOKENfor authenticated downloads. - Install script behavior:
PREFIXandVERSIONenvironment vars control install destination and release tag; PATH modifications may be written to shell RC files. - Experimental features:
--experimentalflag or/experimentalslash command toggles experimental features persistently in user config — Copilot agents should surface this option, not toggle it without user consent. - LSP servers: repo-level config lives at
.github/lsp.json(if present). Agents may suggest LSP server commands (e.g.,npm install -g typescript-language-server) but must not assume the server is installed. - User prompts: the installer and CLI are interactive; an agent must not bypass prompts. Always present suggested commands and wait for user approval before making changes.
README.md— primary usage, install, LSP config examples, and experimental flagsinstall.sh— installation steps, env variables (PREFIX,VERSION), checksum validation detailschangelog.md— release notes and feature history.github/— workflows and issue templates (useful for CI and contributor expectations)
If you (or a Copilot session) need to run repo-local builds/tests later, prefer discovering and using the project’s native tooling (Make, npm, go, python test runners) if added — do not invent commands.
Recommended additions included below: LSP servers, single-test commands, and a release checklist.
- TypeScript/JavaScript:
npm install -g typescript-language-server typescript(server:typescript-language-server --stdio) - Go:
go install golang.org/x/tools/gopls@latest(server:gopls) - Python:
pip install 'python-lsp-server[all]'orpip install 'pylsp'(server:pylsp) - Ruby:
gem install solargraph(server:solargraph) - Rust:
rustup component add rust-src && cargo install rust-analyzer(or use distro package) - Java: Install Eclipse JDT Language Server via your package manager or editor integration
Notes: Only recommend installing these; do not assume repository uses a language until files are present.
-
npm / JavaScript / TypeScript
- Run full test suite:
npm testornpm run test - Run a single test file:
npx jest path/to/file.test.jsornpm test -- path/to/file.test.js - Run a single test case (Jest):
npx jest -t 'test name'
- Run full test suite:
-
Go
- Run all tests:
go test ./... - Run tests in a package:
go test ./pkg/name - Run a single test function:
go test -run TestFunctionName
- Run all tests:
-
Python (pytest)
- Run all tests:
pytest - Run a single file:
pytest tests/test_module.py - Run a single test:
pytest tests/test_module.py::test_function
- Run all tests:
-
Java (Maven / Gradle)
- Maven single test:
mvn -Dtest=ClassNameTest -DfailIfNoTests=false test - Gradle single test:
./gradlew test --tests "com.example.TestClass.testMethod"
- Maven single test:
-
Ruby (RSpec)
- Run file:
rspec spec/models/user_spec.rb - Run example:
rspec spec/models/user_spec.rb:42
- Run file:
-
Rust (cargo)
- Run all tests:
cargo test - Run a single test:
cargo test test_name -- --exact
- Run all tests:
Agents should detect which test runner is present (package.json, go.mod, pyproject.toml, setup.cfg, Cargo.toml, Gemfile, etc.) before suggesting commands.
- Update changelog and bump version/tag
- Run linters and tests locally: use repository-native commands if present
- Build release artifacts (if applicable): follow repo's build script or
make release - Generate checksums and attach them to release assets (
sha256sum) - Create GitHub release and upload artifacts; include changelog entry
- Update documentation (
README.md,.github/*) and LSP config if needed - Ensure CI workflows pass for the release branch
Agents must present these steps as suggestions and ask for confirmation before performing any publishing actions (creating tags/releases).
Summary: Added recommended LSP servers, single-test command examples for common languages, and a concise release checklist. If you'd like, tailor the single-test examples to the specific languages in this repo or add CI commands found in .github/workflows.