Skip to content

feat(tools): add Zed Agent support - #1659

Open
clay-good wants to merge 2 commits into
mainfrom
codex/add-zed-support
Open

feat(tools): add Zed Agent support#1659
clay-good wants to merge 2 commits into
mainfrom
codex/add-zed-support

Conversation

@clay-good

@clay-good clay-good commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Status

LGTM.

What was missing

OpenSpec rejected openspec init --tools zed, even though Zed's built-in Agent discovers project skills from .agents/skills.

What it does

  • Adds zed as a skills-only target for the built-in Zed Agent.
  • Reuses OpenSpec's existing .agents/skills generation and ownership marker; no workflow, schema, or architecture changes.
  • Keeps Zed-only skills in Zed's slash form and preserves Codex's dual-syntax tree when Zed is added to an existing Codex project.
  • Detects Zed projects from the standard .zed project configuration directory.
  • Documents the supported Zed surface, minimum version, worktree-trust behavior, and shared-root ownership.

Proof it works

  • Before this change, openspec init --tools zed exited with Invalid tool(s): zed.
  • Added CLI E2E coverage for Zed init followed by openspec update rediscovery and live-reload output.
  • Added regressions for Zed-only setup, .zed detection, marker rediscovery, --tools all, and incremental Codex then Zed setup.
  • Build and ESLint pass.
  • Focused shared-root, update, and CLI matrix: 412/412 tests pass.
  • Full serialized suite: 3,972/3,974 tests pass. The 2 remaining failures reproduce unchanged on pristine origin/main and are unrelated deprecated-command/profile tests.
  • Independent adversarial reviews found no shared-root ownership, Zed format, or backward-compatibility regressions.

Notes

This supports the built-in Zed Agent on Zed v1.4.2 or newer. Zed External Agents and Terminal Threads retain their own integrations. No changeset is included because the repository requests changesets only when maintainers ask for one.

Closes #202

Summary by CodeRabbit

  • New Features

    • Added Zed Agent support for skill-based workflows.
    • Added zed as an available initialization option.
    • Enabled shared skills through .agents, with compatibility across Zed, Codex, and generic agents.
    • Preserved existing tool ownership and configuration when adding Zed.
    • Added windsurf as an accepted alias for Devin.
  • Documentation

    • Updated setup, command, troubleshooting, and supported-tool guidance for Zed Agent and shared skill directories.

@clay-good
clay-good requested a review from a team as a code owner August 14, 2026 21:42
@clay-good
clay-good requested review from TabishB and removed request for a team August 14, 2026 21:42
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: bc6d2821-27e7-41c8-b1cd-a30f5e3f8cd8

📥 Commits

Reviewing files that changed from the base of the PR and between 459acb3 and 384a6f0.

📒 Files selected for processing (4)
  • docs/supported-tools.md
  • src/core/config.ts
  • test/cli-e2e/basic.test.ts
  • test/core/available-tools.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
  • src/core/config.ts
  • docs/supported-tools.md
  • test/cli-e2e/basic.test.ts

📝 Walkthrough

Walkthrough

Added Zed Agent as a skills-only tool using the shared .agents/skills tree. Updated target reconciliation, detection, initialization and update tests, user documentation, and the windsurf CLI alias documentation.

Changes

Zed Agent support

Layer / File(s) Summary
Register Zed Agent and document shared skills
src/core/config.ts, docs/supported-tools.md, docs/how-commands-work.md, docs/troubleshooting.md
Registered zed with .agents/skills. Documented Zed Agent invocation, shared-tree ownership, supported IDs, and limitations.
Reconcile shared skill targets
src/core/init.ts, test/core/init.test.ts, test/cli-e2e/basic.test.ts
Updated shared-target selection for Codex, Zed, and generic agents. Tests cover ownership preservation, target markers, generated skills, and update behavior.
Detect Zed Agent configurations
test/core/available-tools.test.ts
Added coverage for .zed detection and shared-target marker handling.

CLI tool documentation

Layer / File(s) Summary
Document the Windsurf alias
docs/cli.md, docs/commands.md
Documented windsurf as an alias for devin. The command syntax entry remains unchanged.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 384a6

This PR adds built-in Zed Agent skills support while preserving existing Codex behavior and documents the shared-root setup. Targeted tests, build, and lint pass, so no actionable merge-blocking risk remains beyond normal checks.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant InitCLI as openspec init
  participant ValidateTools as validateTools
  participant SharedSkills as .agents/skills
  User->>InitCLI: select zed, Codex, or agents
  InitCLI->>ValidateTools: reconcile shared target
  ValidateTools->>SharedSkills: write skills and target marker
  SharedSkills-->>User: provide Zed-compatible skills
Loading

Possibly related PRs

Suggested reviewers: tabishb, alfred-openspec

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes an unrelated Windsurf alias documentation change and a no-op docs/commands edit outside Zed support. Remove the unrelated Windsurf and no-op command documentation edits, or link them to a separate issue.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR implements built-in Zed Agent support through .agents/skills, directly addressing the request in issue #202.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Zed Agent support.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/add-zed-support

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 14, 2026

Copy link
Copy Markdown

Deploying openspec-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 384a6f0
Status: ✅  Deploy successful!
Preview URL: https://0ec58ab6.openspec-docs.pages.dev
Branch Preview URL: https://codex-add-zed-support.openspec-docs.pages.dev

View logs

@clay-good

Copy link
Copy Markdown
Collaborator Author

Scope-check clarification: the Windsurf alias text is unchanged from origin/main; the only change on that line is adding the new zed tool ID. The docs/commands.md row likewise changes only by adding Zed Agent to the skills-only tools. Both hunks are required Zed documentation, so there is no unrelated Windsurf or no-op change to remove.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Zed IDE support?

1 participant