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

claude-atlas

v0.5.0

Published

Map and lint your .claude/ directory — agents, commands, tools, permissions as a navigable graph

Downloads

58

Readme

claude-atlas

Visualize, lint, and refactor your Claude Code agent configs.

npm version VS Code Marketplace License: MIT


As your .claude/ folder grows, it gets hard to answer simple questions: who calls whom? Which agent has tools it never uses? Does anything reference an agent that no longer exists?

claude-atlas reads your agents/, commands/, .mcp.json, and settings.json, builds a dependency graph, and gives you:

  • Interactive graph — nodes by type, edges by relationship, click anything for details
  • Linter — dead agents, broken references, delegation cycles, unused tool grants
  • Rename — safely rename an agent and rewrite every mention across the config

No LLM calls. No cloud. No telemetry.

⚠️ Early, active development. MIT-licensed, source you can read.

Install

VS Code Extension (recommended)

Search "Claude Atlas" in the VS Code Extensions panel, or install directly:

ext install bernabranco.claude-atlas

Opens a graph panel inside VS Code. No terminal needed — the extension auto-detects your .claude/ folder, shows the graph, runs the linter inline, and lets you rename agents with a quick-pick dialog.

CLI / npx

npx claude-atlas serve .claude    # interactive graph at http://localhost:4000
npx claude-atlas lint .claude     # linter, exits 1 on errors
npx claude-atlas scan .claude     # structured JSON summary

Node 20+ required.

What it catches

| Rule | Level | Description | |---|---|---| | missing-agent-ref | error | A command or agent references a name that doesn't exist | | dead-agent | warning | An agent is defined but never invoked | | delegation-cycle | warning | Agent A invokes B invokes A | | missing-description | warning | Agent or command has no description frontmatter | | unused-tool-grant | info | Agent has Write granted but its prose never mentions writing | | duplicate-candidate | info | Two agents have overlapping prose and tools — possible merge candidate |

CLI reference

# Visualize
npx claude-atlas serve .claude

# Lint (exits 1 on errors)
npx claude-atlas lint .claude
npx claude-atlas lint .claude --format github   # PR annotations in CI
npx claude-atlas init-ci                        # scaffold .github/workflows/atlas.yml

# Inspect
npx claude-atlas scan .claude --json
npx claude-atlas who-can "Bash(git push)"       # which agents can run this

# Rename (rewrites frontmatter + every mention)
npx claude-atlas rename old-name new-name .claude --dry-run
npx claude-atlas rename old-name new-name .claude

# Find near-duplicates
npx claude-atlas duplicates .claude

What gets scanned

| Source | Extracted | |---|---| | agents/*.md | Name, description, tool grants, prose-detected delegations | | commands/*.md | Name, description, agent invocations | | settings.json / settings.local.json | Allow / deny permission rules | | .mcp.json (parent dir) | MCP servers declared for the project |

Roadmap

  • [x] Scanner, linter, interactive viewer
  • [x] Rename with impact preview
  • [x] Permission blast-radius (who-can)
  • [x] CI mode with GitHub PR annotations
  • [x] VS Code extension
  • [ ] Runtime overlay — show which edges actually fire from session transcripts
  • [ ] Markdown export — wiki-linked vault of the whole config

Contributing

PRs welcome. See CONTRIBUTING.md for dev setup. No obfuscated builds — source in, source out.

License

MIT