Skip to content

feat: agentscript - #4483

Merged
justinmk merged 1 commit into
neovim:masterfrom
Booyaka101:agentscript
Jul 23, 2026
Merged

justinmk merged 1 commit into
neovim:masterfrom
Booyaka101:agentscript

Conversation

@Booyaka101

Copy link
Copy Markdown
Contributor

Adds support for Agent Script, Salesforce's open agent specification
language (salesforce/agentscript,
Apache 2.0).

Why now: Salesforce open sourced the complete Agent Script toolchain —
parser, compiler, LSP server, VS Code extension — and made the language
generally available in July 2026. As of the week of July 13, 2026 the
legacy Agentforce Builder was retired: the "New Agent" button in Setup only
opens the new Agent Script-based Agentforce Builder
(release note).
Every Agentforce customer authoring agents going forward is writing .agent
files, and the Salesforce + Neovim community already maintains dedicated
tooling (e.g. sf.nvim).

Server: @sf-agentscript/lsp-server
(npm install -g @sf-agentscript/lsp-server) ships the agentscript-lsp
executable; agentscript-lsp --stdio provides diagnostics, completions,
hover, go-to-definition, references, rename, document symbols, code actions
and semantic tokens.

Popularity criteria: the server repository has 250+ stars within a week of
launch, and Agent Script is the mandated authoring format for Salesforce
Agentforce (see above).

Filetype: Neovim core does not yet detect .agent; the docstring shows the
vim.filetype.add one-liner (upstream registers only the .agent extension,
language id agentscript).

Naming: the config, server and filetype are all named agentscript — the
exact language id upstream's VS Code extension registers. No competing
convention exists anywhere as of 2026-07-22: GitHub Linguist has no entry for
.agent/Agent Script, and neither Helix's languages.toml nor Neovim core's
filetype.lua mention it, so upstream's own id is the only precedent. This
also fits CONTRIBUTING's guidance (unique server name, nothing to
dash-convert).

Known caveat: the currently published @sf-agentscript/[email protected]
crashes at import due to an upstream dependency-pin mistake
([email protected] needs @sf-agentscript/language ≥ 2.8.4 but pins
2.5.4) — reported upstream at salesforce/agentscript#73. Installing with an npm
overrides fix works today, and this config is correct regardless: it runs
whatever agentscript-lsp resolves on $PATH.

Verified locally on Neovim 0.12.2 (Windows): server attaches on .agent
buffers, publishes parse errors and semantic lints (e.g. unused-variable).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@Booyaka101
Booyaka101 marked this pull request as ready for review July 22, 2026 00:59
@justinmk
justinmk merged commit 30c775c into neovim:master Jul 23, 2026
5 checks passed
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.

2 participants