Cellar CLI
Cellar prints signatures and docs for the public API of any JVM dependency so an agent stops inventing method calls.
- 105 ★ on the repository
- Last commit
- MPL-2.0
Minimal access
Why this level
- The tool reads local artifacts and prints reference output; anonymous telemetry is on only with consent.
Install
- Works in
Manual install
cs install --contrib cellarThe first README command (Coursier, native binary). A Claude Code plugin is available through `/plugin marketplace add virtuslab/cellar`.
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The tool reads local artifacts and prints reference output; anonymous telemetry is on only with consent.
This is third-party code. Review the repository files before installing.
What it does
Cellar gives an agent and a human one command that returns exact type signatures, members and library documentation as Markdown on stdout, with no post-processing. Instead of parsing HTML docs or hunting for sources on GitHub, the agent gets the needed fragment straight from the artifact. It supports Scala 3 (TASTy, full set: signatures, flags, companions, sealed hierarchies, givens, extensions, docstrings), Scala 2 (signatures and members) and Java (classes, parameter names and Javadoc from `-sources.jar`). Example: `cellar get-external org.typelevel:cats-core_3:2.10.0 cats.Monad`. In Claude Code it connects as a plugin with the `/cellar:cellar` skill, or as a copy of `SKILL.md`.
Who it is for. Scala and Java developers whose agents mix up library signatures and invent methods that do not exist.
Good fit when
- An agent writes a `cats.Monad` call and needs exact types.
- A Java library reference with parameter names from sources is needed in the project.
- A dependency version changed and the API has to be checked again.
- A quick look at a sealed hierarchy is needed without opening a browser.
Not a fit when
- The language is not JVM-based.
- Usage examples are needed, not only signatures.
- Any outbound data is forbidden, including anonymous telemetry.
Example request
Use Cellar to show the signatures of `cats.Monad` from `org.typelevel:cats-core_3:2.10.0` and list `flatMap` and `pure` with their types.Limitations
Output quality for Scala 2 and Java is lower than for Scala 3: default values, docs and positions come from `-sources.jar` when present. Telemetry is collected only with consent: on first run in a non-interactive setting the command stops and prints a choice request until you run `cellar telemetry disable` or enable it. Coursier installs a GraalVM native binary, and building by hand needs JDK 17 and Mill.
How to disable. For the plugin run `/plugin uninstall`. The binary is removed with `cs uninstall cellar`, and telemetry settings live in the project `.cellar` directory and in user configuration.
FAQ
How do I install it?
Run `cs install --contrib cellar`. Nix also works: `nix profile install github:VirtusLab/cellar`.
How do I connect it to Claude Code?
With `/plugin marketplace add virtuslab/cellar` and `/plugin install cellar@virtuslab-cellar`. The skill appears as `/cellar:cellar`.
Which formats does it read?
Scala 3 via TASTy, Scala 2 via pickles and Java via `.class`; missing data comes from `-sources.jar`.
What about telemetry?
It stays off until you enable it. For agents without an interactive terminal Cellar prints a consent request and does not run the command.
What is the output format?
Plain Markdown on stdout that can go into a prompt without processing.
Discussion
No questions or reviews yet.
Related
CLI toolsOne desktop window for Claude Code, Codex, Gemini CLI and OpenCode: terminals, pull requests, diffs and approvals
Git-native project context for agents: specs, decisions and rules live in Markdown beside the code and are read before edits
CLI that builds a codebase index and a 250-token map so an agent does not read hundreds of files to find the right one.
A CLI that scaffolds and validates governance docs for coding agents, such as PATTERNS.md and CLAUDE.md, and flags staleness.
Critty opens a terminal interface where a person comments on a diff, answers questions and approves agent actions.
The atomic binary and a Claude Code config set: repo wiki, code graph and an autopilot that takes an issue to a pull request.
README in short
One executable with Markdown output and a Claude Code plugin with a skill. Telemetry is opt-in.