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

@iannuttall/dotagents

v0.1.3

Published

Canonical .agents manager with symlinks for popular AI tools

Readme

Simple setup • One source of truth • Safe to re-run anytime

Quick Start

Requirements: Bun 1.3+.

Run the guided CLI:

npx @iannuttall/dotagents

Or with Bun:

bunx @iannuttall/dotagents

Choose a workspace (Global home or Project folder), select the clients you want to manage, and follow the prompts. You can run it again anytime to repair links or undo changes.

Global home affects all projects. Project folder only affects the current directory you run dotagents from.

What it does

  • Keeps .agents as the source of truth.
  • Creates symlinks for Claude, Codex, Factory, Cursor, OpenCode, and Gemini (based on your selection).
  • Always creates a backup before any overwrite so changes are reversible.

Where it links (global scope)

.agents/CLAUDE.md~/.claude/CLAUDE.md (if present)

.agents/AGENTS.md~/.claude/CLAUDE.md (fallback when no CLAUDE.md)

.agents/GEMINI.md~/.gemini/GEMINI.md (if present)

.agents/AGENTS.md~/.gemini/GEMINI.md (fallback when no GEMINI.md)

.agents/commands~/.claude/commands

.agents/commands~/.factory/commands

.agents/commands~/.codex/prompts

.agents/commands~/.cursor/commands

.agents/commands~/.config/opencode/commands

.agents/commands~/.gemini/commands

.agents/hooks~/.claude/hooks

.agents/hooks~/.factory/hooks

.agents/AGENTS.md~/.factory/AGENTS.md

.agents/AGENTS.md~/.codex/AGENTS.md

.agents/AGENTS.md~/.config/opencode/AGENTS.md

.agents/skills~/.claude/skills

.agents/skills~/.factory/skills

.agents/skills~/.codex/skills

.agents/skills~/.cursor/skills

.agents/skills~/.config/opencode/skills

.agents/skills~/.gemini/skills

Project scope links only commands/hooks/skills into the project’s client folders (no AGENTS/CLAUDE/GEMINI rules).

Development

Run the CLI in dev mode:

bun run dev

Type-check:

bun run type-check

Run tests:

bun test

Build the CLI:

bun run build

Notes

  • Cursor supports .claude/commands and .claude/skills (global or project). dotagents also links .agents/commands.cursor/commands and .agents/skills.cursor/skills.
  • OpenCode uses ~/.config/opencode/AGENTS.md and prefers AGENTS.md over CLAUDE.md when both exist.
  • Codex prompts always symlink to .agents/commands (canonical source).
  • Skills require a valid SKILL.md with name + description frontmatter.
  • Claude prompt precedence: if .agents/CLAUDE.md exists, it links to .claude/CLAUDE.md. Otherwise .agents/AGENTS.md is used. After adding or removing .agents/CLAUDE.md, re-run dotagents and apply/repair links to update the symlink. Factory/Codex always link to .agents/AGENTS.md.
  • Gemini context file precedence: if .agents/GEMINI.md exists, it links to .gemini/GEMINI.md. Otherwise .agents/AGENTS.md is used. After adding or removing .agents/GEMINI.md, re-run dotagents and apply/repair links to update the symlink.
  • Project scope creates .agents plus client folders for commands/hooks/skills only. Rule files (AGENTS.md/CLAUDE.md/GEMINI.md) are left to the repo root so you can manage them explicitly.
  • Backups are stored under .agents/backup/<timestamp> and can be restored via “Undo last change.”

License

MIT