Replaces the `npx firecrawl-agent-cli` delegator with an in-process
scaffolder vendored from firecrawl/firecrawl-agent. No separate npm
package for the agent CLI — the root firecrawl-cli clones the public
agent repo at runtime to fetch templates + agent-core.
- Vendor under src/utils/agent-scaffold/ (manifest, scaffold,
credentials, ui, create-flow). Upstream-tracked; keep in sync.
- manifest.ts: strip the "bundled next to CLI" branch (doesn't apply
here), always clone the public repo. Nested-manifest fallback
handles the current `.internal/cli/agent-manifest.json` location.
- Extract handleCreate from upstream init.ts; drop the commander
wrapper since the root CLI owns the command surface.
- create.ts now lazy-imports the scaffolder so non-create paths stay
snappy.
Smoke-tested end-to-end against a local agent repo via --from: next
template scaffolds correctly with agent-core, .env.local, and
expected file layout.
Wires a hidden `firecrawl create <kind>` command tree into the root CLI.
Only the `agent` kind is registered today; it delegates to
`npx -y firecrawl-agent-cli create` with full flag passthrough so the
agent repo remains the single source of truth for templates.
The command is hidden from --help until `firecrawl-agent-cli` is on
npm. Flip to visible by removing `{ hidden: true }` in index.ts.
Surface:
firecrawl create agent [name] [-t next|express|library]
firecrawl create agent [name] --provider <p> --model <m>
firecrawl create agent [name] --api-key <fc-key> --key anthropic=sk-...
firecrawl create agent [name] --from user/repo
During install, show "Installing core firecrawl skills..." and
"Installing skills to build with firecrawl..." instead of the raw repo
names firecrawl/cli and firecrawl/skills. SKILL_REPO_LABELS map drives
the friendly text.
In the next-steps summary, split into two distinct groupings:
1. "Connect & interact with the web (direct or in your AI agent)"
with scrape/search/interact examples showing the natural language
prompt next to the equivalent CLI command.
2. "Building with firecrawl?" at the bottom, pointing at the build
skills with a concrete business example.
MCP + --help entries sit between the two sections as general utilities.
Bumped to 1.14.7.
gh pr merge --auto requires branch protection with required status
checks on the target branch. firecrawl-claude-plugin and
firecrawl-cursor-plugin don't have that configured, so the workflows
fail with "Protected branch rules not configured for this branch
(enablePullRequestAutoMerge)" after successfully creating the PR.
There's nothing to wait for on a sync PR anyway, so drop --auto and
merge immediately.
Parse '(Found|Installed) N skills' from captured npx skills output and
sum across both repos so the post-install summary shows
"✓ Installed 14 skills across your AI coding agents" instead of vague
text.
Collapse the next-steps block from 18 lines to 7: drop the 4 example
prompts in favor of one of each (AI prompt + direct CLI), plus the
MCP install hint and the --help pointer. Each entry uses padded labels
("Ask your AI:", "Run direct: ", "Add MCP: ", "All commands:") so
the commands align in a column.
stepIntegrations and runNonInteractive both thread the count through
to printNextSteps. Tests still mock execSync as undefined, so
parseSkillCount handles the empty case. Bumped to 1.14.3.
Replace the noisy 'npx skills add' inherited stdout (banner, +/symlink
table, security report, ~80 lines per repo) with a single line per repo:
" ✓ firecrawl/cli" / " ✓ firecrawl/skills". TTY runs get a transient
"↓ <repo>" indicator while the install is in flight; non-TTY runs (CI,
piped) get only the final line.
Replace the trailing "Setup complete!" line with a printNextSteps()
block that surfaces:
- what just happened (skills installed globally)
- what firecrawl is for (search, scrape, crawl, interact)
- 4 example prompts (2 build-skill triggers, 2 direct CLI calls)
- pointer to firecrawl --help
Both interactive and non-interactive init paths use the same helpers,
so output is consistent regardless of how users enter the flow.
Bumped to 1.14.2.
when this cli is launched via 'npx -y firecrawl-cli@VERSION', npm injects
npm_command/npm_lifecycle_event/npm_execpath/INIT_CWD into the process
env. those vars leak into nested execSync('npx -y skills add ...') calls
and cause the loop's second iteration to silently exit after the first
install completes — published 1.14.0 only installs from firecrawl/cli
even though SKILL_REPOS contains both repos.
cleanNpmEnv() in skills-install.ts strips those vars; init.ts and
setup.ts pass it as the env to every nested execSync. added a
regression test that primes process.env with the leaking vars and
asserts every install call sees a clean env. bumped to 1.14.1.
onboarding (init) and setup skills now loop over a SKILL_REPOS list
so both the core cli skills and the build skills repo get installed
through the same npx/native paths. buildSkillsInstallArgs and
installSkillsNative take a repo parameter (defaulting to firecrawl/cli
for back compat). tests updated to assert both install invocations.
- rename skills/firecrawl-instruct → firecrawl-interact + update all cross-references
- hide deprecated browser command from --help (still works when called directly)
- group download, claude, codex, opencode under `firecrawl experimental` (alias: `firecrawl x`)
- remove browser references from passthrough system prompt quick reference