• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 25955866145
66%

Build:
DEFAULT BRANCH: main
Ran 16 May 2026 07:16AM UTC
Jobs 1
Files 318
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 May 2026 07:13AM UTC coverage: 65.043% (-1.7%) from 66.768%
25955866145

push

github

web-flow
chore(tools): Add `bookworm` MCP server for Rust crate docs (#644)

Introduce the `bookworm` contrib crate — an MCP server that gives the JP
development assistant grounded access to published Rust crate
documentation without relying on training-data memory.

The server exposes five tools over stdio:

- `crates_search` — keyword search on crates.io
- `crate_search_items` — partial-path search for types, fns, traits,
methods, variants, etc. inside a specific crate version
- `crate_resource` — single entry-point for all `crate://` URIs
(versions, metadata, README, item docs, source files)
- `crate_versions` — list recent non-yanked releases of a crate
- `crate_readme` — fetch and HTML-to-Markdown-convert a crate README

Documentation is fetched on demand from docs.rs, unzipped, sanitized,
and indexed into a per-crate SQLite database under the system temp dir.
Subsequent calls for the same crate+version hit the cache and skip the
network round-trip.

The server is wired into the JP development config as the `bookworm` MCP
provider, pointing at the `serve-bookworm` just recipe, which does an
incremental `cargo build --release` before spawning the binary. That
means every `jp query` session picks up the latest local source
automatically without a manual rebuild step.

Two new skill files are added:

- `.jp/config/skill/rust-docs.toml` — enables all five bookworm tools
and instructs the assistant to use them for third-party crates (while
continuing to use the `fs_*` tools for the JP workspace crates, which
are not published on crates.io).
- The existing `rust-development` skill now extends `rust-docs`, and the
`architect` persona also includes it directly.

Two workspace dependencies are added to `Cargo.toml`: `semver` (for
version string validation) and `zip` with the `bzip2` feature (for
extracting docs.rs download archives).

---------

Signed-off-by: Jean Mertz <git@jeanmertz.com>

403 of 1674 new or added lines in 16 files covered. (24.07%)

26719 of 41079 relevant lines covered (65.04%)

192.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
248
0.0
crates/contrib/bookworm/src/mcp/server.rs
247
0.0
crates/contrib/bookworm/src/index.rs
166
0.0
crates/contrib/bookworm/src/dl.rs
127
70.94
crates/contrib/bookworm/src/mcp/tools.rs
82
0.0
crates/contrib/bookworm/src/query/search_crate_type_definitions.rs
76
0.0
crates/contrib/bookworm/src/main.rs
68
50.0
crates/contrib/bookworm/src/docs.rs
62
0.0
crates/contrib/bookworm/src/query/search_crates.rs
49
0.0
crates/contrib/bookworm/src/query/crate_metadata.rs
40
0.0
crates/contrib/bookworm/src/query/list_crate_source_resources.rs
39
0.0
crates/contrib/bookworm/src/query/crate_versions.rs
26
0.0
crates/contrib/bookworm/src/query/get_crate_source_resource.rs
15
0.0
crates/contrib/bookworm/src/query/get_crate_item_resource.rs
14
0.0
crates/contrib/bookworm/src/query/client.rs
12
0.0
crates/contrib/bookworm/src/query/crate_readme.rs
Jobs
ID Job ID Ran Files Coverage
1 25955866145.1 16 May 2026 07:16AM UTC 318
65.04
GitHub Action Run
Source Files on build 25955866145
  • Tree
  • List 318
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25955866145
  • 7a9bd0ec on github
  • Prev Build on main (#25955687064)
  • Next Build on main (#25957089078)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc