npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

chatvim

v0.3.14

Published

AI chat with markdown files on the command line.

Readme

Chatvim CLI

Chat with markdown files on the command line.

Chatvim CLI is the back-end for chatvim.nvim, a Neovim plugin that lets you chat with markdown files in Neovim.

Basic Idea

The basic idea of Chatvim CLI is to put LLMs on the command line, like this:

chatvim complete "What is 1 + 1?"

Output

1 + 1 is 2.

Read on for more details.

Installation

Install globally using npm:

npm install -g chatvim

This provides one global command:

  • chatvim  —  Main entry point for Chatvim CLI

Usage

API Keys

You MUST first set at least one API key for an LLM provider.

export OPENAI_API_KEY=your_openai_api_key
export ANTHROPIC_API_KEY=your_anthropic_api_key
export XAI_API_KEY=your_xai_api_key

Help

For full usage instructions, run:

chatvim --help

Command List

A brief overview of available commands:

  • complete  —  Send a prompt to the LLM and get a response
  • log  —  Save a prompt and response to a markdown file
  • buffer  —  Buffer input for later processing
  • format  —  Format markdown output for better readability
  • color  —  Colorize markdown output for better visibility
  • models  —  List available LLM models
  • providers  —  List available LLM providers

Example Workflows

# Simple math prompt
chatvim complete "What is 2 plus 2?"

# Code generation
chatvim complete "Generate a JavaScript function that reverses an array"

# Use a markdown file as context and log the response
chatvim log --file chat.md "Generate a Python function to calculate factorial"

# If you don't specify the file name, it will default to `chat.md`
chatvim log "Generate a Python function to calculate Fibonacci sequence"
# ^ This will create or overwrite `chat.md`

# Pipe input as prompt
cat my-instructions.txt | chatvim complete

# Generate, buffer, format, and colorize Markdown output
chatvim complete "Show me a Python bubble sort function with comments in Markdown." | chatvim buffer | chatvim format | chatvim color

# Buffer and format direct Markdown input
echo "# Quick Note\n\nThis is a short note with a code block:\n\n\`\`\`bash\necho 'Hello, World!'\n\`\`\`" | chatvim buffer | chatvim format

# Format and colorize without buffering
chatvim complete "Write a short Markdown note." | chatvim format | chatvim color

Configuration

You can set global configuration for Chatvim CLI by creating a file at ${XDG_CONFIG_HOME}/chatvim/config.md) (usually ~/.config/chatvim/config.md).

Yes, that's right, Chatvim CLI uses a markdown file for configuration.

You can set YAML/TOML configuration at the top, and then you can also specify a chat lot to be used in all chats (defaults to empty).

Example Configuration #1

Example config.md:

+++
model = "o3"
+++

This example configuration file sets the default model to OpenAI's o3 using TOML configuration.

Example Configuration #2

Global chat history example with TOML configuration:

+++
model = "grok-3"
userDelimiter = "# === USER ==="
assistantDelimiter = "# === ASSISTANT ==="
+++

Your name is Codey Beaver, a helpful coding assistant. You are a beaver who just
loves nothing more than to help the user code their app!

# === ASSISTANT ===

Hello, my name is Codey Beaver! I'm here to help you with your coding tasks. How
can I assist you today?

Example Configuration #3

YAML configuration example:

---
model: "claude-sonnet-4-0"
userDelimiter: "**user**"
assistantDelimiter: "**assistant**"
---

Your name is Codey Beaver, a helpful coding assistant. You are a beaver who just
loves nothing more than to help the user code their app!

**assistant**

Hello, my name is Codey Beaver! I'm here to help you with your coding tasks. How
can I assist you today?

Copyright

Copyright (C) 2025 EarthBucks Inc.