Skip to content

[DX-1381] feat(skills): add Zed as a skills install target#405

Open
umair-ably wants to merge 1 commit into
mainfrom
feature/zed-skills-support
Open

[DX-1381] feat(skills): add Zed as a skills install target#405
umair-ably wants to merge 1 commit into
mainfrom
feature/zed-skills-support

Conversation

@umair-ably
Copy link
Copy Markdown
Collaborator

Overview

Adds Zed as a skills install target, extending the one-command onboarding (ably init) and ably skills install to cover Zed's newly-shipped Agent Skills support.

Zed loads user-level Agent Skills from ~/.agents/skills/ (verified against zed.dev/docs/ai/skills; project-level lives at <worktree>/.agents/skills/).

Changes

  • skills-installer.ts — add zed to TARGET_CONFIGS (file-copy into ~/.agents/skills/). Both ably init and ably skills install derive their --target options from this map, so the new target propagates to both commands automatically.
  • tool-detector.ts — add Zed to the tool detector (CLI zed, /Applications/Zed.app on macOS, ~/.local/zed.app + /usr/{bin,lib}/zed on Linux, %LOCALAPPDATA% on Windows, ~/.config/zed config dir) so auto-detect picks it up.
  • Tests — cover Zed in tool-detector, skills-installer, and command help tests.

Testing

  • pnpm test for the four affected suites: 57/57 passing.
  • Build clean.

🤖 Generated with Claude Code

Zed now ships official support for Agent Skills, loading user-level skills
from ~/.agents/skills/ (per zed.dev/docs/ai/skills). Extend the one-command
onboarding (`ably init`) and `ably skills install` to support Zed:

- Add `zed` to TARGET_CONFIGS (file-copy into ~/.agents/skills/). Both
  commands derive their `--target` options from this map, so it propagates
  to `ably init` and `ably skills install` automatically.
- Add Zed to the tool detector (CLI `zed`, /Applications/Zed.app on macOS,
  ~/.local/zed.app + /usr/{bin,lib}/zed on Linux, %LOCALAPPDATA% on Windows,
  ~/.config/zed config dir) so auto-detect picks it up.
- Cover Zed in tool-detector, skills-installer, and command help tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cli-web-cli Ready Ready Preview, Comment Jun 3, 2026 11:15am

Request Review

@umair-ably umair-ably changed the title feat(skills): add Zed as a skills install target [DX-1381] feat(skills): add Zed as a skills install target Jun 3, 2026
@umair-ably umair-ably marked this pull request as ready for review June 3, 2026 13:03
@umair-ably umair-ably requested a review from AndyTWF June 3, 2026 13:03
@claude-code-ably-assistant
Copy link
Copy Markdown

Walkthrough

This PR adds Zed as a supported target for ably init and ably skills install. Zed recently shipped official Agent Skills support, loading user-level skills from ~/.agents/skills/. The new target is added to the central TARGET_CONFIGS map and the tool-detector, so both commands pick it up automatically without further changes.

Changes

Area Files Summary
Services src/services/skills-installer.ts Add zed entry to TARGET_CONFIGS with relativeDir: ~/.agents/skills/
Services src/services/tool-detector.ts Add Zed to TOOL_CHECKS with CLI name, macOS/Linux/Windows paths, and ~/.config/zed config dir
Tests test/unit/services/tool-detector.test.ts New test: detects Zed via its config directory
Tests test/unit/services/skills-installer.test.ts Extend multi-target install test to include zed (3 → 4 targets)
Tests test/unit/commands/skills/install.test.ts Add Zed to ALL_UNDETECTED fixture; assert zed appears in --target help output
Tests test/unit/commands/init.test.ts Add Zed to ALL_UNDETECTED fixture used by init command tests

Review Notes

  • No breaking changes. The zed target is purely additive; existing targets and their install paths are unchanged.
  • Install path is ~/.agents/skills/, not a Zed-specific subdirectory. This matches the Zed docs but is a generic path name that could theoretically conflict with other tools adopting the same convention in the future — worth a quick sanity check against the referenced zed.dev/docs/ai/skills.
  • Windows path uses %LOCALAPPDATA%/Programs/Zed/Zed.exe — reasonable guess but Zed's Windows support is still early-stage; confirm this matches the actual installer output path if Windows support matters now.
  • Test coverage looks complete — tool detection, installer, and both command help outputs are all covered.
  • No new dependencies introduced.

Copy link
Copy Markdown

@claude-code-ably-assistant claude-code-ably-assistant Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

Clean, well-scoped addition. The implementation follows existing patterns exactly and all test coverage is appropriate.

What the PR does

Adds Zed as a fourth --target option for ably init and ably skills install. Skills are written to ~/.agents/skills/ (Zed's documented user-level path). Detection covers the CLI binary, platform-specific app bundle paths, and the ~/.config/zed config directory.

No issues found

The code is structurally identical to the Windsurf entry that preceded it — same pattern, same test coverage shape:

  • TARGET_CONFIGS entry with the correct relativeDir per Zed docs
  • TOOL_CHECKS entry with CLI name, app bundle paths for macOS/Linux, and config dir fallback
  • Tests for tool detection, multi-target install, and help output all updated consistently

The one thing worth calling out (not a blocker): winPaths is speculative — Zed doesn't have a Windows release as of this writing. That said, the detection logic is platform-gated (win32 only), so on macOS/Linux the path is never evaluated, and on Windows the fs.existsSync check simply returns false. No user-visible impact either way.

Approved — ready to merge.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant