{"id":50501655,"url":"https://github.com/prasadhonrao/ghcp-cli-cheatsheet","last_synced_at":"2026-06-02T12:03:07.173Z","repository":{"id":357558979,"uuid":"1231920905","full_name":"prasadhonrao/ghcp-cli-cheatsheet","owner":"prasadhonrao","description":"Searchable GitHub Copilot CLI cheatsheet built with React, Vite, and TypeScript.","archived":false,"fork":false,"pushed_at":"2026-06-01T11:57:12.000Z","size":27058,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T12:12:03.401Z","etag":null,"topics":["cli","github","github-copilot","github-copilot-cli","react"],"latest_commit_sha":null,"homepage":"https://prasadhonrao.github.io/ghcp-cli-cheatsheet/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prasadhonrao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-07T12:16:15.000Z","updated_at":"2026-05-27T10:03:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/prasadhonrao/ghcp-cli-cheatsheet","commit_stats":null,"previous_names":["prasadhonrao/ghcp-cli-cheatsheet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prasadhonrao/ghcp-cli-cheatsheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasadhonrao%2Fghcp-cli-cheatsheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasadhonrao%2Fghcp-cli-cheatsheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasadhonrao%2Fghcp-cli-cheatsheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasadhonrao%2Fghcp-cli-cheatsheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prasadhonrao","download_url":"https://codeload.github.com/prasadhonrao/ghcp-cli-cheatsheet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prasadhonrao%2Fghcp-cli-cheatsheet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33820643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","github","github-copilot","github-copilot-cli","react"],"created_at":"2026-06-02T12:03:06.356Z","updated_at":"2026-06-02T12:03:07.168Z","avatar_url":"https://github.com/prasadhonrao.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Copilot CLI Cheatsheet\n\n[![Deploy to GitHub Pages](https://github.com/prasadhonrao/ghcp-cli-cheatsheet/actions/workflows/deploy-to-gh-pages.yml/badge.svg)](https://github.com/prasadhonrao/ghcp-cli-cheatsheet/actions/workflows/deploy-to-gh-pages.yml)\n\nA searchable reference site for GitHub Copilot CLI commands, workflows, and examples.\n\nBuilt with React, Vite, and TypeScript. Data-driven — all commands are split into per-category JSON files so the UI stays easy to maintain, extend, and search.\n\n## Features\n\n- Instant fuzzy search across titles, descriptions, syntax, and examples (powered by Fuse.js)\n- Category-based browsing with sticky top bar and horizontal category pills\n- Command cards with syntax, descriptions, analogies, examples, and one-click copy buttons\n- **Animated GIF demos** — real CLI recordings via VHS for each command's \"See It In Action\" section\n- **Lightbox viewer** — expand any demo GIF to full-screen for better visibility\n- Dark and light theme toggle\n- Responsive layout — works on desktop and mobile\n- **Agentic weekly update** — a Copilot coding agent checks the CLI changelog and opens PRs when commands change\n\n## Categories\n\nThe 65 commands are organized into 11 categories:\n\n| Category           | Commands | Description                                             |\n| ------------------ | -------- | ------------------------------------------------------- |\n| 🚀 Getting Started | 8        | Install, update, help, version, feedback                |\n| 🔐 Authentication  | 3        | Login, logout, account switching                        |\n| 💬 Chat            | 5        | Ask, clear, search, undo, new                           |\n| 🧬 Models          | 3        | Model selection, experimental features, themes          |\n| ⚙️ Configuration   | 13       | Directories, permissions, environment, voice, streaming |\n| 💻 Code            | 5        | Diff, plan, PR management, code review, security review |\n| 🤖 Agents          | 8        | Agent picker, fleet, delegate, research, tasks          |\n| 🔌 MCP             | 2        | MCP and LSP server management                           |\n| 🧠 Memory          | 6        | Sessions, context, compaction, sharing                  |\n| 📝 Instructions    | 3        | Custom instructions, skills, plugins                    |\n| 🔧 Troubleshooting | 6        | Diagnostics, restart, remote control, exit              |\n\n## Tech stack\n\n- [React 19](https://react.dev/) — UI framework\n- [Vite](https://vite.dev/) — Build tool and dev server\n- [TypeScript](https://www.typescriptlang.org/) — Type safety\n- [Fuse.js](https://www.fusejs.io/) — Fuzzy search\n- [@primer/octicons-react](https://primer.style/foundations/icons) — GitHub-style icons\n- CSS custom properties — Theming (dark mode default)\n\n## Architecture\n\n### Data model\n\nCommand data is split into per-category JSON files under `src/data/categories/`. They are merged in `src/data/index.ts` and imported by `App.tsx`. Categories and their metadata are defined in `src/types/index.ts`.\n\n```ts\ninterface Command {\n  id: string;\n  title: string;\n  syntax: string;\n  description: string;\n  analogy: string;\n  examples: string[];\n  category: string;\n  note?: string;\n  terminalDemo?: string; // path to GIF e.g. \"images/chat/ask.gif\"\n}\n```\n\nEach `examples` entry is a plain string. Comments after `  #` are rendered separately; the copy button copies only the command portion.\n\n### Example command entry\n\n```json\n{\n  \"id\": \"gs-2\",\n  \"title\": \"/changelog\",\n  \"syntax\": \"/changelog [summarize] [VERSION|last N|since VERSION]\",\n  \"description\": \"Display the CLI changelog. Add the keyword \\\"summarize\\\" for an AI-generated summary. Also available as /release-notes.\",\n  \"analogy\": \"Like reading the \\\"What is New\\\" page after an app update — find out exactly what changed and which commands are new.\",\n  \"examples\": [\n    \"/changelog  # show recent release notes\",\n    \"/changelog last 3  # show the last 3 releases\",\n    \"/changelog summarize  # AI-generated summary of recent changes\",\n    \"/release-notes  # alias for /changelog\"\n  ],\n  \"category\": \"getting-started\",\n  \"terminalDemo\": \"images/getting-started/changelog.gif\"\n}\n```\n\n### Project structure\n\n```text\nghcp-cli-cheatsheet/\n├── public/\n├── src/\n│   ├── components/\n│   │   ├── command/\n│   │   │   ├── CategorySection.tsx\n│   │   │   └── CommandCard.tsx\n│   │   ├── layout/\n│   │   │   └── TopBar.tsx\n│   │   ├── search/\n│   │   │   └── SearchBar.tsx\n│   │   └── ui/\n│   │       ├── CategoryPills.tsx\n│   │       └── TipBanner.tsx\n│   ├── data/\n│   │   ├── index.ts              ← merges all category files\n│   │   └── categories/\n│   │       ├── getting-started.json\n│   │       ├── authentication.json\n│   │       ├── chat.json\n│   │       ├── models.json\n│   │       ├── configuration.json\n│   │       ├── code.json\n│   │       ├── agents.json\n│   │       ├── mcp.json\n│   │       ├── memory.json\n│   │       ├── instructions.json\n│   │       └── troubleshooting.json\n│   ├── types/\n│   │   └── index.ts\n│   ├── App.css\n│   ├── App.tsx\n│   ├── index.css\n│   └── main.tsx\n├── index.html\n├── package.json\n├── tsconfig.json\n├── vite.config.ts\n└── README.md\n```\n\n## Components\n\n| Component       | Path                          | Purpose                                                 |\n| --------------- | ----------------------------- | ------------------------------------------------------- |\n| TopBar          | `layout/TopBar.tsx`           | Sticky header with brand, GitHub link, and theme toggle |\n| SearchBar       | `search/SearchBar.tsx`        | Fuzzy search input with Fuse.js                         |\n| CategoryPills   | `ui/CategoryPills.tsx`        | Horizontal category filter buttons                      |\n| TipBanner       | `ui/TipBanner.tsx`            | Rotating tips banner                                    |\n| CategorySection | `command/CategorySection.tsx` | Groups commands under a category heading                |\n| CommandCard     | `command/CommandCard.tsx`     | Individual command card with syntax, analogy, examples  |\n\n## Run locally\n\n### Prerequisites\n\n- Node.js 18+\n- npm 9+\n\n### Install and start\n\n```bash\nnpm install\nnpm run dev\n```\n\n### Build for production\n\n```bash\nnpm run build\nnpm run preview\n```\n\n## Available scripts\n\n| Script                    | Description                                               |\n| ------------------------- | --------------------------------------------------------- |\n| `npm run dev`             | Start the Vite development server                         |\n| `npm run build`           | Type-check and create a production build                  |\n| `npm run preview`         | Preview the production build locally                      |\n| `npm run lint`            | Run ESLint across the project                             |\n| `npm run create:tape`     | Generate VHS `.tape` files from `scripts/demos.json`      |\n| `npm run create:gif`      | Record GIFs from tape files (requires VHS + Copilot auth) |\n| `npm run verify:gif`      | Verify all expected GIFs are present                      |\n| `npm run generate:demos`  | Run all three demo steps above in sequence                |\n\n## Deploy to GitHub Pages\n\nDeployment is automated via GitHub Actions. Every push to `main` triggers the `deploy-to-gh-pages.yml` workflow which builds the app and publishes it using the GitHub Pages API (no `gh-pages` branch needed).\n\n### One-time GitHub setup\n\nIn your repository settings:\n\n- Go to **Settings** → **Pages**\n- Under **Build and deployment**, choose **GitHub Actions**\n\n### Site URL\n\n`https://prasadhonrao.github.io/ghcp-cli-cheatsheet/`\n\n## Recording demo GIFs\n\nGIF demos are recorded locally using [VHS](https://github.com/charmbracelet/vhs) and committed to the repo. CI cannot generate them (requires a live authenticated Copilot CLI session).\n\n```bash\n# Prerequisites: VHS installed, `gh copilot` authenticated\nnpm run generate:demos                          # regenerate all\nnpm run create:gif -- --category chat           # single category\nnpm run create:gif -- --id chat-ask             # single command\n```\n\n## Contributing\n\nContributions are welcome. Useful areas:\n\n- Adding or updating command data in the relevant file under `src/data/categories/`\n- Improving categorization and examples\n- Improving accessibility and mobile UX\n\n## License\n\nThis project is licensed under the terms of the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasadhonrao%2Fghcp-cli-cheatsheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprasadhonrao%2Fghcp-cli-cheatsheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasadhonrao%2Fghcp-cli-cheatsheet/lists"}