name: hex-docs-search description: Research Hex packages (Sobelow, Phoenix, Ecto, Credo, Ash, etc). Use when investigating packages, understanding integration patterns, or finding module/function docs and usage examples. Automatically fetches missing documentation and source code locally. allowed-tools: Read, Grep, Glob, Bash, WebSearch, AskUserQuestion model: haiku context: fork agent: Explore user-invocable: true
Hex Documentation Search
Search Elixir package documentation. Prioritize local sources, fetch if needed.
Search Locations (in order)
- Project deps:
deps/<package>/lib/(source with @moduledoc/@doc),deps/<package>/doc/(HTML if generated) - Fetched docs cache:
.hex-docs/docs/hexpm/<package>/<version>/ - Fetched source cache:
.hex-packages/<package>-<version>/ - HexDocs API: Programmatic search (see below)
- Web search: Last resort with
site:hexdocs.pm
Fetching Locally
Determine version from mix.lock, mix.exs, or prompt user if ambiguous.
# Fetch documentation (stores in .hex-docs/)
HEX_HOME=.hex-docs mix hex.docs fetch <package> <version>
# Fetch source code (if docs insufficient or unavailable)
mix hex.package fetch <package> <version> --unpack --output .hex-packages/<package>-<version>
Mention adding .hex-docs/ and .hex-packages/ to .gitignore once per session when fetching occurs.
HexDocs Search API
Powered by Typesense at search.hexdocs.pm.
# Search within a specific package
curl -s "https://search.hexdocs.pm/?q=<query>&filter_by=package:=[<package>-<version>]" \
| jq '.hits[].document | {title, doc, url}'
# Search across all packages
curl -s "https://search.hexdocs.pm/?q=<query>" \
| jq '.hits[].document | {package, title, doc}'
Response fields:
package: Package nametitle: Module/function namedoc: Documentation texturl: Path to append tohttps://hexdocs.pm
Version Resolution
# From mix.lock
grep '"<package>"' mix.lock | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'
# Latest from hex.pm
curl -s "https://hex.pm/api/packages/<package>" | jq -r '.releases[0].version'
Key Behaviors
- Prefer local/cached results (version matches project)
- Show real usage examples from project codebase when relevant
- Include file:line references for source code
- Prompt user before fetching external packages
- Source code @moduledoc/@doc often has more detail than HTML docs
Skills similaires
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Claude CodeCursoradvanced
890
234
2,617
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
claudeCursorWindsurfbeginner
259
72
588
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.
claudeCursorWindsurfintermediate
156
44
450