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

@malopezr7/jato

v0.2.0

Published

One directory. Every AI tool. Centralized configuration for Claude Code, Codex CLI, Gemini CLI, and OpenCode.

Downloads

21

Readme

npx @malopezr7/jato init

Why

You use multiple AI coding tools. Each has its own config format, its own skills directory, its own way of handling MCPs. You end up maintaining the same instructions in three different places.

jato gives you one source of truth: ~/.jato/. You organize configs into jatos — named profiles like mobile, backend, code-review — and jato use mobile materializes the native files each tool expects.

The real trick: jato installs a skill that teaches your LLM to be your config wizard. Describe what you need, and the AI writes the configs, picks the MCPs, generates the skills. The CLI is plumbing — the LLM is the interface.

Quick Start

# Install and create your first jato
npx @malopezr7/jato init

# Activate it
jato use my-jato

# Check everything's working
jato doctor

Three init paths:

  • Import — scans your existing Claude/Codex/Gemini configs and extracts them
  • Template — starts from a built-in template (starter, mobile, backend, fullstack)
  • Wizard — just ask your AI to build one (the jato-manager skill handles it)

Quick Skill Setup

Want the jato-manager skill in your AI tools right now, without setting up a full jato?

# Install the skill to all detected providers
npx @malopezr7/jato skill install

# Install to a specific provider only
npx @malopezr7/jato skill install --provider claude

# Install to multiple providers
npx @malopezr7/jato skill install --provider claude --provider gemini

This copies the jato-manager skill directly into each provider's skills directory (~/.claude/skills/, ~/.gemini/skills/, etc.), so your LLM can immediately help you manage jato configurations.

How It Works

A jato is a folder. Everything inside is your AI setup:

~/.jato/
  config.yaml                    # active_jato: mobile
  skills/
    jato-manager.md              # global skill — teaches LLM to manage jatos
  rigs/
    mobile/
      jato.yaml                  # manifest: providers, MCPs, permissions
      instructions.md            # shared instructions for all providers
      providers/
        claude.md                # → becomes CLAUDE.md
        codex.md                 # → becomes AGENTS.md
      skills/
        code-review.md           # available to every LLM via context skill
        testing-rn.md

When you run jato use mobile, jato:

  1. Reads the manifest and all associated files
  2. Materializes native configs for each enabled provider
  3. Installs two skills per provider:
    • jato-context — briefing about your active setup (skills, MCPs, instructions)
    • jato-manager — meta-skill that lets the LLM create/modify jatos conversationally
  4. Creates timestamped backups of everything it overwrites

Providers

| Provider | Config | Instructions | Skills | |:---------|:-------|:-------------|:-------| | Claude Code | ~/.claude/settings.json | CLAUDE.md | ~/.claude/skills/ | | Codex CLI | ~/.codex/config.toml | AGENTS.md | ~/.codex/skills/ | | Gemini CLI | ~/.gemini/settings.json | GEMINI.md | ~/.gemini/skills/ | | OpenCode | ~/.config/opencode/opencode.json | — | — |

Commands

jato init                 Create your first jato (import, template, or empty)
jato use <name>           Activate a jato — write configs, install skills
jato list                 Show available jatos
jato off                  Deactivate the current jato
jato doctor               Health check — schema, env vars, providers, skills
jato install <repo>       Install jatos from a git repository
jato skill install        Install the jato-manager skill to your AI providers

That's the whole surface.

The Skill

The jato-manager skill is what makes this different from a dotfiles manager. Once installed, your AI can:

  • Create new jatos from a conversation ("I need a setup for React Native with Supabase")
  • Add MCPs, skills, and agents on demand
  • Switch between jatos
  • Run diagnostics
  • Knows 10+ common MCP configurations out of the box

You describe what you want. The AI writes the YAML, the markdown, the provider files — everything.

Manifest

name: mobile
description: React Native mobile development

providers:
  claude: true
  codex: true
  gemini: false

mcp_servers:
  - id: github
    command: npx
    args: [-y, "@modelcontextprotocol/server-github"]
    env: [GITHUB_TOKEN]
  - id: supabase
    command: npx
    args: [-y, "@anthropic/mcp-server-supabase"]
    env: [SUPABASE_URL, SUPABASE_KEY]

permissions:
  auto_execute: false

Teams

A jato is a folder. Share it like you share code:

# Install from a repo
jato install github.com/acme/ai-jato --jato mobile

# Activate
jato use mobile
# ✓ Ready. Same tools, same context, zero config.

No sync services. No cloud accounts. A git repo is your distribution mechanism.

Development

pnpm install
pnpm build
pnpm test        # 98 tests
pnpm lint

License

MIT