Neelverse SF 2.0 for VS Code
Neelverse SF 2.0 is an autonomous AI engineering extension for VS Code. It combines a sidebar chat, workspace implementation tools, Salesforce CLI operations, and async-job tracking.
What changed in 0.4.0
- Added a direct Kiro CLI provider. The extension starts the locally authenticated
kiro-cli process, sends prompts over stdin, and consumes the model response without storing a Kiro credential.
- Added Kiro model discovery and selection from the models available to the signed-in Kiro account.
- Added configurable provider priority:
- VS Code AI → Kiro CLI → external API, or
- Kiro CLI → VS Code AI → external API.
- Added a sandboxed Kiro workspace agent with no Kiro tools or MCP servers; all file and Salesforce actions remain executed and verified by the extension.
- Added Kiro connection verification, timeout, executable-path, and model settings.
Previously added in 0.3.0
- Added activation-code licensing through
https://vscode.lalitpandit.in.
- All engineering, AI, Salesforce, model-selection, and configuration functions stay locked until the extension has a valid activation.
- Activation tokens are stored in VS Code SecretStorage; activation codes are not stored locally.
- The license is revalidated on startup, before work, during agent iterations, and every five minutes.
- An expired or remotely revoked code stops the extension at the next validation. Validation fails closed if the licensing service cannot be reached after the local five-minute validation window.
- Installation limits are enforced by a privacy-preserving hash of VS Code's opaque machine identifier.
Activation
- Install the VSIX.
- Run
Neelverse SF 2.0: Activate Extension or click Activate in the sidebar.
- Enter the code issued by Neelverse.
The activation server is fixed to https://vscode.lalitpandit.in; it is not an end-user configuration setting. A working internet connection is required for periodic validation.
Previously added in 0.2.0
- Removed the old Salesforce-only request restriction. The chat can answer general questions and help with general project work.
- Added a Neelverse activity-bar container and a Hermes-style persistent sidebar chat.
- Uses the available/user-selected VS Code Language Model first and by default.
- An OpenAI-compatible endpoint is now an optional fallback, not the first choice.
- Added acceptance-criteria-driven autonomous development:
- workspace inspection
- blocking clarification questions
- dependency-aware planning
- iterative file creation and modification
- Salesforce CLI execution
- local npm/npx/node validation
- real-result feedback and repair loops
- plan persistence in
.neelverse/plans/latest.md
- Added model selection, new-chat, progress, and status controls.
AI resolution order
The provider order is selectable with Neelverse SF 2.0: Select AI Provider.
Default/preserved order:
- A user-selected or available/default VS Code Language Model.
- Direct Kiro CLI using the selected Kiro model.
- Optional OpenAI-compatible external API fallback.
Kiro-first order:
- Direct Kiro CLI using the selected Kiro model.
- A user-selected or available/default VS Code Language Model.
- Optional OpenAI-compatible external API fallback.
Kiro uses the user's existing local kiro-cli login session. The extension does not request or store the Kiro API key, IAM token, or Identity Center credential. Kiro requests consume the credits associated with that Kiro account.
The extension does not require a separate API key when a VS Code AI provider such as GitHub Copilot exposes a language model to extensions.
Autonomous project development
Open the Neelverse icon in the Activity Bar and write, for example:
Build a complete Salesforce partner onboarding system based on these acceptance criteria:
AC1 ...
AC2 ...
AC3 ...
The agent will:
- inspect the open workspace;
- ask only materially blocking questions;
- save an implementation plan;
- create the full Salesforce DX metadata/code/tests;
- run supported local and Salesforce CLI validation;
- analyze real failures and continue fixing;
- stop only when complete, blocked, or at the configured autonomous-step limit.
If the step limit is reached, send continue in the same chat.
Executable capabilities
- Workspace: list, read, write, and delete files, with path traversal blocked.
- Local validation:
npm, npx, and node processes inside the workspace.
- Salesforce CLI: query, retrieve, deploy/validate, Apex tests, data operations, Experience Cloud/background jobs, and other
sf subcommands produced by the agent.
- Async jobs: deploy (
0Af), Apex tests (707), and Experience/background jobs (08P) are captured for later status checks.
Commands
Neelverse SF 2.0: Activate Extension
Neelverse SF 2.0: License Status
Neelverse SF 2.0: Remove Local Activation
Neelverse SF 2.0: Open Chat
Neelverse SF 2.0: New Chat
Neelverse SF 2.0: Natural Language Command
Neelverse SF 2.0: Select AI Provider
Neelverse SF 2.0: Select Kiro CLI Model
Neelverse SF 2.0: Verify Kiro CLI Connection
Neelverse SF 2.0: Select VS Code AI Model
Neelverse SF 2.0: Run SOQL Query
Neelverse SF 2.0: Retrieve Metadata
Neelverse SF 2.0: Deploy Metadata
Neelverse SF 2.0: Run Apex Tests
Neelverse SF 2.0: Job Status
Neelverse SF 2.0: Configure External AI Fallback
Installation
code --install-extension neelverse-sf-vscode-0.4.0.vsix
Or use VS Code → Extensions → ... → Install from VSIX.
Requirements
- VS Code 1.90 or later
- An open workspace/folder for autonomous project development
- Salesforce CLI (
sf) for live-org operations
- An authenticated Salesforce org, default alias
dev-org unless changed
- A VS Code AI provider, or an optional external OpenAI-compatible endpoint
- Optional Kiro CLI 2.x authenticated with
kiro-cli login for direct Kiro models
- A valid Neelverse SF 2.0 activation code and internet access to
vscode.lalitpandit.in
Safety boundaries
The old Salesforce-topic restriction has been removed. Execution still has technical safety boundaries:
- file operations cannot escape the open workspace;
- local processes are limited to npm/npx/node;
- secrets stay in VS Code SecretStorage;
- Salesforce output is sanitized by default;
- command success is never inferred before actual tool output is returned.
| |