Skip to content

Commit ba93db2

Browse files
committed
Add GitHub Copilot provider support
1 parent d55e697 commit ba93db2

23 files changed

Lines changed: 1585 additions & 31 deletions

apps/server/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"@anthropic-ai/claude-agent-sdk": "^0.2.77",
2727
"@effect/platform-node": "catalog:",
2828
"@effect/sql-sqlite-bun": "catalog:",
29+
"@github/copilot-sdk": "^0.2.1",
2930
"@pierre/diffs": "^1.1.0-beta.16",
3031
"effect": "catalog:",
3132
"node-pty": "^1.1.0",

apps/server/src/doctor.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { Effect } from "effect";
1010
import { Command } from "effect/unstable/cli";
1111

1212
import {
13+
checkCopilotProviderStatus,
1314
checkCodexProviderStatus,
1415
checkClaudeProviderStatus,
1516
} from "./provider/Layers/ProviderHealth";
@@ -32,6 +33,7 @@ const AUTH_LABELS: Record<string, string> = {
3233
const PROVIDER_LABELS: Record<string, string> = {
3334
codex: "Codex (OpenAI)",
3435
claudeAgent: "Claude (Anthropic)",
36+
copilot: "GitHub Copilot",
3537
};
3638

3739
function printStatus(status: ServerProviderStatus): void {
@@ -65,9 +67,12 @@ const doctorProgram = Effect.gen(function* () {
6567
console.log("");
6668
console.log("Checking provider health...");
6769

68-
const statuses = yield* Effect.all([checkCodexProviderStatus, checkClaudeProviderStatus], {
69-
concurrency: "unbounded",
70-
});
70+
const statuses = yield* Effect.all(
71+
[checkCodexProviderStatus, checkClaudeProviderStatus, checkCopilotProviderStatus],
72+
{
73+
concurrency: "unbounded",
74+
},
75+
);
7176

7277
for (const status of statuses) {
7378
printStatus(status);
@@ -80,6 +85,7 @@ const doctorProgram = Effect.gen(function* () {
8085
console.log("");
8186
console.log(" Codex: npm install -g @openai/codex && codex login");
8287
console.log(" Claude: npm install -g @anthropic-ai/claude-code && claude auth login");
88+
console.log(" Copilot: npm install -g @github/copilot && copilot login");
8389
} else if (readyCount === statuses.length) {
8490
console.log("All providers are ready.");
8591
} else {

0 commit comments

Comments
 (0)