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

interference-agent

v0.5.0

Published

The open-source coding agent that lives in your terminal.

Readme


interference is an AI coding agent for the terminal. You describe a task; it explores your codebase and edits files or runs commands through an agentic tool-calling loop — with explicit permissions and a read-only Plan mode so nothing happens without your say-so.

⚠️ Requires Bun 1.3+. interference runs on the Bun runtime — the CLI itself needs Bun installed, whether you install via bun or npm. Get Bun first: curl -fsSL https://bun.sh/install | bash (macOS/Linux; see bun.sh for Windows).

Features

  • 11 tools: read · ls · glob · grep · webfetch · write · edit · bash · todowrite · question · task (subagent)
  • Plan & Build modes — explore read-only, switch to full access when ready
  • Permissioned by design — allow / ask / deny enforced in code, not in the prompt; dangerous commands auto-blocked (rm -rf, sudo, curl | sh)
  • Extensible skills — Agent Skills format (SKILL.md); auto-detected by keyword matching, or invoked via /skill-name; 3 skills bundled, user-extensible
  • Subagents — delegate complex tasks to isolated agents (explore read-only, general full access, review for bug/security/simplicity findings); custom agents definable in interference.json; invoke several in the same turn to run them in parallel
  • Atomic edit — unique-match string replacement with replaceAll support
  • Safe bash — timeout, output truncation, exit code, dangerous-command deny list
  • Session persistence — messages saved per-project, resume with --continue; /sessions picker
  • Undo / redo — file snapshots before every mutation; /undo /redo
  • Slash commands/help /clear /init /model /plan /build /undo /redo /compact /sessions /rename /provider /thinking /review
  • @-file mentions — type @ to fuzzy-pick a project file (Tab/Enter inserts its path)
  • Living project memory — the agent records durable facts about your project in .agents/memory/ and reloads them every session, so it remembers what isn't in the code (/init sets it up, /remember//memory manage it)
  • Keyboard shortcutsEsc interrupts the current turn (keeps the work done so far), Shift+Tab cycles Plan/Build, Ctrl+T toggles the todo list, Ctrl+O collapses/expands tool output, Ctrl+R reverse-searches prompt history
  • /init — analyzes your project and generates AGENTS.md
  • /provider — manage API keys interactively (stored in ~/.interference/auth.json)
  • Skill invocation — explicit /skill-name + automatic keyword matching on description
  • Context compaction — auto-summarizes conversation at ~90% context limit
  • Config file — per-project interference.json (model, permissions, mode, instructions)
  • Diff view — color-coded (+/-, green/red) in TUI for every edit/write
  • TUI with Ink<Static> history, streaming, spinner, TextInput, status footer (model / mode / context% / cost / git branch), pickers (model, provider, thinking), slash autocomplete, session list, toast, welcome screen, aligned markdown tables, reverse search over prompt history
  • Multi-provider — DeepSeek, OpenAI (GPT-5.6 Sol/Terra/Luna), Anthropic (Claude), Zhipu (GLM), Moonshot (Kimi), Google (Gemini), Groq, xAI (Grok), Mistral, OpenRouter + any OpenAI-compatible endpoint; model picker grouped by provider with type-to-filter; pricing/context from a live model catalog. OpenRouter loads its full live catalog (hundreds of models) from its /models endpoint — filter and pick any of them
  • Reasoning/thinking — distinct ┄ thinking blocks with model-specific effort levels, enabled at the maximum supported level by default
  • Cost tracking — real-time cost estimation per model
  • AGENTS.md & CLAUDE.md — auto-loaded from project tree into system prompt
  • Italian — made in Italy, MIT licensed, European

Why

  • Terminal-native — no editor lock-in, no web UI; just your shell
  • Permissioned by design — allow / ask / deny enforced in code
  • European / by choice — Italian, MIT, GDPR-native, no vendor lock-in
  • Radically transparent — every tool call, reasoning step, and API cost shown live

Stack

Bun · TypeScript · Vercel AI SDK (ai v7) · zod · Ink 7.1 + React 19.2 (TUI)

Quickstart

1. Install Bun 1.3+ — the runtime interference needs (skip if you already have it):

curl -fsSL https://bun.sh/install | bash   # macOS / Linux · Windows: see bun.sh

2. Install and run interference:

bun install -g interference-agent
interference

On first run, use /provider to add your API keys. They're saved in ~/.interference/auth.json.

interference stores its state in ~/.interference/ — sessions, skills, snapshots, and auth.

npm i -g interference-agent works too, but Bun must still be installed to run the CLI (the interference binary runs on Bun).

Updating

bun install -g interference-agent@latest   # or: npm i -g interference-agent@latest

interference checks npm for new versions and shows a discreet notice when one is available; run /update from inside the app to upgrade.

Releasing (maintainers)

Releases publish to npm automatically on tag push:

npm version minor        # runs typecheck+test, bumps, tags
git push --follow-tags   # the `publish` GitHub Action publishes to npm

Requires the NPM_TOKEN repo secret. See CHANGELOG.md.

Screenshot

interference CLI

(Capture your terminal with Cmd+Shift+4, save as assets/screenshot.png)

Landing page

A static landing page lives in site/.

License

MIT