//_features //_setup //_cli //_docs

apx

VS Code Extension + Salesforce CLI

Scaffold Apex Enterprise Pattern (fflib / AT4DX) selectors, domains, services and unit-of-work — without looking up a single flag.

Apx generates the boilerplate for Apex Enterprise Patterns from a described SObject: selector, domain, service and unit-of-work artifacts, plus AT4DX selector-injection and domain-process metadata. Choose fflib or AT4DX flavor, pick your SObject from a list, and get classes, interfaces, triggers, tests and metadata generated together — you don't need to memorize a single CLI flag.

// what it does

No flags, no lookups

Every option is a prompt — pick your org from a list, select your SObject and target folder from the workspace, choose settings with a checkbox. You never need to remember a flag name or look up a file path.

Everything where you already are

All commands are one click away in the Apx sidebar, organized by pattern layer. Or reach them from the Command Palette without breaking your keyboard flow. No terminal tab-switching, no documentation hunting.

One flavor, chosen up front

AT4DX and fflib are mutually exclusive, so the flavor picker is a single-select QuickPick you set once per run. The aggregate Generate command validates that at least one artifact group — selector, domain, or unit of work — is actually selected before it runs.

// setup

1. Install the extension

Search "Apx" in the VS Code Extensions view, or install directly from the Marketplace.

Open in Marketplace →

2. Install SF CLI + apx plugin

sf plugins install \
  @syntax-syllogism/apx

Requires the Salesforce CLI (sf). The extension detects the plugin on first run and offers an install action if it's missing.

3. Run a command

Open the Apx sidebar or launch the Command Palette (SF Apx: …), pick a command, and follow the prompts.

Set a default org with the apx.defaultTargetOrg setting to skip the org picker.

// powered by the apx CLI

The extension is a guided front end for the @syntax-syllogism/apx sf plugin. Prefer the terminal or running in CI? The same workflows are a direct sf command away.

terminal — apx
# scaffold a full AT4DX domain layer for an SObject
$ sf apx generate domain --target-org myOrg --sobject Account --at4dx

# scaffold just a selector, fflib flavor
$ sf apx generate selector --target-org myOrg --sobject Account --fflib