Skip to content

jouet docs ​

  • Usage: jouet docs [FLAGS] <PACKAGE> [SYMBOL]

Look up a dependency's API at the version the project locked

Answers from the sources already installed for the project, at the version its lockfile names, rather than from memory or a hosted index of some other version. PKG's version comes from the nearest lockfile, from the current directory up to the repository's root: Cargo.lock; package-lock.json, pnpm-lock.yaml, yarn.lock or bun.lock; uv.lock, poetry.lock or the virtualenv's metadata; go.mod. Its sources are read where the package manager installed them: the cargo registry ($CARGO_HOME) or a vendor directory, node_modules (its .d.ts files, else @types/PKG, else its JavaScript), the virtualenv's site-packages ($VIRTUAL_ENV, .venv or venv; a .pyi stub before its .py), the Go module cache ($GOMODCACHE) or vendor/. Nothing is downloaded: a package that is locked but not installed exits 4 with the command that installs it.

Without SYMBOL, an outline of the public API: each definition's path, kind and signature with the first sentence of its doc, the package's root first, cut to --budget with a marker naming what was left out. With a module's path as SYMBOL, that module's outline.

With SYMBOL, each definition it names: the version and the file:line it came from, its signature, its doc comment, the start of its source, and for a type its methods, fields or variants (and for a Rust type the traits it derives and implements). SYMBOL is a path from the package's root, with or without its name (Agent::get, ureq::Agent::get, requests.Session.get), else the end of one (get). Several matches are each shown, shortest path first, up to three, then listed.

Public means: for Rust, plain pub items reachable from the crate root through pub mods and pub uses (followed through the crate; one into another crate names it, at the version the lockfile has), without #[doc(hidden)]; for TypeScript, exported declarations; for Python, names without a leading _, or those in __all__, with re-exports followed; for Go, capitalised names. --private includes the rest.

The index of each package version is built once, from the code graph's parsers, and cached under jouet's cache directory.

Exits 3 for a package no lockfile names or a symbol it does not define, and 4 for one that is locked but not installed.

Examples: jouet docs ureq jouet docs ureq Agent::get jouet docs reqwest blocking jouet docs zod ZodType jouet docs click Context.invoke jouet docs github.com/spf13/cobra Command.Execute

Arguments ​

  • <PACKAGE> — The package: a crate, an npm package, a Python distribution or import name, or a Go package path; PKG@VERSION picks one of several locked versions
  • [SYMBOL] — The definition or module to show (default: the package's outline)

Flags ​

  • --lang <LANG> — The ecosystem, when PKG is in more than one lockfile here: rust, ts, python or go
  • --budget <TOKENS> — The outline's size in tokens, estimated at 4 bytes each (default 2048)
  • --private — Include private definitions too
  • -h --help — Print help
MIT LicenseCopyright © 2026jdx.dev