Skip to content
Merged
Show file tree
Hide file tree
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
5 changes: 5 additions & 0 deletions .changeset/remove-windsurf-option.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"agent-install": patch
---

Remove Windsurf from supported skill and AGENTS.md agent options.
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ Every PR and push to `main` runs `pnpm build && pnpm typecheck && pnpm lint && p

JSONC writes go through `jsonc-parser`'s `modify` so existing comments are preserved.

**AGENTS.md**: markdown-aware section editing. Sections are split by `^#{1,6} heading$` lines. `upsertAgentsMdSection` can `append`, `prepend`, or `replace`. Per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/*.mdc`, `.windsurfrules`) are resolved from a single `agentsMdFiles` table.
**AGENTS.md**: markdown-aware section editing. Sections are split by `^#{1,6} heading$` lines. `upsertAgentsMdSection` can `append`, `prepend`, or `replace`. Per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/*.mdc`) are resolved from a single `agentsMdFiles` table.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ mcp.installMcpServerForAgent(name, config, agent, opts);

### AGENTS.md

`agentsMd` reads, upserts, and removes sections in [AGENTS.md](https://agents.md/) and its per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`, `.windsurfrules`, etc.) without losing surrounding content.
`agentsMd` reads, upserts, and removes sections in [AGENTS.md](https://agents.md/) and its per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`, etc.) without losing surrounding content.

```ts
import { agentsMd } from "agent-install";
Expand Down Expand Up @@ -239,11 +239,11 @@ https://mcp.example.com/sse (+ transport: "sse")

## Supported agents

| Surface | Agents |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Skills | 52 agents incl. Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Amp, Antigravity, Augment, Cline, Continue, Crush, Factory Droid, Goose, Junie, Kilo, Kiro CLI, OpenClaw, Pi, Roo, Trae, Warp, Windsurf, Zencoder, universal |
| MCP | Claude Code, Claude Desktop, Cursor, Codex, Cline (ext + CLI), VS Code, GitHub Copilot CLI, Gemini CLI, Goose, OpenCode, Zed, Antigravity, MCPorter |
| AGENTS.md | Universal, Claude Code (CLAUDE.md), Gemini CLI (GEMINI.md), Cursor (.cursor/rules), Windsurf (.windsurfrules), Codex, OpenCode, Aider |
| Surface | Agents |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Skills | 50+ agents incl. Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Amp, Antigravity, Augment, Cline, Continue, Crush, Factory Droid, Goose, Junie, Kilo, Kiro CLI, OpenClaw, Pi, Roo, Trae, Warp, Zencoder, universal |
| MCP | Claude Code, Claude Desktop, Cursor, Codex, Cline (ext + CLI), VS Code, GitHub Copilot CLI, Gemini CLI, Goose, OpenCode, Zed, Antigravity, MCPorter |
| AGENTS.md | Universal, Claude Code (CLAUDE.md), Gemini CLI (GEMINI.md), Cursor (.cursor/rules), Codex, OpenCode, Aider |

The full list of skill agents lives in [`packages/agent-install/src/skill/agents.ts`](./packages/agent-install/src/skill/agents.ts). Pass `-a <name>` to target specific agents (or `-a '*'` for all).

Expand Down
3 changes: 1 addition & 2 deletions apps/website/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ const AGENTS = [
{ name: "Gemini CLI", flag: "gemini-cli" },
{ name: "GitHub Copilot", flag: "github-copilot" },
{ name: "Goose", flag: "goose" },
{ name: "Windsurf", flag: "windsurf" },
{ name: "Cline", flag: "cline" },
{ name: "Claude Desktop", flag: "claude-desktop" },
{ name: "VS Code", flag: "vscode" },
Expand Down Expand Up @@ -423,7 +422,7 @@ const HomePage = () => {
{
question: "Which agents are supported?",
answer:
"Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Goose, Windsurf, Roo, Cline, Kilo, Claude Desktop, VS Code, Zed, Antigravity, MCPorter, Aider, and more. The supported set differs slightly by surface (skills vs MCP vs AGENTS.md).",
"Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Goose, Roo, Cline, Kilo, Claude Desktop, VS Code, Zed, Antigravity, MCPorter, Aider, and more. The supported set differs slightly by surface (skills vs MCP vs AGENTS.md).",
},
{
question: "Is the API stable?",
Expand Down
6 changes: 3 additions & 3 deletions apps/website/public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ Install agent skills and MCPs with one API.

- **Skills** — `SKILL.md` files that trigger agent behavior, copied or symlinked into each agent's skills directory
- **MCP servers** — Model Context Protocol servers, written into each agent's native config (JSON, JSONC, YAML, or TOML) with per-agent transforms
- **AGENTS.md** — sectioned guidance for [agents.md](https://agents.md/) and per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`, `.windsurfrules`)
- **AGENTS.md** — sectioned guidance for [agents.md](https://agents.md/) and per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`)

Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Goose, Windsurf, Roo, Cline, Kilo, Claude Desktop, VS Code, Zed, Antigravity, MCPorter, Aider, and 25+ other agents.
Works with Claude Code, Cursor, Codex, OpenCode, Gemini CLI, GitHub Copilot, Goose, Roo, Cline, Kilo, Claude Desktop, VS Code, Zed, Antigravity, MCPorter, Aider, and 25+ other agents.

## Install

Expand Down Expand Up @@ -147,7 +147,7 @@ https://mcp.example.com/sse (+ transport: "sse")

## AGENTS.md

`agentsMd` reads, upserts, and removes sections in [AGENTS.md](https://agents.md/) and its per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`, `.windsurfrules`) without losing surrounding content.
`agentsMd` reads, upserts, and removes sections in [AGENTS.md](https://agents.md/) and its per-agent variants (`CLAUDE.md`, `GEMINI.md`, `.cursor/rules/`) without losing surrounding content.

```ts
import { agentsMd } from "agent-install";
Expand Down
1 change: 0 additions & 1 deletion packages/agent-install/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ Known variants (from `agentsMdFiles`):
| claude-code | `CLAUDE.md` |
| gemini-cli | `GEMINI.md` |
| cursor | `.cursor/rules/*.mdc` |
| windsurf | `.windsurfrules` |
| codex | `AGENTS.md` |
| opencode | `AGENTS.md` |
| aider | `AGENTS.md` |
Expand Down
7 changes: 0 additions & 7 deletions packages/agent-install/src/agents-md/known-files.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,6 @@ export const agentsMdFiles: Record<AgentsMdAgent, AgentsMdFileDescriptor> = {
supportsMultipleFiles: false,
aliasOf: "AGENTS.md",
},
windsurf: {
agent: "windsurf",
displayName: "Windsurf (.windsurfrules)",
filename: ".windsurfrules",
fileExtension: "txt",
supportsMultipleFiles: false,
},
opencode: {
agent: "opencode",
displayName: "OpenCode (AGENTS.md)",
Expand Down
1 change: 0 additions & 1 deletion packages/agent-install/src/agents-md/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ export type AgentsMdAgent =
| "cursor"
| "codex"
| "gemini-cli"
| "windsurf"
| "opencode"
| "aider"
| "universal";
Expand Down
7 changes: 0 additions & 7 deletions packages/agent-install/src/skill/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -410,13 +410,6 @@ export const skillAgents: Record<SkillAgentType, SkillAgentConfig> = {
detectInstalled: async () => existsSync(join(home, ".warp")),
isUniversal: true,
},
windsurf: {
name: "windsurf",
displayName: "Windsurf",
skillsDir: ".windsurf/skills",
globalSkillsDir: join(home, ".codeium/windsurf/skills"),
detectInstalled: async () => existsSync(join(home, ".codeium/windsurf")),
},
zencoder: {
name: "zencoder",
displayName: "Zencoder",
Expand Down
1 change: 0 additions & 1 deletion packages/agent-install/src/skill/skills.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ const PRIORITY_RELATIVE_PATHS: readonly string[] = [
".tabnine/agent/skills",
".trae/skills",
".vibe/skills",
".windsurf/skills",
".zencoder/skills",
];

Expand Down
1 change: 0 additions & 1 deletion packages/agent-install/src/skill/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ export type SkillAgentType =
| "trae-cn"
| "universal"
| "warp"
| "windsurf"
| "zencoder";

export type SkillSourceType = "local" | "github" | "gitlab" | "git" | "url" | "well-known";
Expand Down
2 changes: 0 additions & 2 deletions packages/agent-install/test/agents-md-known-files.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ describe("agentsMdFiles catalog", () => {
"cursor",
"codex",
"gemini-cli",
"windsurf",
"opencode",
"aider",
] as const) {
Expand Down Expand Up @@ -53,7 +52,6 @@ describe("resolveAgentsMdFilePath", () => {
it("resolves agent-specific filenames", () => {
expect(resolveAgentsMdFilePath({ cwd: "/p", agent: "claude-code" })).toBe("/p/CLAUDE.md");
expect(resolveAgentsMdFilePath({ cwd: "/p", agent: "gemini-cli" })).toBe("/p/GEMINI.md");
expect(resolveAgentsMdFilePath({ cwd: "/p", agent: "windsurf" })).toBe("/p/.windsurfrules");
});

it("honors an agent with a subdirectory (cursor → .cursor/rules)", () => {
Expand Down
1 change: 0 additions & 1 deletion packages/agent-install/test/skill-agents.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ const REGISTERED_AGENTS = [
"trae-cn",
"universal",
"warp",
"windsurf",
"zencoder",
] as const;

Expand Down
Loading