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

cc-grammar

v0.5.2

Published

Grammar checking for coding agents — Claude Code, Pi, Codex CLI, Gemini CLI

Readme

cc-grammar

Automatic grammar checking for coding agents. Catches grammar, spelling, and punctuation errors in your messages and displays them in the status line — without polluting the conversation context.

Supports Claude Code, Pi Coding Agent, Codex CLI, and Gemini CLI.

Uses claude -p (Claude Code pipe mode) — no API keys needed. Piggybacks on your existing Claude Code authentication.

How it works

  1. You type a message and hit enter
  2. Your message is sent to a fast LLM for grammar analysis (in the background)
  3. Errors (if any) are displayed in the status line at the bottom of your terminal
  4. The agent's conversation stays clean — no context injection

Prerequisites

Installation

Claude Code (default)

npx cc-grammar install

Pi Coding Agent

pi install npm:cc-grammar

Codex CLI

npx cc-grammar install --agent codex

Gemini CLI

npx cc-grammar install --agent gemini

Configure model (optional)

Default model is haiku (fast and cheap). To change:

npx cc-grammar set model sonnet

Verify it works:

npx cc-grammar test

Uninstall

npx cc-grammar uninstall                    # Claude Code (default)
npx cc-grammar uninstall --agent codex      # Codex CLI
npx cc-grammar uninstall --agent gemini     # Gemini CLI
pi remove npm:cc-grammar                    # Pi

Update

npx cc-grammar update

Commands

| Command | Description | |---------|-------------| | npx cc-grammar install [--agent <name>] | Install for a coding agent | | npx cc-grammar uninstall [--agent <name>] | Remove from a coding agent | | npx cc-grammar update | Update to latest version | | npx cc-grammar setup | Interactive model setup | | npx cc-grammar set <field> <val> | Update a single setting | | npx cc-grammar config | Show current config | | npx cc-grammar test | Test grammar check with sample input | | npx cc-grammar models | List available model aliases |

Supported agents: claude (default), pi, codex, gemini

Settings fields: model, minLength, systemPrompt

Model aliases

| Alias | Description | |-------|-------------| | haiku | Default — fast and cheap | | sonnet | Balanced | | opus | Most capable |

Or use a full model ID (e.g. claude-haiku-4-5-20251001).

Usage

Just type normally in your coding agent. Grammar errors appear automatically in the status line:

✏️  "I has" → "I have" (subject-verb) | "thinked" → "thought" (irregular past)

Messages shorter than 10 characters and slash commands are skipped.

Architecture

lib/grammar-engine.mjs          ← Agent-agnostic core (uses claude -p)
  ├── adapters/claude-code/     ← Shell hook + status line
  ├── adapters/pi/              ← TypeScript extension (in-process)
  ├── adapters/codex/           ← Shell hook
  └── adapters/gemini/          ← Shell hook

All adapters share the same grammar engine and config (~/.config/claude-grammar/grammar.config.json).

License

MIT