Commit Graph

547 Commits

Author SHA1 Message Date
Max 0c546357df Merge pull request #193 from chenxin-yan/skills/consolidated-docs-fixes
docs(skills): fix command guidance, auth requirements, and workflow drift
2026-08-18 12:43:45 -07:00
Chenxin Yan bb03b0a446 docs(skills): make the feedback example valid for every rating
The collapsed example only sent --missing-content, so substituting
--rating good violated the valuable-sources requirement and the
--silent call swallowed the HTTP 400, silently losing the refund.
Show both --valuable-sources and --missing-content so any rating
substitution satisfies the substantive-content rule.
2026-08-18 15:37:25 -04:00
Chenxin Yan d3d3ff0cc3 docs(skills): use a rating placeholder so feedback examples stay unbiased
A live --rating good default anchors copy-paste agents toward
reporting good and skews the feedback signal. Show a
<good|partial|bad> placeholder that cannot run until the agent
chooses, keep the rating-neutral --missing-content field as the
worked example, and let the rules list govern per-rating required
fields. Applied to both mirrored snippets.
2026-08-18 15:30:10 -04:00
Chenxin Yan c111a31d4b docs(skills): collapse feedback example to one default call
Replace the three parallel rating examples (latterly commented
alternates) with a single guarded good-rating call. The rules list
above already defines per-rating field requirements and the
--missing-content section documents payload shapes, so the extra
examples duplicated both. Follows the default-with-escape-hatch
pattern and matches the mirrored firecrawl skill snippet.
2026-08-18 15:27:54 -04:00
Chenxin Yan adb47cc31d docs(skills): make only one feedback rating live in the guard example
All three rating calls were live sequential commands inside the guard,
so a literal copy-paste submitted three conflicting ratings for one
search id. Keep the good-rating call live and show partial/bad as
commented alternates, matching the "send exactly one" prose.
2026-08-18 15:22:52 -04:00
Chenxin Yan 561776fe23 docs(skills): update stale firecrawl-cli link labels to firecrawl 2026-08-18 15:16:06 -04:00
Chenxin Yan dbfe84c4cc docs(skills): finish firecrawl skill rename and inline the feedback guard
Update the .claude-plugin skill paths missed by the folder rename, and
move the three search-feedback examples inside the guard conditional so
copying any of them cannot bypass the zero-result check.
2026-08-18 15:12:35 -04:00
Chenxin Yan 5f94d6fb6f docs(skills): rename firecrawl-cli skill folder to match its frontmatter name
The installer copies each skill to ~/.agents/skills/<frontmatter-name>/,
and the router skill is named "firecrawl", so ../firecrawl-cli/SKILL.md
links 404ed after install. Rename the folder to skills/firecrawl/ so the
folder and frontmatter agree and cross-skill links resolve both in-repo
and installed.
2026-08-18 14:27:08 -04:00
Chenxin Yan 9e2f5311da docs(skills): make the search-feedback guard actually skip on failure
A bare SEARCH_ID=$(jq -er ...) assignment does not stop the follow-on
search-feedback call when the guard fails (missing file or zero
results), so it fired with an empty id. Wrap the feedback call in the
guard conditional in both mirrored snippets.
2026-08-18 13:54:50 -04:00
Chenxin Yan 6a9f57dc84 docs(skills): clarify auth and API-side behavior 2026-08-18 12:40:20 -04:00
Chenxin Yan d450135f82 docs(skills): fix remaining wrong claims found in review
Adversarial review against src/ surfaced wrong claims that survived the
first audit pass, in the same files this PR touches:

- scrape: -H is --html (raw HTML shortcut), not HTTP headers
- interact: --language does not exist; the CLI uses --node/--python/--bash
- download: the command is only registered as 'firecrawl x download'
  (experimental), so all examples used a nonexistent invocation; the
  'only these options' list omitted --lockdown; the wizard example is
  TTY-only and blocks agents without -y
- search: spell out guard-failure behavior and split the missing-file
  vs stale-file hazards
- scrape/agent: reword confusing multi-URL parenthetical and dedupe the
  --wait tip
- cli: mirror the guarded jq search-id recipe so it doesn't drift from
  the corrected search skill
2026-08-18 12:38:48 -04:00
Chenxin Yan 94a9e27954 docs(skills): clarify multi-URL scrape drops non-markdown formats 2026-08-18 12:38:17 -04:00
Chenxin Yan b1c12404f5 docs(skills): correct behavior claims 2026-08-18 12:38:17 -04:00
Chenxin Yan cbbc62ea0d docs(skills): address review findings
Make download examples safe for non-interactive flows and correct agent JSON guidance in the README. Include skill Markdown in Prettier scripts so formatting drift is caught.
2026-08-18 12:37:02 -04:00
Chenxin Yan 8f2c5f38fc docs(skills): fix broken command examples 2026-08-18 12:37:02 -04:00
Chenxin Yan 4303e02ce5 docs(skills): fix allowed-tools npx pattern and broken workflow links 2026-08-18 12:37:02 -04:00
Chenxin Yan acee3e46c2 remove hard coded version 2026-08-18 12:37:02 -04:00
Richard Oliver Bray 870979ed9b Merge pull request #166 from firecrawl/docs/search-highlights-flag
docs(skills): document --highlights flag in firecrawl-search
2026-08-17 11:00:31 +01:00
Richard Oliver Bray b232c66267 Merge remote-tracking branch 'origin/main' into docs/search-highlights-flag
# Conflicts:
#	skills/firecrawl-search/SKILL.md
2026-08-17 10:49:20 +01:00
Himadri Mishra 23a0df42fe fix: describe the research paper index accurately across CLI surfaces (#186)
* fix(research): describe the real paper corpus in CLI help

Why: over 40 agent traces, 8/8 biomedical CLI runs read the root-help
research line ("Research arXiv papers and GitHub history"), concluded the
index was arXiv-only, and hand-scraped PubMed instead of ever running
`firecrawl research`. The index is ~43M abstracts, ~90% biomedical. The
group description is the single highest-leverage string: it renders both
in `firecrawl --help` and as the `firecrawl research --help` header.

Summary:
- research group description now names the corpus (PubMed/bioRxiv/medRxiv
  plus arXiv), its scale, and routes agents away from hand-scraping.
- search-papers description drops the three "arXiv" claims and names the
  multi-source id forms it actually returns; keeps the load-bearing
  "run several distinct framings" guidance verbatim.
- search-papers --categories only claims what is true: arXiv-style
  taxonomy labels, not applicable to biomedical records.
- search --categories disambiguates `research` (a ~web-domain filter)
  from the paper index, pointing at `research search-papers`. The wire
  value 'research' is unchanged.
- related-papers accepts pmid:/pmcid:/doi:/arxiv: forms in its docs, in
  line with inspect-paper and read-paper.
- research examples now include biomedical ids, not arXiv only.
- cli-argv tests gain the research pair that mirrored `developer`, plus a
  regression guard that root help names the biomedical corpus.

* docs(readme): route paper search to `research`, add its command section

Why: the README taught the wrong tool. "# Find research papers" was
followed by `firecrawl search --categories research`, which is only a
website filter over ordinary web results, not the paper index. README
also had a `###` section for every command except `research`, so the
index had no documentation surface at all, and the tagline omitted both
`research` and `developer`.

Summary:
- the "Find research papers" example now leads with `research
  search-papers`; the `--categories research` example stays but is
  labelled as the website filter it is.
- same disambiguation added to the category example block and the search
  options table.
- new `### research` section beside `developer`: corpus and scale, the
  explicit "not the same as --categories research" note, all five
  subcommands, search-papers options, and workflow tips.
- line-3 tagline now mentions research papers and developer sources.

* chore: add research vocabulary to package metadata, bump to 1.20.0

Why: npm search and package listings carried no research, paper, or
biomedical vocabulary, so the paper index was undiscoverable from outside
the CLI too. Behavioural metadata change across help text, docs, and
skills -> minor bump.

Summary:
- package.json description names the paper index and its sources.
- keywords gain research, paper/literature search, biomedical, pubmed,
  biorxiv, medrxiv, arxiv, life sciences.
- 1.19.31 -> 1.20.0.
- nfpm.yaml and homebrew/firecrawl-cli.rb carry the same one-line
  description; both updated. The brew `desc` is kept under the 80-char
  audit limit.

Note: homebrew/firecrawl-cli.rb `version` is 1.10.0 and is not written by
any release tooling in this repo; left as found rather than guessed at.

* docs(skills): give paper search a routing surface in the CLI skills

Why: agents load skills before they load `--help`. firecrawl-search had a
full "Developer search" section and nothing for research; its options
table listed `research` with no elaboration, so the naming collision with
the paper index was invisible. firecrawl-cli's routing table and "When to
Load References" omitted research entirely, so nothing ever pointed an
agent at `firecrawl research`.

Summary:
- firecrawl-search: new "## Paper search" section parallel to "##
  Developer search" — states plainly that `--categories research` is not
  the paper index, routes to `research search-papers`, and shows the
  find/expand/verify loop with real id forms.
- firecrawl-search: `--categories` options row and "When to use" now
  disambiguate the two; frontmatter description gains literature triggers
  so the skill actually loads on a biomedical task.
- firecrawl-cli: research rows added to the routing table and to "When to
  Load References", both stating the anti-pattern (hand-scraping PubMed).

* docs: stop pinning stale CLI versions in install commands

Why: cubic flagged the README install example pinning firecrawl-cli@1.19.6
while this PR ships 1.20.0. The pin was already 25 patches behind npm's
published 1.19.31, and the same stale pin appeared in five more places in
the bundled skills rules.

Summary: install and run commands now use @latest, matching the convention
the public docs already use in all 30 of their occurrences. That removes the
drift permanently rather than trading one stale pin for another — and avoids
pinning 1.20.0, which is not published yet and would break the documented
one-shot install until release. The illustrative `--status` sample output now
shows the version this PR ships.

Test Plan: pnpm test 422/422, prettier clean, no hard-pinned versions remain
in any markdown file.
v1.20.0
2026-08-12 21:11:09 +05:30
Karan Lokchandani 3852ccee9d release: 1.19.31
The version bump publishes the mechanism-field tolerance change (#184) to npm.
v1.19.31
2026-08-11 09:46:54 +05:30
Karan Lokchandani 959008c1d0 research: stop branching on server mechanism fields 2026-08-11 09:39:48 +05:30
Himadri Mishra 296b5b9766 fix(cli): restore authenticated MCP launch flow (#182)
* fix(cli): restore authenticated MCP launch flow

* test(cli): cover MCP launch credential modes
v1.19.30
2026-08-07 14:26:20 +05:30
Richard Oliver Bray f718a45a93 docs(skills): tighten highlights tip wording 2026-08-06 11:39:46 +01:00
Richard Oliver Bray 0c944c2385 docs(skills): trim highlights tip to match surrounding style 2026-08-06 11:38:01 +01:00
Richard Oliver Bray 9711379c94 Merge remote-tracking branch 'origin/main' into docs/search-highlights-flag
# Conflicts:
#	skills/firecrawl-search/SKILL.md
2026-08-06 11:32:24 +01:00
Karan Lokchandani c0560791de chore(developer): call /v2/search/developer and correct the result default
The developer command called /v2/developer/search. That mount rejects a
keyless caller, so keyless developer search never reached the index. It
is also the path that may be withdrawn. Call /v2/search/developer, the
public path, which accepts a keyless caller.

The API returns 10 results by default, not 20. Correct the help text and
the README.
v1.19.29
2026-08-05 02:13:16 +05:30
Karan Lokchandani 2073405d7f chore: bump CLI package to 1.19.28 (#179)
Release 1.19.27 is on npm, so a publish of the same version fails. This
bump carries --skills-only on the developer command.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
v1.19.28
2026-08-04 02:38:06 +05:30
Karan Lokchandani 80708e4e62 feat(cli): add --skills-only to the developer command
The gateway accepts a `skills` query param on GET /v2/developer/search
(firecrawl/firecrawl#4194): `skills=only` limits the search to
agent-skill files. `--skills-only` maps to that value. The param is
absent from the request when the flag is omitted.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C4vZ6XH65bUJDkLthyfmvC
2026-08-04 02:29:48 +05:30
Kris Oei a151277b48 Merge pull request #175 from firecrawl/feat/developer-search
feat(cli): add the developer category to search
2026-07-31 14:46:18 -07:00
Karan Lokchandani c5eaa68de3 feat(cli): add the developer command
The developer index now has two surfaces, the same as research: the
`developer` category on `firecrawl search`, and a dedicated command.

The command mirrors the research commands. It calls GET
/v2/developer/search, keeps the keyless free-tier path, and renders the
ranked hits as markdown blocks with the passages clipped at 1200
characters; `--json` keeps the full envelope. It takes a query and
`--limit` only; the endpoint accepts no filters, and that narrow
surface is deliberate.

New tests cover the request URL, the readable and JSON output, and the
error path. Two argv tests prove the command appears in the root help
and parses, so a wrapper cannot drop it the way `executeSearch` once
dropped the category group.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C4vZ6XH65bUJDkLthyfmvC
2026-07-31 21:23:15 +05:30
Karan Lokchandani 850f41c260 feat(cli): add the developer category to search
`firecrawl search <query> --categories developer` searches an index built
for coding agents: GitHub issues, merged pull requests, repository
READMEs, and curated documentation sites.

The API already served the category. The CLI rejected the value, and
`executeSearch` copied only `web`, `images`, and `news` out of the
payload. A developer group therefore never reached the caller.

The category is an extra arm, not a filter on the web results, so the API
returns its hits in `data.developer`. The command copies that group
through, prints it under its own heading, and labels the web group when
both are present.

A matched passage runs to several KB. The readable output clips it at 500
characters and names `--json`, which keeps the full text. Without the
clip, three hits flood a terminal.
2026-07-31 19:12:43 +05:30
Himadri Mishra b737ae7c02 fix(cli): harden init MCP installer
* fix(cli): harden init MCP installer

* fix(cli): keep init MCP setup usable without exposing keys
2026-07-28 00:50:44 +05:30
Himadri Mishra 1c91d7cbbc Secure hosted MCP credential setup (#155)
Validated in the Stage-1 final canary: CLI config stores an environment reference, not a literal credential; production MCP compatibility remains green.
2026-07-25 18:23:24 +05:30
Richard Oliver Bray 4521e97e6e docs(skills): document --highlights/--no-highlights in firecrawl-search
CLI 1.19.27 added these flags for the new relevance-model search
excerpts, but the skill doc never mentioned them.
2026-07-24 12:13:25 +01:00
hmishra2250 a28bb1b71f refactor(cli): remove raw MCP header fallback 2026-07-21 19:38:06 +05:30
hmishra2250 768570f1a6 fix(cli): keep Hermes credentials indirect 2026-07-21 18:38:18 +05:30
hmishra2250 b2b9efaa9a fix(cli): keep hosted MCP credentials indirect across clients 2026-07-21 17:23:35 +05:30
hmishra2250 c7c6714ee5 Merge remote-tracking branch 'origin/main' into review/pr155-minimal 2026-07-21 17:22:36 +05:30
Gergő Móricz 6c50c5d773 Merge pull request #162 from firecrawl/mogery/search-highlights-parameter
feat(search): add highlights option
v1.19.27
2026-07-20 13:40:31 +02:00
mogery c1994d143f feat(cli): add search highlights option 2026-07-20 13:03:41 +02:00
hmishra2250 9e0de16062 fix: secure hosted MCP credential setup 2026-07-12 05:09:07 +05:30
Himadri Mishra 5cf5c926d3 revert: remove managed MCP router cards (#153) v1.19.26 2026-07-12 02:28:13 +05:30
Himadri Mishra f7ce029608 feat: deliver managed MCP router cards (#152) v1.19.25 2026-07-12 02:17:50 +05:30
Developers Digest 6817ee2a3a Merge pull request #151 from firecrawl/dd/feedback
feat(harness installer): Scope setup/install to a single harness
2026-07-08 09:37:55 -04:00
Developers Digest f5a25adb03 Update init.ts 2026-07-07 11:04:51 -04:00
Developers Digest b6ea510299 Scope setup/install to a single harness
Add support for scoping init/setup to a single agent/harness. README documents one-shot usage. scripts/install.sh forwards installer args to `firecrawl init` (non-interactive) and runs `init --yes` when piped. init.ts: add interactive harness picker, detectInstalledAgentNames, and installRepoAcrossAgents to allow routing skills/workflows to a subset of detected agents or a single --agent. skills-native.ts: canonicalize per-agent global skills dirs (fixes several agent paths), add detectInstalledAgentNames helper. This enables one-shot, non-interactive, and interactive per-harness installs.
2026-07-06 19:10:19 -04:00
mogery 7662479fe9 fix(research): send integration=cli on research endpoints
Research commands bypassed the SDK's typed methods and never set
integration, so requests were logged with integration=NULL. Append
integration=cli as a query param in getResearch, covering all five
subcommands in both keyed and keyless modes. Bump to 1.19.24.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJ3prpziToFecBhLGRiX6t
v1.19.24
2026-07-03 18:47:53 +02:00
Developers Digest bc9a059951 Merge pull request #148 from firecrawl/search-mon-updates
Support conditional implicit stdin for monitor command
v1.19.23
2026-06-30 22:06:33 -04:00
Developers Digest ac90d047aa Support conditional implicit stdin for monitor command
Allow monitor create/update to only read piped stdin when flags can't build a payload. Added allowImplicitStdin option to readJsonPayload and exported helpers hasCreateFlagPayload / hasUpdateFlagPayload to detect when flags are sufficient. Updated command actions to pass the allowImplicitStdin flag and extended tests to cover the stdin payload policy. Also bumped package version to 1.19.23.
2026-06-30 22:05:40 -04:00