Manx — A new CLI tool to search library docs directly from your terminal

Introducing Manx: A Command-Line Tool for Effortless Library Documentation Search

In the evolving landscape of software development, efficiency and streamlined workflows are paramount. To that end, developers are increasingly seeking ways to access documentation swiftly without disrupting their focus. Addressing this need, we are pleased to introduce Manx, a modern CLI (Command Line Interface) tool designed to facilitate quick, direct access to library and framework documentation right from the terminal.

What is Manx?

Manx is a lightweight, single-binary application written in Rust that enables developers to search and read versioned documentation for various libraries and frameworks without the need to open a web browser. Its minimal footprint means no local storage is required, although users can opt to add storage if desired, provided they maintain an active network connection.

Key Features

  • Versioned Documentation Search: Easily query documentation for specific library versions to find relevant information quickly.
  • Rich Search and Read Capabilities: Use commands like search to locate topics and doc to retrieve detailed documentation snippets, including titles, source links, and excerpts.
  • Multiple Output Formats: Generate JSON output for scripting or export documentation snippets directly into Markdown files for documentation or note-taking.
  • Interactive TUI Picker: An optional terminal-based interface (--pick) for visual navigation through search results.

Example Usage

Searching for specific topics:

bash
$ manx search numpy@2 "broadcasting rules"
[1] Broadcasting semantics for add()
…Arrays are compatible when their shapes align…
https://numpy.org/devdocs/user/basics.broadcasting.html

Retrieving detailed documentation:

bash
$ manx doc numpy@2 "broadcasting rules"
Title : Broadcasting semantics for add()
Source: https://numpy.org/devdocs/user/basics.broadcasting.html
Excerpt: Two dimensions are compatible when…

Additional Options

  • --json: Outputs results in JSON format for easier integration with other tools or scripts.
  • -o: Exports documentation snippets into Markdown files, aiding in documentation generation.
  • --pick: Invokes an interactive TUI picker for a more visual and user-friendly browsing experience.

Community Engagement

As we prepare for the first official release of Manx, we are eager to hear your thoughts. Would you incorporate such a tool into your daily development workflow? Or do you find that opening a browser for documentation is sufficient? Your honest feedback will shape the future development and polish of Man


Leave a Reply

Your email address will not be published. Required fields are marked *