ElasticFunnels CLI

Ship funnels from the command line.

Meet ef, the ElasticFunnels CLI. Pull your pages, components, backend scripts, and assets into a folder, edit them in Cursor or any editor, and push them back. Let Claude Code, Codex, or your own scripts build and ship the whole funnel.

npm i -g @elasticfunnels/cli ยท Requires Node.js 18 or newer

Why a CLI

The editor is great. Some jobs still belong in a terminal.

Fifty pages to update, a review before it goes live, a repeatable deploy. Clicking through a GUI is the slow way to do all three.

Bulk edits crawl in a GUI

Changing one line across forty landing pages by hand is an afternoon. A loop over ef push is a coffee.

No real review before live

Edits in a builder go straight to the page. With files on disk you branch, open a PR, and merge to publish.

Agents cannot click

Claude Code and Codex do not use a mouse. They need a command that speaks JSON and returns a clean exit code.

Three commands to live

Install, bind, sync.

No dashboard tour. The folder you bind is interchangeable with the VS Code extension.

1

Install once

npm i -g @elasticfunnels/cli and run ef --help. One binary, two dependencies, Node 18 or newer.

2

Bind the folder

ef init stores your brand and API key in .ef/, then adds it to .gitignore so a key never lands in a commit.

3

Pull, edit, push

ef pull brings everything down. Edit in any tool. ef push sends it back, with a 409 guard if the server moved on.

What ef does

Your whole brand, as files you control.

One tool for pages, components, backend scripts, assets, products, and variables.

Full two-way sync

ef pull and ef push move pages, components, backend scripts, assets, and variables between the server and your folder.

Version control that fits

Your funnel lives in real files. Commit them, branch them, review them in a pull request, then push the merge.

Build pages with AI agents

Point Claude Code, Codex, or Cursor at the folder and let it create, edit, and publish pages. Every command speaks --json and exits with a stable code.

CI/CD pipelines

Set EF_API_KEY, run ef push --all in a GitHub Action, and deploy on merge. Check the plan first with --dry-run.

Products and assets

Create and update products, bulk-upload assets, and manage brand variables without leaving the terminal.

Folder-scoped and safe

Each folder binds to one brand. The key lives in .ef/auth (chmod 600) and never prints to stdout. No wrong-brand pushes.

Build with AI agents

Let Claude Code and Codex build your funnel.

Point Cursor, Claude Code, or Codex at the folder and it drives ef directly: create a page, edit the copy, publish. Clean, predictable output keeps the agent on track.

--json on every command. Data on stdout, logs on stderr, so pipes stay clean.

Stable exit codes: 0 success, 3 auth, 4 conflict, 5 network, 7 not found. Scripts branch on results.

ef push --dry-run prints the plan without touching the server or your disk.

Optimistic concurrency: a stale push returns 409 and exits 4 instead of clobbering newer work.

ef diff shows local-vs-server drift before you push a thing.

CI/CD

Deploy your funnel on merge.

Keep your pages in Git. Wire one step into GitHub Actions and every merge to main publishes. Roll back by reverting a commit.

Authenticate with EF_API_KEY, no interactive login on the runner.

Preview branches with --draft, publish main with --direct.

Fast on big brands: pulls and pushes run with bounded concurrency.

Same files as the extension

One layout. Two tools. No lock-in.

The CLI writes the exact efmeta headers the VS Code extension does, into the same folder shape. Prefer the editor some days and the terminal others.

Identical elasticfunnels/ tree: pages, components, scripts, assets, variables.

A .ef file saved by either tool round-trips byte-for-byte.

Optional .ef syntax highlighting for Cursor, VS Code, and VSCodium via ef install-highlighter.

FAQ

CLI and AI agents, answered.

Common questions about running ElasticFunnels from the terminal, CI, and AI coding agents like Claude Code, Codex, and Cursor.

Can I build landing pages with Claude Code?

Yes. Run ef init to bind a folder, then let Claude Code run ef pull, edit the .ef files, and ef push. It creates, edits, and publishes pages the same way you would by hand.

Does the ElasticFunnels CLI work with Cursor?

Yes. The Cursor agent runs ef straight from the terminal, and ef install-highlighter adds .ef syntax highlighting to Cursor, VS Code, and VSCodium.

Can Codex or another AI agent edit and publish my funnel?

Yes. Every command takes --json and returns a stable exit code, so Codex, Claude Code, or any agent can branch on the result and publish with ef push --direct.

How does an AI agent avoid overwriting newer changes?

ef push uses optimistic concurrency. A stale push returns a 409 and exits 4 without writing, so the agent pulls, merges, and retries instead of clobbering newer work.

Do I have to hand the agent an API key?

Set EF_API_KEY once in the environment. The key is stored in .ef/auth (chmod 600), never prints to stdout, and .ef/ is git-ignored automatically.

What can the CLI build besides pages?

Pages, components, backend scripts, assets, products, and brand variables, so an agent can scaffold a whole funnel end to end from one folder.

Icon

Start Building

Put your funnel under version control today.

Create a free brand, run ef init, and pull it into your terminal in under two minutes.