pulsar-acp-agent
Bring your own AI coding agent to Pulsar via the Agent Client Protocol (ACP).
hovancik 0 0 0.1.0 BSD-2-Clause GitHub
  • Made for Pulsar!

    This package was written specifically for Pulsar and did not exist in the Atom package repository.

Pulsar ACP Agent

Pulsar package for using Agent Client Protocol (ACP)-compatible coding agents inside the editor.

Much of this package was written by AI coding agents, with human review.

Currently tested with GitHub Copilot CLI and Mistral Vibe.

Install

In Pulsar, open Settings → Install, search for pulsar-acp-agent, and click Install. Or from a terminal:

ppm install pulsar-acp-agent

Package page: https://web.pulsar-edit.dev/packages/pulsar-acp-agent

Configure Copilot CLI

Install Copilot CLI and authenticate once:

copilot login

Defaults:

  • command: copilot --acp --stdio

If Pulsar cannot find copilot, set the full command line with an absolute path (keep the arguments) in:

Settings -> Packages -> pulsar-acp-agent -> Agent command

On Linux this may be something like:

/home/you/.local/bin/copilot --acp --stdio

Wrap a path that contains spaces in double quotes, e.g. "C:\Program Files\agent\agent.exe" --acp --stdio.

Use

  • Toggle panel: Ctrl+Alt+A
  • Command palette: Pulsar ACP Agent: Toggle
  • Send: Enter
  • Newline: Shift+Enter
  • Stop: cancel current turn
  • Restart: kill and restart the agent process

The session working directory defaults to the first open project folder. Multi-root workspaces are not supported yet: only the configured working directory, or the first open project folder when no directory is configured, is sent to the agent and allowed for file access.

Develop

git clone https://github.com/hovancik/pulsar-acp-agent.git
cd pulsar-acp-agent
npm install
ppm link          # symlink the checkout into Pulsar
npm run typecheck
npm run build
npm run watch

Pulsar loads lib/main.js. Rebuild after editing src/, then reload Pulsar.

Architecture

  • src/main.ts registers commands, opener, and dock item.
  • src/agent-view.ts renders the panel UI.
  • src/agent-session.ts manages the ACP session via @agentclientprotocol/sdk.

The SDK is ESM-only, so esbuild bundles it and zod into lib/main.js.

Capabilities

Capability Status
fs.readTextFile / fs.writeTextFile yes, restricted to the session working directory
session/request_permission yes
terminal no
authenticate yes, uses the first auth method advertised by the agent

Security

The agent runs as a separate command-line process that Pulsar launches with your user account. Pulsar does not sandbox it, so it has the same access to your machine as any program you run yourself.

The limits below only constrain the requests an agent makes through Pulsar over ACP. They do not restrict what the agent does in its own process:

  • fs/read_text_file and fs/write_text_file are served only when the target path resolves inside the session working directory; the agent reads and writes there without a per-action prompt.
  • Writes to open files with unsaved changes are refused.
  • The ACP terminal capability is declined, so the agent cannot run commands through Pulsar. Most agents still ship their own shell and run commands directly in their own process, outside Pulsar's view.

These are guard rails for a cooperating agent, not a security boundary: a malicious agent can read or write any file your account can, or run any command, without going through Pulsar at all. Use Pulsar ACP Agent only with agents you trust; for stronger isolation, run it inside a container or VM.