Devdoc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Devdoc (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A CLI tool that crawls documentation (websites or Git repositories), saves it as Markdown, and exposes it as an MCP (Model Context Protocol) server for local LLMs and AI agents.
With DevDoc, you can:
stdio| Tool | Notes |
|---|---|
| uv | Python package manager — installed automatically by the installers |
| Git | Only needed when adding git sources |
| pandoc _(optional)_ | RST → Markdown conversion for Git repos; falls back to built-in converter |
bash install.shThe script:
uv tool install --python 3.13 . → creates the devdoc binary at ~/.local/bin/devdoccrawl4ai web crawling~/.bashrc / ~/.zshrc if ~/.local/bin is not yet in PATHSet-ExecutionPolicy Bypass -Scope Process
.\install.ps1The script:
uv tool install --python 3.13 . → creates devdoc.exePATHuv tool install --python 3.13 /path/to/devdoc# Add from the built-in knowledge base (no URL needed):
devdoc add godot
devdoc add roblox
devdoc add react
# OR supply a custom URL:
devdoc add godot https://github.com/godotengine/godot-docs.git
devdoc add mylib https://docs.example.com/
# Start the MCP server:
devdoc start./start-docker.shThis builds the image, starts the container, and exposes the SSE endpoint on http://localhost:8080/sse.
Use a different port if needed:
./start-docker.sh 9090| Command | What it does |
|---|---|
devdoc kb | Browse built-in documentation sources |
devdoc add | Add and download a documentation source |
devdoc list | List all configured sources |
devdoc status | Show health and environment details |
devdoc info | Inspect one source in detail |
devdoc update | Refresh one or all sources |
devdoc remove / devdoc rm | Delete a source |
devdoc search | Search local docs from the terminal |
devdoc start | Run the MCP server |
devdoc stop | Stop the background SSE daemon |
devdoc logs | View daemon logs |
devdoc mcp-config | Print MCP client configuration |
devdoc init-mcp | Attempt to configure supported MCP clients |
devdoc kb [query] [-c category]Browse the built-in knowledge base of curated public documentation sources.
devdoc kb # list all (~40 entries grouped by category)
devdoc kb godot # search by keyword
devdoc kb -c gamedev # filter by category
devdoc kb -c frontend
devdoc kb -c backendCategories: gamedev, frontend, backend, language, graphics, mobile, desktop, testing, api, web
Built-in sources include:
| Key | Name | Type |
|---|---|---|
godot | Godot Engine | git |
roblox | Roblox Studio | web |
unity | Unity | web |
unreal | Unreal Engine | web |
bevy | Bevy (Rust) | web |
pygame | Pygame | web |
react | React | web |
nextjs | Next.js | web |
vue | Vue.js | git |
nuxt | Nuxt | web |
svelte | Svelte | web |
astro | Astro | git |
solidjs | SolidJS | web |
tailwind | Tailwind CSS | web |
htmx | HTMX | web |
threejs | Three.js | web |
pinia | Pinia | web |
nodejs | Node.js | web |
deno | Deno | git |
bun | Bun | web |
express | Express | web |
fastapi | FastAPI | web |
django | Django | web |
laravel | Laravel | git |
supabase | Supabase | web |
prisma | Prisma | web |
graphql | GraphQL | web |
trpc | tRPC | web |
typescript | TypeScript | web |
python | Python | web |
rust | Rust (book) | git |
go | Go | web |
kotlin | Kotlin | web |
swift | Swift | web |
elixir | Elixir | web |
mdn | MDN Web Docs | web |
flutter | Flutter | web |
tauri | Tauri | web |
electron | Electron | web |
vitest | Vitest | web |
pytest | pytest | web |
devdoc add <name> [url]Download and index a documentation source. URL is optional — if omitted, name is looked up in the knowledge base and fails with suggestions if not found.
# From knowledge base (recommended):
devdoc add godot
devdoc add roblox
devdoc add deno
# Custom URL (auto-detects git vs web):
devdoc add godot https://github.com/godotengine/godot-docs.git
devdoc add mylib https://docs.example.com/
# Options:
devdoc add <name> [url] --max-pages 200 # limit crawl size (default: 500)
devdoc add <name> [url] --delay 1.0 # seconds between requests (default: 0.5)
devdoc add <name> [url] --type web # force source typeDownloaded files are stored in ~/.devdoc/docs/<name>/.
devdoc listShow all configured sources with full details — type, document count, disk size, dates, and URL.
┏━━━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Name ┃ Type ┃ Docs ┃ Size ┃ Added ┃ Updated ┃ URL ┃
┡━━━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ godot │ git │ 1842 │ 18 MB │ 2025-03-01 │ 2025-03-01 │ github.com/… │
└────────┴──────┴──────┴───────┴────────────┴────────────┴───────────────┘devdoc statusOverall health check — binary path, config location, totals across all sources, and per-source state (including Git branch/commit for git sources).
devdoc statusdevdoc info <name>Detailed panel for a single source: metadata, file counts, disk size, Git branch + last commit, and top-level directory structure.
devdoc info godotdevdoc update [name]Re-crawl (git pull / re-crawl website) to refresh documentation. Omit name to update all sources.
devdoc update # update everything
devdoc update godot # update one sourcedevdoc remove <name> / devdoc rm <name>Delete a source from the config and remove all downloaded files.
devdoc remove godot
devdoc rm godot # short alias
devdoc rm godot --yes # skip confirmation promptdevdoc search <query>Search documentation locally — useful for testing without an MCP client.
devdoc search "signals and slots"
devdoc search "AnimationPlayer" -s godot # limit to one source
devdoc search "coroutine" -n 5 # top 5 resultsdevdoc startStart the MCP server. All configured sources are available as tools.
# stdio transport (default) — for Claude Desktop, LM Studio, etc.
devdoc start
# HTTP/SSE transport — for agents that connect via HTTP
devdoc start --transport sse --port 8080 --host 0.0.0.0Build and start the Docker container with the included startup script:
./start-docker.shUse a different port by passing it as the first argument:
./start-docker.sh 9090The script:
devdoc-dataThe container entrypoint uses PORT and defaults to 8080.
You can also override names with environment variables:
IMAGE_NAME=my-devdoc CONTAINER_NAME=my-devdoc DATA_VOLUME=my-devdoc-data ./start-docker.shUseful Docker commands:
docker ps
docker logs -f devdoc
docker stop devdoc
docker start devdoc
docker rm -f devdoc
docker volume lsdevdoc mcp-configPrint the JSON snippet to paste into your MCP client config (e.g. Claude Desktop claude_desktop_config.json).
devdoc mcp-config # stdio (default)
devdoc mcp-config --transport sse --port 8080Example output:
{
"mcpServers": {
"devdoc": {
"command": "/home/user/.local/bin/devdoc",
"args": ["start"]
}
}
}| Tool | Description |
|---|---|
list_sources | List all configured doc sources with counts |
search_docs(query, source?) | Keyword search across all docs, returns top 10 with snippets |
get_document(path) | Full content of a file (path from search results) |
list_documents(source, path?) | Browse files in a source by sub-path |
list_sources()
→ "godot (git) — 1842 docs"
search_docs("AnimationPlayer track methods")
→ 1. AnimationPlayer classes/class_animationplayer.md
…adds a new track to the animation…
get_document("godot/classes/class_animationplayer.md")
→ Full class referencedevdoc add python
devdoc search "asyncio gather"devdoc add mylib https://docs.example.com/
devdoc search "authentication token" -s mylibdevdoc startThen generate client configuration:
devdoc mcp-configdevdoc start --transport sse --host 0.0.0.0 --port 8080devdoc start --transport sse --daemon
devdoc logs
devdoc stop./start-docker.sh
docker logs -f devdoc~/.devdoc/
├── sources.json # source registry
└── docs/
├── godot/ # git clone or crawled pages
│ ├── .git/
│ ├── tutorials/
│ ├── classes/
│ │ ├── class_node.md
│ │ └── …
│ └── …
└── python/
└── …# From the project directory:
uv tool install --reinstall --python 3.13 .stdio mode is intended for local MCP clients such as Claude Desktop or LM Studio.sse mode is intended for tools that connect over HTTP.git is installed locally.| Problem | Fix |
|---|---|
devdoc: command not found | export PATH="$HOME/.local/bin:$PATH" then restart shell |
lxml build failed | Use --python 3.13 (pre-built wheels available) |
| Web crawl returns 0 pages | Run playwright install chromium manually |
| Git clone fails | Check git is installed and the URL is correct |
| RST files not converted | Install pandoc for best results; built-in fallback handles common cases |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.