WhatsUpDoc (downmarked)

WhatsUpDoc (downmarked)

By paradiselabs-ai GitHub

Scrape any developer documentation and save it locally as a markdown file using anthropic's MCP to standardize communication between the cli and the documentation server

Overview

what is WhatsUpDoc?

WhatsUpDoc is a command-line tool designed to scrape developer documentation from any website and save it locally as a markdown file using the Model Context Protocol (MCP) for standardized communication.

how to use WhatsUpDoc?

To use WhatsUpDoc, install it globally using npm, and then run the command downmarked fetch <url> to fetch and save documentation as a markdown file.

key features of WhatsUpDoc?

  • Fetch documentation from any website and convert it to Markdown
  • Save documentation to any location on your system
  • Target specific content using CSS selectors
  • Recursively fetch linked documentation pages
  • Split documentation by headers into separate files
  • Uses the Model Context Protocol (MCP) for standardized communication

use cases of WhatsUpDoc?

  1. Fetching and saving React documentation for offline access.
  2. Scraping Python documentation for personal reference.
  3. Collecting and organizing documentation from various sources for development purposes.

FAQ from WhatsUpDoc?

  • Is WhatsUpDoc free to use?

Yes! WhatsUpDoc is free to use and open-source.

  • What programming languages does WhatsUpDoc support?

WhatsUpDoc can scrape documentation from any website, regardless of the programming language.

  • How does WhatsUpDoc handle different documentation structures?

It uses CSS selectors to target specific content, allowing for flexibility in handling various documentation layouts.

Content

WhatsUpDoc (downmarked)

A command-line tool for fetching and storing developer documentation locally using the Model Context Protocol (MCP).

npm version License: MIT

Features

  • Fetch documentation from any website and convert it to Markdown
  • Save documentation to any location on your system
  • Target specific content using CSS selectors
  • Recursively fetch linked documentation pages
  • Split documentation by headers into separate files
  • Uses the Model Context Protocol (MCP) for standardized communication

Installation

# Install globally
npm install -g downmarked

# Or use with npx
npx downmarked fetch https://reactjs.org/docs/getting-started.html

Usage

Basic Usage

downmarked fetch <url>

This will prompt you for an output location and save the documentation as Markdown.

Options

# Fetch documentation with specific options
downmarked fetch https://reactjs.org/docs/getting-started.html \
  -o ~/Documents/react-docs.md \
  -s "main" \
  -r \
  -d 2 \
  --split

Available Options

OptionDescription
-o, --output <path>Output path (absolute or relative)
-s, --selector <selector>CSS selector to target specific content
-r, --recursiveRecursively fetch linked documentation pages
-d, --max-depth <number>Maximum depth for recursive fetching (default: 3)
--splitSplit documentation by headers into separate files

Examples

Fetch React Documentation

# Save React documentation to a specific location
downmarked fetch https://reactjs.org/docs/getting-started.html -o ~/Documents/react-docs.md

# Target only the main content area
downmarked fetch https://reactjs.org/docs/getting-started.html -s "main"

# Recursively fetch linked pages up to 2 levels deep
downmarked fetch https://reactjs.org/docs/getting-started.html -r -d 2

Fetch Python Documentation

# Save Python documentation
downmarked fetch https://docs.python.org/3/tutorial/index.html -o python-tutorial.md

How It Works

WhatsUpDoc (downmarked) uses the Model Context Protocol (MCP) to standardize communication between the CLI and the documentation server. The tool:

  1. Fetches HTML content from the specified URL
  2. Parses the HTML using Cheerio
  3. Converts the HTML to Markdown using Turndown
  4. Saves the Markdown to the specified location

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

No tools information available.
No content found.