pudd - project upstream doc discovery
Use version-aware fuzzy-search to quickly find the right documentation from your project's dependencies and cache them locally for fast access anytime.
Why pudd?
Developers often waste time:
- 🔍 Googling API docs without knowing which version matches their code
- 🌐 Relying on an internet connection just to look up docs
- ⚠️ Reading docs for the wrong version of a dependency
pudd fixes that by reading your project’s dependency files, finding the exact versions you use, and fetching their documentation from upstream sources — so you always have the right docs at your fingertips.
Supported project types
- Elixir —
mix.exs
- JavaScript / TypeScript —
package.json
- Ruby —
Gemfile
How it works
- pudd reads your dependency manifest (e.g.
mix.exs, package.json, or Gemfile).
- It determines the exact version of each dependency.
- It fetches the corresponding documentation on-demand from upstream sources (e.g. HexDocs, npmjs, rubydoc.info).
- Docs are cached locally for offline access.
Installation
Using brew (⚠️ tap is under construction ⚠️)
# doesn't work yet
brew tap heycomputer/pudd
brew install pudd
Using go install
go install github.com/heycomputer/pudd@latest
This will download, compile, and install the pudd binary to your $GOPATH/bin directory (or $GOBIN if set). Make sure this directory is in your PATH.
Verify installation
pudd --help
Example
# Discover and open docs for your project's deps
cd your-project
pudd
Testing
Run the test suite:
make test
Run tests with verbose output:
make test-verbose
Run tests with coverage:
make test-coverage