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

ai-codex

v1.0.1

Published

Generate a compact codebase index for AI assistants -- saves 50K+ tokens per conversation

Readme

ai-codex

Built by Claude Code License: MIT TypeScript

This project was entirely designed, written, and published by Claude Code (Anthropic's AI coding assistant). The concept, implementation, documentation, and examples were all generated in a single conversation session.

Generate a compact codebase index that gives AI coding assistants instant context about your project structure. Instead of wasting 50K+ tokens on file exploration at the start of every conversation, your AI assistant reads a pre-built index and gets to work immediately.

Why

Every time you start a conversation with an AI coding assistant (Claude Code, Cursor, GitHub Copilot, etc.), it spends thousands of tokens exploring your codebase -- reading files, scanning directories, building a mental model. This happens every single conversation.

ai-codex solves this by generating compact, structured reference files that capture:

  • Every API route with its HTTP methods
  • Every page with its rendering strategy (client vs. server)
  • Every library function signature
  • Your database schema (key fields, relationships)
  • Your component tree with props

The result: 5 small files that replace 50K+ tokens of exploration, every time.

Quick Start

Run it in your project root:

npx ai-codex

That's it. It auto-detects your framework and generates the index.

Output

By default, files are written to .ai-codex/ in your project root:

| File | What it contains | |------|-----------------| | routes.md | API routes grouped by resource, with HTTP methods | | pages.md | Page tree with client/server rendering tags | | lib.md | Library exports -- function signatures, classes | | schema.md | Database schema -- key fields, FKs, relationships | | components.md | Component index with props, grouped by feature |

Files that don't apply are skipped (e.g., no schema.md if you don't use Prisma).

Configuration

CLI Flags

npx ai-codex --output .claude/codex     # custom output directory
npx ai-codex --include src lib           # only scan these directories
npx ai-codex --exclude tests __mocks__   # skip these directories
npx ai-codex --schema prisma/schema.prisma  # explicit schema path

Config File

Create a codex.config.json in your project root:

{
  "output": ".ai-codex",
  "include": ["src", "lib", "app"],
  "exclude": ["tests", "__mocks__"],
  "schema": "prisma/schema.prisma"
}

CLI flags override config file values.

Output Format Examples

routes.md

## products
GET,POST     /api/products [auth,db]
GET,PUT,DELETE /api/products/:id [auth,db]
POST         /api/products/:id/images [auth]

## orders
GET,POST     /api/orders [auth,db]
GET          /api/orders/:id [auth,db]
POST         /api/orders/:id/refund [auth,db]

pages.md

[client]   /                                                  HomePage
[server]   /products                                          ProductsPage
[client]   /products/:id                                      ProductDetailPage
[server]   /cart                                               CartPage
[client]   /checkout                                           CheckoutPage

lib.md

## lib
cart-utils.ts
  fn calculateTotal
  fn applyDiscount
  fn formatPrice
auth.ts  fn validateSession
stripe.ts  fn createPaymentIntent

schema.md

## Product
  id                     String    PK
  categoryId             String
  -> Category, OrderItem[], Review[]

**Order** id(PK) | userId | status -> User, OrderItem[]
**User** id(PK) | email(UQ) -> Order[], Review[]

components.md

## components
(c) CartDrawer  items, onRemove, onCheckout
(c) ProductCard  product, onAddToCart
    PriceDisplay  amount, currency
(c) SearchBar  onSearch, placeholder

Integration with AI Assistants

Claude Code

Add this to your CLAUDE.md:

## Codebase Index
Pre-built index files are in `.ai-codex/`. Read these FIRST before exploring the codebase:
- `.ai-codex/routes.md` -- all API routes
- `.ai-codex/pages.md` -- page tree
- `.ai-codex/lib.md` -- library exports
- `.ai-codex/schema.md` -- database schema
- `.ai-codex/components.md` -- component tree

Cursor / Other AI IDEs

Add the .ai-codex/ directory to your AI assistant's context or rules file. Most AI coding tools support a way to include reference files.

Auto-Refresh

Git Pre-Commit Hook

# .git/hooks/pre-commit
npx ai-codex
git add .ai-codex/

npm Script

{
  "scripts": {
    "codex": "npx ai-codex",
    "precommit": "npx ai-codex && git add .ai-codex/"
  }
}

CI/CD

# GitHub Actions example
- name: Update codebase index
  run: npx ai-codex
- name: Commit index
  run: |
    git add .ai-codex/
    git diff --cached --quiet || git commit -m "chore: update codebase index"

Supported Frameworks

| Framework | Auto-detected | What it scans | |-----------|:------------:|---------------| | Next.js (App Router) | Yes | app/api/**/route.ts, app/**/page.tsx, lib/, components/ | | Next.js (Pages Router) | Yes | pages/api/**, pages/**, lib/, components/ | | Generic TypeScript | Yes | src/, lib/, utils/, components/ |

Prisma schema is auto-detected at prisma/schema.prisma.

What Gets Skipped

  • node_modules/, .next/, dist/, build/, .git/
  • .d.ts declaration files, .map source maps, .min.js minified files
  • Backup files (*.backup.*, *-backup-*)
  • shadcn/radix UI primitives (button, dialog, etc.) in components/ui/

Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b my-feature
  3. Make your changes
  4. Test on a real project: cd /path/to/your/project && npx tsx /path/to/ai-codex/src/generate-codex.ts
  5. Submit a pull request

Ideas for Contributions

  • Support for more frameworks (SvelteKit, Remix, Astro)
  • Support for more ORMs (Drizzle, TypeORM, Knex)
  • Watch mode (--watch) for continuous regeneration
  • Token count estimation in output
  • Support for Python projects (FastAPI, Django)

License

MIT