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

@ibrahim-mohammed-47/clkit

v1.4.0

Published

A CLI wizard to help teams share the same claude code powers by scaffolding project scope configuration

Downloads

138

Readme

clkit

 ██████╗██╗     ██╗  ██╗██╗████████╗
██╔════╝██║     ██║ ██╔╝██║╚══██╔══╝
██║     ██║     █████╔╝ ██║   ██║   
██║     ██║     ██╔═██╗ ██║   ██║   
╚██████╗███████╗██║  ██╗██║   ██║   
 ╚═════╝╚══════╝╚═╝  ╚═╝╚═╝   ╚═╝  

npm version Alpha

A CLI wizard that scaffolds Claude Code configuration into a project so the whole team shares the same setup.

Not affiliated with Anthropic. This is an independent community tool. Claude and Claude Code are products of Anthropic.

The core idea

Claude Code reads project-level configuration from a .claude/ directory at the root of your repository. When that directory is committed to source control, every developer who clones the repo gets the same Claude behavior automatically — the same skills, the same hooks, the same plugin state, the same MCP server configuration.

The problem is that building this configuration manually is tedious and error-prone. clkit is a menu-driven wizard that does it for you: it reads your existing machine-level Claude setup, lets you select what belongs at the project level, and writes everything to .claude/ in a format Claude Code understands.

The bundled presets — hook groups, predefined MCP servers, and Misc enhancements — reflect my own opinions about tools and setups I've found genuinely useful. They are opinionated by design.

Installation

npm install -g @ibrahim-mohammed-47/clkit

Or run without installing:

npx @ibrahim-mohammed-47/clkit

Usage

Run from the root of the project you want to configure:

clkit

On first run it initializes the .claude/ directory structure and adds permission deny rules to prevent Claude from reading .env files.

After setup, the main menu loops until you exit, letting you configure each feature independently.

Commit .claude/ to your repository when done.


Features

Skills

Skills are reusable instruction sets that extend what Claude Code knows how to do.

The Skills wizard presents two tabs, navigable with / :

Enable / Disable tab — lists every skill Claude currently has access to: skills from your user-level ~/.claude/skills/ and skills already copied into the project's .claude/skills/. Toggle any on or off. Disabled skills are written to .claude/settings.local.json under skillOverrides as "off". This file is personal and should not be committed — it lets each developer control their own skill visibility without affecting teammates.

Copy to Project tab — lists user-level skills that are not yet in the project. Selecting one copies the skill folder into .claude/skills/ as a real directory (symlinks are dereferenced). Commit .claude/skills/ so teammates get the skill automatically, even if they have never installed it globally themselves.

The wizard does not suggest, recommend, or bundle any skills. It only surfaces what already exists on your machine or in the project.

Plugins

Claude Code supports plugins that extend its capabilities at the user or project scope. Project-scope plugin state is recorded in .claude/settings.json under enabledPlugins.

The Plugins wizard calls the claude CLI to list every plugin installed on your machine and shows their current enabled/disabled state. You select which ones should be active for this project. The wizard then calls claude plugins enable or claude plugins disable for each change and writes the result to .claude/settings.json.

The wizard does not suggest or bundle any plugins. It only shows what the claude CLI reports as installed on your machine. If a teammate opens the project and a plugin declared in settings.json is not installed on their machine, the wizard warns them clearly rather than silently failing.

MCP Servers

MCP (Model Context Protocol) servers extend Claude Code with external tool integrations.

The MCP wizard presents two tabs, navigable with / :

Installed tab — lists every MCP server configured on your machine via claude mcp add. Toggle which ones should be active for this project. Disabled server names are written to disabledMcpjsonServers in .claude/settings.json.

Predefined tab — lists a curated set of MCP servers bundled with clkit. Selecting one adds its full configuration to .claude/.mcp.json so teammates get it automatically without running claude mcp add themselves.

| Server | What it does | | --------- | ------------------------------------------------ | | shadcn | Browse and install shadcn/ui components via MCP |

Both tabs confirm on a single Enter press. Changes to installed servers and predefined servers are applied together.

Add more entries to src/data/mcps.json under mcpServers to extend the predefined list.

Hook Groups

Claude Code hooks are shell commands that run automatically at lifecycle events: after a file edit, after Claude stops, when Claude needs input, and others. They are defined in .claude/settings.json under hooks.

The Hook Groups wizard presents a curated set of predefined hook groups bundled with clkit. These groups come from the tool itself, not from your machine — they reflect my own opinions about hooks worth having on most projects. Current built-in groups:

| Group | What it does | | ----------------------- | ------------------------------------------------------------------------------------------ | | tsc-on-edit | Runs tsc --noEmit after any TypeScript file is edited or written | | npm-lint-on-edit | Runs npm run lint after any file is edited or written | | eslint-on-edit | Runs eslint --fix on the affected JS/TS file after each edit | | prettier-on-edit | Runs prettier --write on the affected file after each edit | | desktop-notifications | Sends a desktop notification when Claude finishes working or needs input (macOS and Linux) |

Selecting a group writes its hook entries into .claude/settings.json. The wizard is careful to preserve any hooks you or your team have added manually. Deselecting a group removes only the entries that group owns.

For groups that require external tools (e.g. npx, npm), the wizard checks whether those tools are available on your machine and warns you if they are not — but still applies the hooks, since teammates who do have the tools will benefit.

Misc

The Misc wizard is a collection of project enhancements. Each option shows its current applied state; selecting toggles it on, deselecting removes it.

Current options:

| Option | What it does | | --------------------- | ------------------------------------------------------------------------------------------------------------------- | | karpathy-guidelines | Appends Andrej Karpathy's LLM coding guidelines to AGENTS.md. Creates the file if it doesn't exist. |

Unlike the other wizards, Misc writes directly to AGENTS.md in the project root rather than to .claude/. If CLAUDE.md exists, it becomes a bridge (@AGENTS.md) to keep agent tools unified. Commit AGENTS.md to share the result with your team.


What gets committed

After running the wizard, commit these paths:

.claude/
  settings.json       # plugins, hooks, env vars, permission rules, disabled MCP servers
  settings.local.json # per-developer skill overrides (do not commit)
  .mcp.json           # MCP server configs (if applicable)
  skills/             # copied skill folders (commit these)
AGENTS.md             # project instructions (if Misc enhancements were applied)
CLAUDE.md             # bridge to AGENTS.md for Claude Code (@AGENTS.md)

Teammates pull the repo and Claude Code picks up the configuration automatically. Each developer runs clkit themselves to adjust personal settings (e.g. disable skills they don't want, copy additional skills from their machine) — personal state lands in settings.local.json and stays off git.


How it works

clkit is a Node.js ESM CLI with no build step. It uses @inquirer/prompts for interactive menus and shells out to the claude CLI for plugin and MCP introspection. All writes go to the current working directory — it never modifies your global Claude configuration.

bin/clkit.js        entry point
src/index.js             banner, first-time setup, main menu loop
src/features/            one wizard per feature (skills, plugins, mcp, hook-groups, misc)
src/utils/               stateless helpers (fs, settings, claude-cli, mcp, hooks)
src/data/                bundled presets: hook group definitions, predefined MCP servers

Requirements

  • Node.js 18+
  • claude CLI installed and authenticated (Claude Code)

License

MIT