@jterrats/setup-agents
v2.10.0
Published
A Salesforce CLI plugin to configure agent rules for AI coding assistants (Cursor, VS Code, Codex, and more).
Maintainers
Readme
setup-agents ⚡ — Agentic Development Framework for Salesforce
Configure once. Let agents drive.
Disclaimer: This is a personal open-source project by Jaime Terrats. It is not an official Salesforce product, nor is it endorsed, supported, or affiliated with Salesforce, Inc. Use at your own discretion.
About
setup-agents is an agentic development framework for Salesforce teams. It gives AI agents everything they need to operate as a senior team member in a Salesforce project: role identity, project standards, a workflow engine, and an accountability loop.
sf setup-agents init # configure profiles, tools, and workspace once
│
▼
CLAUDE.md / AGENTS.md # agents read this on every session
.cursor/rules/*.mdc # role-specific standards loaded per task type
│
▼
sf setup-agents workflow run --story SA-42
│
├── BA phase # refine acceptance criteria
├── Architect phase # design decisions + ADR
├── Developer phase # implement + unit tests
├── QA phase # verify + evidence
└── Release phase # validate + PR
│
▼
evidence.jsonl + decisions.jsonl # auditable delivery trailPhases are dynamic — only the roles configured for your project run. A project with just developer runs Developer → QA → Release. Add architect and the Architect phase is inserted automatically.
What agents get
- 25 role profiles — Developer, Architect, BA, PM, MuleSoft, UX, CGCloud, DevOps, QA, CRMA, Commerce, Data Cloud, Admin, SFMC, Security, Service, CPQ, OmniStudio, FSL, FSC, AI/Agentforce, Slack, Tableau, Experience Cloud, Release Manager
- Workflow engine — autonomous multi-phase pipeline with gates, QA loop, and resume
- Sub-agent protocol — generated routing manifest mapping task types to roles with handover checklists
- Evidence and accountability — agents record commands, files, and decisions before each gate
- Action Risk Scale — agents know what to run autonomously, what to ask, and what to never touch
- Agentforce Workflows —
.a4drules/workflows/*.mdfor automated dev tasks in Vibes chat - MCP integration —
sf setup-agents mcpwires@salesforce/mcpinto Cursor for any org
What teams get
- VS Code Extension — visual sidebar for guided setup, MCP config, integrations, and rule management
- Auto-detection — detects
cgcloud__,WaveDashboard,DataStream, Playwright config, and more - Combinable profiles —
--profile developer,architect,crmastacks rules from multiple roles - Rule overrides — customize Cursor scope and globs per profile in
config.json - Safe by default — never overwrites existing rule files without
--force
Quick Start
# Install the plugin
sf plugins install @jterrats/setup-agents
# Run in your Salesforce project
cd my-salesforce-project
sf setup-agents localThe command auto-detects your tools and prompts for role selection:
? Select your role profile(s):
❯◉ Developer
◯ Architect
◯ Business Analyst
◯ Project Manager
◯ MuleSoft
◯ UX / UI
◉ CGCloud ← pre-selected (cgcloud__ detected)
◯ DevOps / Release Manager
◯ QA (Playwright)
◯ CRM Analytics Engineer (CRMA)
◯ Data Cloud Architect / Engineer (Data 360)
◯ Salesforce Admin / Configurator
◯ Salesforce Marketing Cloud (SFMC)
◯ Security / Compliance
◯ Service Cloud
◯ CPQ Specialist
◯ OmniStudio / Vlocity
◯ Field Service (FSL)
◯ AI / Agentforce Specialist
◯ Slack Developer
◯ Tableau / Analytics CloudUnsigned Plugin Notice: You will be prompted the first time you install an unsigned plugin. To trust this plugin:
sf plugins install @jterrats/setup-agents --no-verify # or add to allowlist in ~/.config/sf/unsignedPluginAllowList.json
Full agent workflow guide: see docs/user-guide/agent-workflow.md for the complete loop — from init to shipped PR — with phase matrix, gates, evidence, and a real example.
Versioning: the plugin (
v2.x) and the VS Code extension (ext-v1.x) are released independently on separate tracks. Both badges above always reflect the latest of each.
VS Code Extension (Preview)
A visual sidebar UI that wraps the CLI plugin for teams that prefer point-and-click over terminal commands.
Features:
- Guided Setup — auto-detects tools, displays 25 profile cards, scope selector, live console output
- MCP Configuration — lists authenticated orgs, pre-selects already-connected ones, one-click connect
- Third-Party Integrations — profile-filtered cards for Figma, Jira, draw.io, GitHub with credential input
- Update Agent Rules — detects stale files and updates in one click
- Rule Management — import from URL/file, browse, edit, and save rule files inline
- Health Checks — verifies SF CLI and plugin installation with actionable error banners
cd extensions/vscode-setup-agents-ui
npm install && npm run build
# Then press F5 or open the Setup Agents sidebar in VS CodeFull documentation: see the Extension page on the docs site.
Architecture
graph TD
subgraph cmds [Commands]
local["sf setup-agents local"]
mcp["sf setup-agents mcp"]
update["sf setup-agents update"]
end
subgraph setup [Setup Layer]
cursorSetup["cursor-setup.ts"]
vscodeSetup["vscode-setup.ts"]
codexSetup["codex-setup.ts"]
claudeSetup["claude-setup.ts"]
a4dSetup["agentforce-setup.ts"]
end
subgraph gen [Generators]
mdcGen["mdc-generator"]
workflowGen["workflow-generator"]
copilotGen["copilot-generator"]
extGen["extensions-generator"]
codexGen["codex-generator"]
claudeGen["claude-generator"]
a4dGen["agentforce-generator"]
sharedGen["shared"]
end
local --> detectTools["detectTools()"]
local --> resolveProfiles["resolveProfiles()"]
local --> cursorSetup
local --> vscodeSetup
local --> codexSetup
local --> claudeSetup
local --> a4dSetup
cursorSetup --> mdcGen
cursorSetup --> workflowGen
vscodeSetup --> copilotGen
vscodeSetup --> extGen
codexSetup --> codexGen
claudeSetup --> claudeGen
a4dSetup --> a4dGen
a4dSetup --> workflowGen
a4dGen --> sharedGen
claudeGen --> sharedGen
mcp --> orgList["sf org list"]
mcp --> mcpJson[".cursor/mcp.json"]
update --> findStale["findStaleFiles()"]
update --> localFiles generated per tool
| Tool | Files |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Cursor | .cursor/rules/agent-guidelines.mdc, salesforce-standards.mdc, <profile>-standards.mdc, sub-agent-protocol.mdc |
| VS Code | .github/copilot-instructions.md, .vscode/extensions.json |
| Codex | AGENTS.md |
| Claude | CLAUDE.md |
| Agentforce | .a4drules/00-base-guidelines.md, 01-salesforce-standards.md, <profile>.md, 99-sub-agent-protocol.md, workflows/*.md |
Profiles
Each profile generates a dedicated .mdc rule file in .cursor/rules/ and contributes extensions to .vscode/extensions.json.
| Profile | Flag | Rule File | Auto-detect Signal |
| ---------------------------- | ------------------ | -------------------------------- | ------------------------------------------------- |
| Developer | developer | developer-standards.mdc | — |
| Architect | architect | architect-standards.mdc | — |
| Business Analyst | ba | ba-standards.mdc | — |
| Project Manager | pm | pm-standards.mdc | — |
| MuleSoft | mulesoft | mulesoft-standards.mdc | mule-artifact.json / pom.xml |
| UX / UI | ux | ux-standards.mdc | — |
| CGCloud | cgcloud | cgcloud-standards.mdc | cgcloud__ in package.xml |
| DevOps | devops | devops-standards.mdc | azure-pipelines.yml |
| QA | qa | qa-standards.mdc | playwright.config.ts/js |
| CRM Analytics | crma | analytics-standards.mdc | WaveDashboard / WaveDataflow in package.xml |
| Commerce Cloud | commerce | commerce-standards.mdc | dw.json / cartridges/ / B2B metadata |
| Data Cloud | data360 | data360-standards.mdc | DataStream / DataModelObject in package.xml |
| Admin | admin | admin-standards.mdc | force-app/ |
| SFMC | sfmc | sfmc-standards.mdc | .ampscript / mc-project.json |
| Security | security | security-standards.mdc | force-app/ |
| Service Cloud | service | service-standards.mdc | objects/Case/ / entitlements / bots |
| CPQ | cpq | cpq-standards.mdc | SBQQ__ metadata |
| OmniStudio | omnistudio | omnistudio-standards.mdc | omniScripts/ / flexCards/ |
| Field Service | fsl | fsl-standards.mdc | ServiceAppointment / WorkOrder metadata |
| AI / Agentforce | ai | ai-standards.mdc | bots/ / aiApplications/ |
| Slack | slack | slack-standards.mdc | slack.json / manifest.json |
| Tableau | tableau | tableau-standards.mdc | datasources/ / workbooks/ |
| Experience Cloud | experience-cloud | experience-cloud-standards.mdc | experiences/ / sites/ |
| Release Manager | release-manager | release-manager-standards.mdc | sfdx-project.json / force-app/ |
| Financial Services Cloud | fsc | fsc-standards.mdc | FinServ__FinancialAccount__c / rollup CMDT |
Profiles are combinable. All rules use alwaysApply: true so every AI agent in the project has full context.
Sub-agent Protocol
When multiple profiles are active, sf setup-agents local generates .cursor/rules/sub-agent-protocol.mdc — a routing manifest that tells AI agents which role handles which task type:
## Active Profiles
| Role | Rule File |
|-------------------------------|----------------------------|
| Developer | developer-standards.mdc |
| Analytics Engineer (CRMA) | analytics-standards.mdc |
| Data Cloud Engineer | data360-standards.mdc |
## Task-to-Profile Routing
| Task Type | Assigned Role |
|----------------------------------------|---------------------|
| Apex / LWC / Triggers | Developer |
| Recipes / Dataflows / SAQL | Analytics Engineer |
| Data Streams / Identity Resolution | Data Cloud Engineer |Agentforce Workflows
When --rules agentforce is used on a Salesforce project, the plugin generates workflow files in .a4drules/workflows/ that can be invoked in the Agentforce Vibes extension chat with /[workflow-name.md].
| Workflow | Trigger | Description |
| ------------------------- | --------- | --------------------------------------------- |
| deploy.md | Always | Guided Salesforce component deploy |
| run-tests.md | Always | Run Apex test classes with coverage |
| validate.md | Always | Validate-only deploy (CI-safe) |
| create-apex-class.md | Developer | Create Apex class following project standards |
| create-lwc.md | Developer | Scaffold LWC with SLDS best practices |
| create-trigger.md | Developer | Create trigger using Kevin O'Hara pattern |
| adr.md | Architect | Architecture Decision Record template |
| release.md | DevOps | Release checklist and deployment plan |
| create-scratch-org.md | DevOps | Scratch org setup with permission sets |
| run-playwright.md | QA | Run Playwright tests and capture report |
| generate-test-report.md | QA | Generate test coverage report |
| sprint-plan.md | PM | Create sprint plan with Gantt timeline |
| status-report.md | PM | Generate weekly status report |
| risk-register.md | PM | Maintain project risk register |
| deploy-analytics.md | CRMA | Deploy CRM Analytics dashboards and dataflows |
AI Skills
The plugin generates reusable AI skills (.cursor/skills/ for Cursor, portable markdown for other tools) for profiles that need them.
| Skill | Generated For | Description |
| --------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------ |
| Story Mapping | BA, PM, Architect | Jeff Patton–style story maps rendered as Mermaid diagrams (PDF) |
| Deploy & Validate | Developer, Architect, DevOps | Guided deploy/validate using @jterrats/profiler and @jterrats/smart-deployment plugins |
| Diagram Export | BA, PM, Architect, Developer | Export Mermaid diagrams to Lucidchart (API), draw.io (XML), or local SVG/PDF with auto-detection |
Install
sf plugins install @jterrats/setup-agentsRequirements
- Salesforce CLI (
sf) v2+ - Node.js >= 18
Commands
sf setup-agents canvas cleansf setup-agents canvas statussf setup-agents canvas syncsf setup-agents dashboardsf setup-agents decision addsf setup-agents decision listsf setup-agents evidence addsf setup-agents evidence listsf setup-agents exportsf setup-agents handoff createsf setup-agents handoff listsf setup-agents importsf setup-agents initsf setup-agents localsf setup-agents mcpsf setup-agents review completesf setup-agents review listsf setup-agents review requestsf setup-agents statussf setup-agents syncsf setup-agents task archivesf setup-agents task claimsf setup-agents task createsf setup-agents task deletesf setup-agents task donesf setup-agents task listsf setup-agents task updatesf setup-agents task viewsf setup-agents updatesf setup-agents verifysf setup-agents workflow benchmarksf setup-agents workflow clarifysf setup-agents workflow clarify-listsf setup-agents workflow clarify-respondsf setup-agents workflow estimatesf setup-agents workflow executesf setup-agents workflow gatesf setup-agents workflow pendingsf setup-agents workflow playbookssf setup-agents workflow release-checksf setup-agents workflow rollbacksf setup-agents workflow runsf setup-agents workflow sprint closesf setup-agents workflow sprint startsf setup-agents workflow sprint velocitysf setup-agents workflow telemetry
sf setup-agents canvas clean
Remove orphan files from the Cursor canvas cache.
USAGE
$ sf setup-agents canvas clean [--json] [--flags-dir <value>] [--path <value>] [--yes]
FLAGS
--path=<value> Target repository path (default: git root of current directory).
--yes Skip confirmation prompt and remove orphans immediately.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Remove orphan files from the Cursor canvas cache.
Finds files in `~/.cursor/projects/<slug>/canvases/` that have no matching source canvas in the repo and removes them.
Prompts for confirmation unless `--yes` is supplied or stdout is non-TTY.
EXAMPLES
Remove orphans interactively:
$ sf setup-agents canvas clean
Remove orphans without prompting:
$ sf setup-agents canvas clean --yesSee code: src/commands/setup-agents/canvas/clean.ts
sf setup-agents canvas status
Show the state of Cursor canvas cache entries.
USAGE
$ sf setup-agents canvas status [--json] [--flags-dir <value>] [--path <value>]
FLAGS
--path=<value> Target repository path (default: git root of current directory).
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Show the state of Cursor canvas cache entries.
Lists each source canvas and its state in the Cursor cache: symlink pointing to the correct source (`symlink-ok`),
symlink with a wrong target (`symlink-wrong`), a regular (possibly stale) file (`regular`), or absent from the cache
(`missing`). Also reports orphan cache files with no repo counterpart.
EXAMPLES
Check canvas status for the current repo:
$ sf setup-agents canvas statusSee code: src/commands/setup-agents/canvas/status.ts
sf setup-agents canvas sync
Sync Cursor canvas cache with repo source files.
USAGE
$ sf setup-agents canvas sync [--json] [--flags-dir <value>] [--dry-run] [--init] [--clean] [--path <value>]
FLAGS
--clean Remove orphan files in cache after syncing.
--dry-run Preview changes without writing anything.
--init Create the cache directory if it does not exist.
--path=<value> Target repository path (default: git root of current directory).
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Sync Cursor canvas cache with repo source files.
Replaces each cached `.canvas.tsx` file under `~/.cursor/projects/<slug>/canvases/` with a symlink to the repo source
so edits made outside Cursor are reflected immediately on reopen.
Supported canvas locations (first match wins): `docs/canvases`, `canvases`, `src/canvases`.
EXAMPLES
Sync canvases for the current repo:
$ sf setup-agents canvas sync
Preview without making changes:
$ sf setup-agents canvas sync --dry-run
Initialize cache dir and sync:
$ sf setup-agents canvas sync --init
Sync and remove orphans:
$ sf setup-agents canvas sync --cleanSee code: src/commands/setup-agents/canvas/sync.ts
sf setup-agents dashboard
Generate a delivery dashboard from local workflow state.
USAGE
$ sf setup-agents dashboard [--json] [--flags-dir <value>] [-p <value>] [--open] [-f html|json]
FLAGS
-f, --format=<option> [default: html] Output format: html (default) or json.
<options: html|json>
-p, --output=<value> [default: docs/dashboard.html] Output file path for the HTML dashboard.
--open Open the dashboard in the default browser after generation.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Generate a delivery dashboard from local workflow state.
Reads `.setup-agents/state/tasks.jsonl` and `workflow-runs.jsonl` and produces a standalone HTML dashboard (Chart.js,
SLDS colors) or a JSON metrics payload. No org connection required.
Default output path: `docs/dashboard.html`.
EXAMPLES
Generate dashboard at default path:
$ sf setup-agents dashboard
Custom output path:
$ sf setup-agents dashboard --output reports/delivery.html
Open in browser after generation:
$ sf setup-agents dashboard --open
Print raw JSON metrics:
$ sf setup-agents dashboard --format json
FLAG DESCRIPTIONS
-f, --format=html|json Output format: html (default) or json.
`html` writes a standalone Chart.js file. `json` prints the metrics payload to stdout and does not write a file.
-p, --output=<value> Output file path for the HTML dashboard.
Path where the HTML file will be written. Defaults to `docs/dashboard.html`.See code: src/commands/setup-agents/dashboard.ts
sf setup-agents decision add
Add a setup-agents decision record.
USAGE
$ sf setup-agents decision add -s <value> [--json] [--flags-dir <value>] [-t <value>] [-r <value>] [-p
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--rationale <value>] [--status
proposed|accepted|superseded] [--outcome <value>] [--alternative <value>] [--evidence <value>]
FLAGS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|servic
e|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
-r, --role=<value>
[default: developer] Owning role for this decision.
-s, --summary=<value>
(required) Short decision summary.
-t, --task=<value>
Task or issue id for this decision.
--alternative=<value>
Alternatives considered.
--evidence=<value>
Related evidence ids.
--outcome=<value>
Decision outcome.
--rationale=<value>
Decision rationale.
--status=<option>
[default: accepted] Decision status.
<options: proposed|accepted|superseded>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Add a setup-agents decision record.
Appends a JSON Lines decision entry to `.setup-agents/state/decisions.jsonl`.
Decision records capture selected approaches, rationale, ownership, timestamps, and optional task ids.
EXAMPLES
Add an accepted decision for a task:
$ sf setup-agents decision add --task SA-96 --profile architect --summary "Use native JSONL records" --rationale \
"Keeps setup-agents independent of external engines"
FLAG DESCRIPTIONS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
Record the setup-agents profile responsible for the decision.
-r, --role=<value> Owning role for this decision.
Record the current role or agent owner responsible for the decision.
-s, --summary=<value> Short decision summary.
Describe the decision in one concise sentence.
-t, --task=<value> Task or issue id for this decision.
Associate the decision with a task id such as `SA-96` or `#96`.
--alternative=<value> Alternatives considered.
Comma-separated alternatives considered before this decision.
--evidence=<value> Related evidence ids.
Comma-separated evidence record ids that support this decision.
--outcome=<value> Decision outcome.
Record the outcome text for the decision. When omitted, the status is used.
--rationale=<value> Decision rationale.
Add the reason this decision was made.
--status=proposed|accepted|superseded Decision status.
Set whether the decision is proposed, accepted, or superseded.See code: src/commands/setup-agents/decision/add.ts
sf setup-agents decision list
List setup-agents decision records.
USAGE
$ sf setup-agents decision list [--json] [--flags-dir <value>] [-t <value>] [-r <value>] [-p <value>] [--status <value>] [-l
<value>]
FLAGS
-l, --limit=<value> [default: 20] Maximum records to show.
-p, --profile=<value> Filter by owning setup-agents profile.
-r, --role=<value> Filter by owning role.
-t, --task=<value> Filter by task or issue id.
--status=<value> Filter by decision status.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
List setup-agents decision records.
Reads JSON Lines decision entries from `.setup-agents/state/decisions.jsonl`.
EXAMPLES
List recent decisions:
$ sf setup-agents decision list
List accepted decisions for a task:
$ sf setup-agents decision list --task SA-96 --status accepted
FLAG DESCRIPTIONS
-l, --limit=<value> Maximum records to show.
Limit the number of matching records returned from the end of the decision log.
-p, --profile=<value> Filter by owning setup-agents profile.
Show only decision records owned by the given setup-agents profile.
-r, --role=<value> Filter by owning role.
Show only decision records owned by the given role.
-t, --task=<value> Filter by task or issue id.
Show only decision records associated with the given task id.
--status=<value> Filter by decision status.
Show only decisions matching the given status.See code: src/commands/setup-agents/decision/list.ts
sf setup-agents evidence add
Add a setup-agents evidence record.
USAGE
$ sf setup-agents evidence add -s <value> [--json] [--flags-dir <value>] [-t <value>] [-r <value>] [-p
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--type
command|file|screenshot|trace|report|validation|other] [--kind
command|file|screenshot|trace|report|validation|other] [--source <value>] [--command <value>] [--path <value>]
[--exit-code <value>] [--details <value>]
FLAGS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|servic
e|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
-r, --role=<value>
[default: developer] Owning role for this evidence.
-s, --summary=<value>
(required) Short evidence summary.
-t, --task=<value>
Task or issue id for this evidence.
--command=<value>
Command that produced this evidence.
--details=<value>
Additional evidence details.
--exit-code=<value>
Command exit code.
--kind=<option>
Evidence kind.
<options: command|file|screenshot|trace|report|validation|other>
--path=<value>
Evidence path.
--source=<value>
Evidence source reference.
--type=<option>
[default: other] Evidence type.
<options: command|file|screenshot|trace|report|validation|other>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Add a setup-agents evidence record.
Appends a JSON Lines evidence entry to `.setup-agents/state/evidence.jsonl`.
Evidence records capture validation artifacts such as commands, files, screenshots, traces, reports, or notes.
EXAMPLES
Add command evidence for a task:
$ sf setup-agents evidence add --task SA-96 --profile developer --type command --source "npm run build" \
--summary "Build passed"
FLAG DESCRIPTIONS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
Record the setup-agents profile responsible for the evidence.
-r, --role=<value> Owning role for this evidence.
Record the current role or agent owner responsible for the evidence.
-s, --summary=<value> Short evidence summary.
Describe the evidence in one concise sentence.
-t, --task=<value> Task or issue id for this evidence.
Associate the evidence with a task id such as `SA-96` or `#96`.
--command=<value> Command that produced this evidence.
Record the command string used to produce command evidence.
--details=<value> Additional evidence details.
Add optional supporting details that should be stored with the evidence record.
--exit-code=<value> Command exit code.
Record the exit code for command evidence.
--kind=command|file|screenshot|trace|report|validation|other Evidence kind.
Alias for `--type`.
--path=<value> Evidence path.
Record a file, report, screenshot, or trace path.
--source=<value> Evidence source reference.
Reference a command, file path, URL, report path, trace id, or other source for the evidence.
--type=command|file|screenshot|trace|report|validation|other Evidence type.
Classify the evidence as command, file, screenshot, trace, report, validation, or other.See code: src/commands/setup-agents/evidence/add.ts
sf setup-agents evidence list
List setup-agents evidence records.
USAGE
$ sf setup-agents evidence list [--json] [--flags-dir <value>] [-t <value>] [-r <value>] [-p <value>] [-l <value>]
FLAGS
-l, --limit=<value> [default: 20] Maximum records to show.
-p, --profile=<value> Filter by owning setup-agents profile.
-r, --role=<value> Filter by owning role.
-t, --task=<value> Filter by task or issue id.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
List setup-agents evidence records.
Reads JSON Lines evidence entries from `.setup-agents/state/evidence.jsonl`.
EXAMPLES
List recent evidence:
$ sf setup-agents evidence list
List evidence for a task:
$ sf setup-agents evidence list --task SA-96
FLAG DESCRIPTIONS
-l, --limit=<value> Maximum records to show.
Limit the number of matching records returned from the end of the evidence log.
-p, --profile=<value> Filter by owning setup-agents profile.
Show only evidence records owned by the given setup-agents profile.
-r, --role=<value> Filter by owning role.
Show only evidence records owned by the given role.
-t, --task=<value> Filter by task or issue id.
Show only evidence records associated with the given task id.See code: src/commands/setup-agents/evidence/list.ts
sf setup-agents export
Export setup-agents workspace state to a portable bundle file.
USAGE
$ sf setup-agents export [--json] [--flags-dir <value>] [--output <value>]
FLAGS
--output=<value> Output file path for the export bundle.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Export setup-agents workspace state to a portable bundle file.
Reads all orchestration state from `.setup-agents/state/` (tasks, decisions, evidence, handoffs, reviews) plus
`config.json` and writes them to a `.setup-agents-export.json` file.
The exported bundle preserves setup-agents profile ownership on all records and can be imported into another workspace
using `setup-agents import`.
EXAMPLES
Export workspace state to the default output path:
$ sf setup-agents export
Export to a specific file:
$ sf setup-agents export --output /tmp/my-workspace.setup-agents-export.json
FLAG DESCRIPTIONS
--output=<value> Output file path for the export bundle.
Path where the export bundle will be written. Defaults to `<cwd>/setup-agents-export-<timestamp>.json`.See code: src/commands/setup-agents/export.ts
sf setup-agents handoff create
Create a setup-agents handoff record.
USAGE
$ sf setup-agents handoff create -s <value> --from <value> --to <value> [--json] [--flags-dir <value>] [-t <value>] [-r
<value>] [-p developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|servi
ce|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--files <value>] [--changed-file
<value>] [--risks <value>] [--risk <value>] [--next-actions <value>] [--next-action <value>] [--evidence <value>]
FLAGS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|servic
e|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
-r, --role=<value>
[default: developer] Owning role for this handoff.
-s, --summary=<value>
(required) Short handoff summary.
-t, --task=<value>
Task or issue id for this handoff.
--changed-file=<value>
Changed file paths.
--evidence=<value>
Related evidence ids.
--files=<value>
Changed files.
--from=<value>
(required) Source role or profile.
--next-action=<value>
Next actions.
--next-actions=<value>
Next actions.
--risk=<value>
Known risks.
--risks=<value>
Known risks.
--to=<value>
(required) Target role or profile.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Create a setup-agents handoff record.
Appends a JSON Lines handoff entry to `.setup-agents/state/handoffs.jsonl`.
Handoff records capture role-to-role transfer summaries, ownership, task ids, changed files, risks, and next actions.
EXAMPLES
Create a handoff from developer to QA:
$ sf setup-agents handoff create --task SA-96 --from developer --to qa --files "src/foo.ts,test/foo.test.ts" \
--summary "Commands implemented and ready for verification"
FLAG DESCRIPTIONS
-p, --profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Owning setup-agents profile.
Record the setup-agents profile responsible for this handoff record.
-r, --role=<value> Owning role for this handoff.
Record the current role or agent owner responsible for this handoff record.
-s, --summary=<value> Short handoff summary.
Describe the handoff in one concise sentence.
-t, --task=<value> Task or issue id for this handoff.
Associate the handoff with a task id such as `SA-96` or `#96`.
--changed-file=<value> Changed file paths.
Alias for `--files`.
--evidence=<value> Related evidence ids.
Comma-separated evidence record ids that support this handoff.
--files=<value> Changed files.
Comma-separated list of files relevant to the handoff.
--from=<value> Source role or profile.
Record who is handing off the work.
--next-action=<value> Next actions.
Alias for `--next-actions`.
--next-actions=<value> Next actions.
Record concise next actions for the receiving role.
--risk=<value> Known risks.
Alias for `--risks`.
--risks=<value> Known risks.
Record known risks, gaps, or review concerns.
--to=<value> Target role or profile.
Record who should receive the handoff.See code: src/commands/setup-agents/handoff/create.ts
sf setup-agents handoff list
List setup-agents handoff records.
USAGE
$ sf setup-agents handoff list [--json] [--flags-dir <value>] [-t <value>] [-r <value>] [-p <value>] [--from <value>] [--to
<value>] [-l <value>]
FLAGS
-l, --limit=<value> [default: 20] Maximum records to show.
-p, --profile=<value> Filter by owning setup-agents profile.
-r, --role=<value> Filter by owning role.
-t, --task=<value> Filter by task or issue id.
--from=<value> Filter by source role or profile.
--to=<value> Filter by target role or profile.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
List setup-agents handoff records.
Reads JSON Lines handoff entries from `.setup-agents/state/handoffs.jsonl`.
EXAMPLES
List recent handoffs:
$ sf setup-agents handoff list
List handoffs for a task:
$ sf setup-agents handoff list --task SA-96
FLAG DESCRIPTIONS
-l, --limit=<value> Maximum records to show.
Limit the number of matching records returned from the end of the handoff log.
-p, --profile=<value> Filter by owning setup-agents profile.
Show only handoff records owned by the given setup-agents profile.
-r, --role=<value> Filter by owning role.
Show only handoff records owned by the given role.
-t, --task=<value> Filter by task or issue id.
Show only handoff records associated with the given task id.
--from=<value> Filter by source role or profile.
Show only handoffs from the given role or profile.
--to=<value> Filter by target role or profile.
Show only handoffs to the given role or profile.See code: src/commands/setup-agents/handoff/list.ts
sf setup-agents import
Import setup-agents workspace state from an export bundle file.
USAGE
$ sf setup-agents import --file <value> [--json] [--flags-dir <value>] [--on-conflict skip|overwrite] [--dry-run]
FLAGS
--dry-run Preview what would be imported without writing any files.
--file=<value> (required) Path to the export bundle file.
--on-conflict=<option> [default: skip] How to handle records whose id already exists in the workspace.
<options: skip|overwrite>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Import setup-agents workspace state from an export bundle file.
Reads a `.setup-agents-export.json` bundle and appends its records into the current workspace's `.setup-agents/state/`
JSONL files.
Validates the bundle format before importing. Existing records with the same id are either skipped or overwritten
depending on `--on-conflict`. Use `--dry-run` to preview changes without writing anything.
EXAMPLES
Import from a bundle file (default: skip conflicts):
$ sf setup-agents import --file ./setup-agents-export-1234567890.json
Import and overwrite conflicting records:
$ sf setup-agents import --file ./bundle.setup-agents-export.json --on-conflict overwrite
Preview import without writing:
$ sf setup-agents import --file ./bundle.setup-agents-export.json --dry-run
FLAG DESCRIPTIONS
--dry-run Preview what would be imported without writing any files.
Runs validation and conflict resolution but does not write any JSONL records. Useful for auditing a bundle before
committing to the import.
--file=<value> Path to the export bundle file.
Path to a `.setup-agents-export.json` bundle produced by `setup-agents export`.
--on-conflict=skip|overwrite How to handle records whose id already exists in the workspace.
Set to `skip` (default) to leave existing records untouched, or `overwrite` to append the incoming record on top of
the existing one.See code: src/commands/setup-agents/import.ts
sf setup-agents init
Initialize setup-agents workspace configuration.
USAGE
$ sf setup-agents init [--json] [--flags-dir <value>] [--mode project|advisory] [--advisory] [--profile
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--tools
cursor|vscode|codex|claude|agentforce|windsurf|jetbrains] [-f] [--commit] [--dry-run]
FLAGS
-f, --force
Overwrite existing workspace config.
--advisory
Persist advisory mode.
--commit
Add team setup note to README.md.
--dry-run
Preview changes without writing.
--mode=<option>
[default: project] Workspace mode to persist.
<options: project|advisory>
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cp
q|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profiles to persist (comma-separated).
--tools=cursor|vscode|codex|claude|agentforce|windsurf|jetbrains
AI tools to persist (comma-separated).
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Initialize setup-agents workspace configuration.
Creates `.setup-agents/config.json` in the current project directory with default setup-agents workspace settings.
The config stores the plugin version, workspace mode, selected profiles, selected tools, and native orchestration
settings.
Use project mode for a normal repository workspace. Use advisory mode for consultative setup defaults outside a
project workspace.
EXAMPLES
Initialize project workspace config with detected defaults:
$ sf setup-agents init
Initialize advisory workspace config:
$ sf setup-agents init --mode advisory
Initialize with explicit profiles and tools:
$ sf setup-agents init --profile developer,architect --tools codex,claude
Recreate an existing config:
$ sf setup-agents init --force
Initialize and add team setup instructions to README.md:
$ sf setup-agents init --commit
FLAG DESCRIPTIONS
-f, --force Overwrite existing workspace config.
Force overwrite of `.setup-agents/config.json` if it already exists.
--advisory Persist advisory mode.
Shortcut for `--mode advisory`.
--commit Add team setup note to README.md.
After writing `.setup-agents/config.json`, appends a short "Team Setup" section to `README.md` (creates it if
missing) instructing teammates to run `sf setup-agents local` after cloning to generate their AI rule files from the
committed config.
--dry-run Preview changes without writing.
Show what would be written without modifying any files.
--mode=project|advisory Workspace mode to persist.
Set the workspace mode stored in `.setup-agents/config.json`. Valid options are `project` and `advisory`.
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profiles to persist (comma-separated).
Specify one or more role profiles as a comma-separated list.
When omitted, the command runs a short guided onboarding: first a role question, then a clouds/products question,
then an optional advanced full-list picker. If no profile is selected, `developer` is used as the default.
--tools=cursor|vscode|codex|claude|agentforce|windsurf|jetbrains AI tools to persist (comma-separated).
Specify one or more AI coding tools as a comma-separated list. Valid options are `cursor`, `vscode`, `codex`,
`claude`, or `agentforce`.
When omitted, the command auto-detects tools present in the project; if none are found, all supported tools are
stored.See code: src/commands/setup-agents/init.ts
sf setup-agents local
Configure AI agent rules for the local development environment.
USAGE
$ sf setup-agents local [--json] [--flags-dir <value>] [--rules
cursor|vscode|codex|claude|agentforce|windsurf|jetbrains] [--profile
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [-f] [--open-orchestra] [--advisory] [--scope
project|user]
FLAGS
-f, --force
Overwrite existing rule files.
--advisory
Generate advisory role guidance without project-scoped rule files.
--open-orchestra
Generate optional Open Orchestra integration artifacts.
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cp
q|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profiles to configure (comma-separated).
--rules=cursor|vscode|codex|claude|agentforce|windsurf|jetbrains
Target AI tool to configure (cursor, vscode, codex, claude, agentforce).
--scope=<option>
Cursor rule scope: project (default) or user (~/.cursor/rules).
<options: project|user>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Configure AI agent rules for the local development environment.
Sets up agent rule files for AI coding assistants in the current project directory.
Supported tools:
- **cursor** — Creates `.cursor/rules/agent-guidelines.mdc` and per-profile rule files for Cursor AI.
- **vscode** — Creates `.github/copilot-instructions.md` and `.vscode/extensions.json` for GitHub Copilot.
- **codex** — Creates `AGENTS.md` for OpenAI Codex CLI.
- **claude** — Creates `CLAUDE.md` for Anthropic Claude Code.
- **agentforce** — Creates `.a4drules/` numbered markdown files for Agentforce Vibes Extension.
If `--rules` is omitted, the command auto-detects installed tools based on existing directories
(`.cursor`, `.vscode`, `AGENTS.md`, `CLAUDE.md`, `.a4drules`). If none are detected, all tools are configured.
If `--profile` is omitted, the command auto-detects profiles from the project structure and
presents a selection prompt. If nothing is selected, the `developer` profile is used by default.
Use `--force` to overwrite existing files (useful when running `sf setup-agents update` under the hood).
EXAMPLES
Configure all detected AI tools with interactive profile selection:
$ sf setup-agents local
Configure only Cursor rules:
$ sf setup-agents local --rules cursor
Configure only GitHub Copilot instructions for VS Code:
$ sf setup-agents local --rules vscode
Configure only Codex (AGENTS.md):
$ sf setup-agents local --rules codex
Configure Claude Code (CLAUDE.md):
$ sf setup-agents local --rules claude
Configure Agentforce Vibes rules:
$ sf setup-agents local --rules agentforce
Configure with a specific profile:
$ sf setup-agents local --profile developer
Configure with multiple combined profiles:
$ sf setup-agents local --profile developer,architect,cgcloud
Configure QA automation profile:
$ sf setup-agents local --profile qa
Force overwrite all existing rule files:
$ sf setup-agents local --force
Generate optional Open Orchestra integration artifacts:
$ sf setup-agents local --open-orchestra
Generate advisory guidance outside a project workspace:
$ sf setup-agents local --advisory --profile architect,ba
FLAG DESCRIPTIONS
-f, --force Overwrite existing rule files.
Force overwrite of all generated files, even if they already exist.
Use this flag after updating your profiles or when the plugin version has changed.
--advisory Generate advisory role guidance without project-scoped rule files.
Create `.setup-agents/advisory/` with consultative role guidance for sessions outside a project workspace.
Advisory mode does not create `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/`, `.codex/`, or `.a4drules/`.
--open-orchestra Generate optional Open Orchestra integration artifacts.
Create `.setup-agents/open-orchestra/` with profile-to-role mapping and boundary documentation.
This does not install Open Orchestra or enable runtime orchestration by default.
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profiles to configure (comma-separated).
Specify one or more role profiles as a comma-separated list. Each profile generates a dedicated
rule file with role-specific agent guidance and adds the relevant VS Code extensions.
Valid profiles: developer, architect, ba, pm, mulesoft, ux, cgcloud, devops, qa, crma, commerce, data360, admin,
sfmc, security, service, cpq, omnistudio, fsl, ai, slack, tableau
When omitted, the command auto-detects profiles from the project structure and presents an
interactive multi-select prompt. If no profile is selected, `developer` is used as the default.
--rules=cursor|vscode|codex|claude|agentforce|windsurf|jetbrains
Target AI tool to configure (cursor, vscode, codex, claude, agentforce).
Specify which AI coding assistant to configure. Valid options are `cursor`, `vscode`, `codex`, `claude`, or
`agentforce`.
When omitted, the command auto-detects tools present in the project; if none are found, all tools are configured.
--scope=project|user Cursor rule scope: project (default) or user (~/.cursor/rules).
Controls where Cursor rule files are written. Use `user` to install rules globally in `~/.cursor/rules` so they
apply to every project. Defaults to `project` (writes to `.cursor/rules/` in the current workspace).See code: src/commands/setup-agents/local.ts
sf setup-agents mcp
Configure Cursor MCP servers for Salesforce orgs.
USAGE
$ sf setup-agents mcp [--json] [--flags-dir <value>] [--target-org myOrgAlias] [--profile
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--all-toolsets] [-g]
FLAGS
-g, --global
Write to the global ~/.cursor/mcp.json instead of the project-level .cursor/mcp.json.
--all-toolsets
Enable all MCP toolsets regardless of profile.
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cp
q|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profile(s) used to determine MCP toolsets.
--target-org=myOrgAlias
Salesforce org alias or username to configure.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Configure Cursor MCP servers for Salesforce orgs.
Sets up Cursor's Micro-Agent Collaboration Protocol (MCP) configuration for one or more
Salesforce orgs using `@salesforce/mcp`. This allows Cursor AI to interact directly with
your Salesforce org metadata, data, users, and testing tools via tool calls.
The command writes (or merges into) a `.cursor/mcp.json` file with an MCP server entry per
selected org. Use `--global` to write to the user-level `~/.cursor/mcp.json` instead.
Toolsets included by default (based on profile):
- **metadata** — SFDX metadata read/deploy tools.
- **data** — SOQL and org data inspection tools.
- **testing** — Apex and project testing tools.
- **users** — permission set and user management tools.
If `--target-org` is omitted, all authenticated orgs are listed for interactive selection.
EXAMPLES
Configure MCP for all authenticated orgs (interactive):
$ sf setup-agents mcp
Configure MCP for a specific org:
$ sf setup-agents mcp --target-org myOrgAlias
Configure MCP globally (all projects):
$ sf setup-agents mcp --global --target-org myOrgAlias
Configure MCP with toolsets for the developer profile:
$ sf setup-agents mcp --profile developer --target-org myOrgAlias
Configure MCP with all toolsets:
$ sf setup-agents mcp --all-toolsets --target-org myOrgAlias
FLAG DESCRIPTIONS
-g, --global Write to the global ~/.cursor/mcp.json instead of the project-level .cursor/mcp.json.
When set, the MCP server entries are added to `~/.cursor/mcp.json`, making them available
across all Cursor projects on this machine.
--all-toolsets Enable all MCP toolsets regardless of profile.
Force-enable all available MCP toolsets for every org configured.
--profile=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Role profile(s) used to determine MCP toolsets.
Comma-separated list of role profiles. Each profile maps to a subset of MCP toolsets.
If omitted, all available MCP toolsets are enabled.
--target-org=myOrgAlias Salesforce org alias or username to configure.
Specify a single org alias or username. An MCP server entry will be added for this org.
Omit to select from all authenticated orgs interactively.See code: src/commands/setup-agents/mcp.ts
sf setup-agents review complete
Complete a setup-agents review.
USAGE
$ sf setup-agents review complete --id <value> --result approved|blocked|changes [--json] [--flags-dir <value>] [--reviewer
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--findings <value>] [--recommendation <value>]
FLAGS
--findings=<value>
Review findings.
--id=<value>
(required) Review record id.
--recommendation=<value>
Review recommendation.
--result=<option>
(required) Review outcome.
<options: approved|blocked|changes>
--reviewer=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|c
pq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Profile completing the review.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Complete a setup-agents review.
Appends an updated JSON Lines review entry to `.setup-agents/state/reviews.jsonl` with the final result.
The result must be `approved`, `blocked`, or `changes`.
EXAMPLES
Approve a review:
$ sf setup-agents review complete --id setup-agents-review-1234567-abc123 --result approved --reviewer qa \
--findings "All acceptance criteria met"
Block a review with changes needed:
$ sf setup-agents review complete --id setup-agents-review-1234567-abc123 --result changes --reviewer security \
--findings "Missing input validation" --recommendation "Add gate check before status update"
FLAG DESCRIPTIONS
--findings=<value> Review findings.
Summarize what was found during the review.
--id=<value> Review record id.
The id of the review record to complete.
--recommendation=<value> Review recommendation.
Describe the recommended next action after this review.
--result=approved|blocked|changes Review outcome.
Final result of the review: `approved`, `blocked`, or `changes`.
--reviewer=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Profile completing the review.
The setup-agents profile acting as reviewer, stored as `setup-agents:<profile>`.See code: src/commands/setup-agents/review/complete.ts
sf setup-agents review list
List setup-agents review records.
USAGE
$ sf setup-agents review list [--json] [--flags-dir <value>] [--status pending|approved|blocked|changes] [-t <value>] [-l
<value>]
FLAGS
-l, --limit=<value> [default: 20] Maximum records to show.
-t, --task=<value> Filter by task or issue id.
--status=<option> Filter by review status.
<options: pending|approved|blocked|changes>
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
List setup-agents review records.
Reads JSON Lines review entries from `.setup-agents/state/reviews.jsonl`.
EXAMPLES
List pending reviews:
$ sf setup-agents review list --status pending
List reviews for a task:
$ sf setup-agents review list --task SA-98
FLAG DESCRIPTIONS
-l, --limit=<value> Maximum records to show.
Limit the number of matching records returned from the end of the review log.
-t, --task=<value> Filter by task or issue id.
Show only review records associated with the given task id.
--status=pending|approved|blocked|changes Filter by review status.
Show only reviews with the given status: `pending`, `approved`, `blocked`, or `changes`.See code: src/commands/setup-agents/review/list.ts
sf setup-agents review request
Request a setup-agents review.
USAGE
$ sf setup-agents review request -s <value> [--json] [--flags-dir <value>] [-t <value>] [--requester
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--reviewer
developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnist
udio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc] [--gate <value>] [--evidence <value>]
FLAGS
-s, --summary=<value>
(required) Short review summary.
-t, --task=<value>
Task or issue id for this review.
--evidence=<value>
Related evidence ids.
--gate=<value>
Gate or quality check names.
--requester=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|
cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
[default: developer] Profile requesting the review.
--reviewer=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|c
pq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Profile assigned to review.
GLOBAL FLAGS
--flags-dir=<value> Import flag values from a directory.
--json Format output as json.
DESCRIPTION
Request a setup-agents review.
Appends a JSON Lines review entry to `.setup-agents/state/reviews.jsonl` with status `pending`.
Review records capture the requester, optional reviewer, gates, task ids, and related evidence ids.
EXAMPLES
Request a security review for a task:
$ sf setup-agents review request --task SA-98 --requester developer --reviewer security --gate readiness \
--summary "Review gate: native review commands implementation"
FLAG DESCRIPTIONS
-s, --summary=<value> Short review summary.
Describe what is being reviewed in one concise sentence.
-t, --task=<value> Task or issue id for this review.
Associate the review with a task id such as `SA-98` or `#98`.
--evidence=<value> Related evidence ids.
Comma-separated evidence record ids that support this review.
--gate=<value> Gate or quality check names.
Comma-separated gate names required for this review, such as `readiness,security`.
--requester=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Profile requesting the review.
The setup-agents profile that is requesting the review, stored as `setup-agents:<profile>`.
--reviewer=developer|architect|ba|pm|mulesoft|ux|cgcloud|devops|qa|crma|commerce|data360|admin|sfmc|security|service|cpq|omnistudio|fsl|ai|slack|tableau|experience-cloud|release-manager|fsc
Profile assigned to review.
Optionally assign a specific setup-agents profile as reviewer.See code: src/commands/setup-agents/review/request.ts
