MCPcopy Index your code
hub / github.com/CooperAgent/cooper

github.com/CooperAgent/cooper @v1.5.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.3 ↗ · + Follow
396 symbols 817 edges 108 files 10 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Copilot Skins

Copilot Skins Logo

A native desktop GUI for GitHub Copilot, wrapping the Copilot SDK and the Copilot agentic logic.

Watch Copilot Skins building itself in action!

Copilot Skins Demo

Features

🗂️ Multiple Sessions, Multiple Contexts

CLI gives you one session at a time. Copilot Skins gives you tabs—each with its own working directory, model, and conversation history.

Each session maintains its own working directory, model, allowed commands, and file changes. Switch tabs instantly. No re-explaining context. No restarting sessions.

🌳 Git Worktree Sessions

Instead of just a new tab, create a worktree session—a completely isolated git worktree tied to a branch.

Paste a GitHub issue URL. Copilot Skins fetches the issue (title, body, comments), creates a git worktree in ~/.copilot-sessions/ and opens a new session in that worktree.

Work on multiple issues simultaneously without stashing, switching branches, or losing your place. Each worktree is a real directory—run builds, tests, whatever you need.

🔁 Ralph Wiggum: Iterative Agent Mode

Named after Claude Code's ralph-wiggum plugin, this feature lets the agent run in a loop until a task is actually done.

You prompt with completion criteria → agent works → checks its work → continues if not done → repeats up to N times. Perfect for tasks that need multiple passes to get right.

💻 Embedded Terminal

Every session has a terminal panel that runs in the session's working directory. It's a real PTY (xterm.js), not a fake console.

Click "Add to Message" and the terminal's output buffer gets attached to your next prompt. See a build error? One click to show it to the agent. No copy-paste, no explaining—just "fix this" with full context.

More Features

  • 🔐 Allowed Commands — Per-session and global command allowlisting with visual management
  • 🔌 MCP Servers — Configure Model Context Protocol servers for extended tool capabilities
  • 🎯 Agent Skills — Personal and project skills via SKILL.md files (compatible with Claude format)
  • 📦 Context Compaction — Automatic conversation summarization when approaching token limits
  • 🎨 Themes — Custom themes via JSON, including some nostalgic ones (ICQ, Night Owl)
  • 🤖 Multi-Model — Switch between GPT-4.1, GPT-5, Claude Opus-4, Sonnet, Haiku, Gemini, and more

Prerequisites

  • Node.js 22+ (required for Copilot SDK)
  • GitHub Copilot subscription
  • GitHub CLI authenticated (gh auth login)

Windows Additional Requirements

Windows requires additional build tools for native modules: - Python 3.x (for node-gyp) - Visual Studio Build Tools 2022 with C++ workload (Spectre libraries not required - automatically patched) - PowerShell 7+ (for running scripts)

Quick Setup: Run our automated setup script (requires winget):

# In PowerShell (run as Administrator recommended)
cd copilot-ui
pwsh -NoProfile -File .\scripts\setup-windows.ps1

This installs Windows prerequisites and npm dependencies automatically. After running, you're ready to go with npm run dev!

Manual Windows Setup (if automated script fails)

  1. Install PowerShell 7+: powershell winget install Microsoft.PowerShell

  2. Install Python: powershell winget install Python.Python.3.12

  3. Install Visual Studio Build Tools: powershell winget install Microsoft.VisualStudio.2022.BuildTools --silent --override "--wait --quiet --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

  4. Set PowerShell execution policy: powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

  5. Restart your terminal for PATH changes to take effect

Installation (Agent-first)

If you're using an AI coding agent: tell it to clone this repo, install deps, and build the installer for your OS.

Suggested prompt:

Clone https://github.com/idofrizler/copilot-ui.git, install dependencies, and build a signed/unsigned installer for my OS.
- macOS: output a .dmg
- Windows: output an .exe

macOS (build a DMG)

git clone https://github.com/idofrizler/copilot-ui.git
cd copilot-ui
npm install
npm run dist
open release/Copilot-Skins-*-arm64.dmg

Windows (build an EXE)

git clone https://github.com/idofrizler/copilot-ui.git
cd copilot-ui
pwsh -NoProfile -File .\scripts\setup-windows.ps1
npm run dist:win

Development

npm install
npm run dev

Build

npm run build

How It Works

This app uses the official GitHub Copilot SDK to communicate directly with GitHub Copilot. It creates a native Electron window with a React-based chat interface.

The SDK uses your existing GitHub authentication (via gh CLI) to authenticate requests.

License

MIT

Extension points exported contracts — how you extend this code

Skill (Interface)
(no doc)
src/renderer/types/skills.ts
MCPServerConfigBase (Interface)
(no doc)
src/preload/preload.ts
Skill (Interface)
(no doc)
src/main/skills.ts
SkillsResult (Interface)
(no doc)
src/renderer/types/skills.ts
MCPLocalServerConfig (Interface)
(no doc)
src/preload/preload.ts
SkillsResult (Interface)
(no doc)
src/main/skills.ts
Window (Interface)
(no doc)
src/renderer/types/global.d.ts
MCPRemoteServerConfig (Interface)
(no doc)
src/preload/preload.ts

Core symbols most depended-on inside this repo

extractExecutables
called by 59
src/main/utils/extractExecutables.ts
isAsciiDiagram
called by 20
src/renderer/utils/isAsciiDiagram.ts
getSessionPage
called by 19
src/main/browser.ts
extractFilesToDelete
called by 18
src/main/utils/extractExecutables.ts
generateId
called by 17
src/renderer/utils/session.ts
containsDestructiveCommand
called by 15
src/main/utils/extractExecutables.ts
trackEvent
called by 14
src/renderer/utils/telemetry.ts
createMockDate
called by 12
src/main/main.ts

Shape

Function 302
Interface 90
Class 4

Languages

TypeScript100%

Modules by API surface

src/main/worktree.ts47 symbols
src/renderer/App.tsx45 symbols
src/main/main.ts39 symbols
src/renderer/components/Icons/Icons.tsx32 symbols
src/main/browser.ts30 symbols
src/renderer/types/session.ts16 symbols
src/renderer/components/SessionHistory/SessionHistory.tsx13 symbols
src/main/pty.ts11 symbols
src/renderer/components/WorktreeSessions/WorktreeSessionsList.tsx9 symbols
src/renderer/components/WorktreeSessions/CreateWorktreeSession.tsx9 symbols
src/renderer/components/Modal/Modal.tsx9 symbols
src/renderer/components/FilePreviewModal/FilePreviewModal.tsx8 symbols

For agents

$ claude mcp add cooper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact