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

nfo-cli

v0.0.6

Published

No Fluff Orchestra — a simple, fluff-free CLI multi-agent orchestrator

Downloads

1,530

Readme

NFO — No Fluff Orchestra

[!WARNING] NFO Is highly experimental, things can break, might not work as expected or the composed music might suck!

(Yes, I know orchestrators don't have staffs - but look how happy he is)

A simple, "no fluff" orchestrator that doesn't overcomplicate your workflow. Tell the Orchestrator what you want to do and he will spread the work across multiple Musicians!

[!NOTE] I am not a musician. I do not take responsibility for any misused musical terminology!

Why?

Honestly? Because I wanted to see if I could do it. Apart from that, the main reason why NFO exists is because I wanted an agent orchestrator that is not too bloated and allows you to see your agents without obfuscation. This is a learning project for me to understand agents better and to learn some (weird flavor of) React.

I wrote it by hand and with Claude - MVP was built almost entirely by Claude then I overtook and refactoring work along with new features are hand-built by me.

How does it work?

Installation

To get started with NFO just simply install it through npm (brew support planned for later)

npm install -g nfo-cli

After that just start NFO in your project's folder and you are good to go!

nfo

This will create an Orchestra with your project's name and an Orchestrator. From here on out this Orchestra will be running until you kill it - this means that you can fire away your tasks and work on something else in the meantime. In the Concert Hall, in the top right corner, you can always see how many projects you have running at the moment. Each repository/project gets its own Orchestra and Orchestrator.

Everything that you have in your regular Claude session is available in your NFO session. Just ask your Orchestrator what you want to do, and it will do it for you by spawning several Musicians to tackle the task. The created Musicians will be placed in the Auditorium where you observe what they are doing or manage them.

main-screen

These Musicians are either Sonnet or Haiku agents used to explore your codebase or code. Using Hub-and-Spoke the agents communicate with the Orchestrator and the Orchestrator decides the next steps. This structure allows the smarter model to keep its context clean and save cost by using other models at what they are best. They are all assigned to your Orchestra and you can freely move between them, see what they are doing or steer them by using /btw. You can also ask your Orchestrator to tell them what to do!

agent-screen

They can work in parallel or sequentially, depending on what the task demands. NFO leverages worktrees to keep your environment clean and avoid agents stepping on each other's toes.

Notes, notes notes!

Notes are automatically generated by the Musicians and the Orchestrator to keep track of what has been done so far in the codebase, keep track of quirks and pitfalls. This serves as a quasi memory and helps the agents work in a continuous workflow.

I like control

During the entirety of the process you decide how much you want to be in control. You want fully automated? You got it. You want to approve some non-whitelisted requests? Do it. Have granular control and approve everything by hand? Whatever floats your boat.

Communication happens through Tmux and an MCP server, the Ink based UI wraps Claude Code and provides it for you for interaction.

I am ~~no~~ Superman

Superpowers are supported and the skill knows that instead of regular subagents it should deploy Musicians to finish the tasks. It also recognizes that some tasks can be tackled sequentially or parallel as well.

I had enough, let me go.

You can dismantle your currently running Orchestras by simply running

nfo --kill <orchestra-id>

Limitations

NFO is currently very experimental. There are many things that will change, improve or well, break.

Here are the currently known limitations and what should come in the future:

  • [ ] No package, NFO can only be run after being built (I am planning to ship through npm and brew)
  • [ ] Worktrees are not always cleaned up properly
  • [ ] Currently, the tools available to the musicians are not limited
  • [ ] The notes section might not render properly at times
  • [ ] Provide a simpler way to manage orchestras
  • [ ] Performance can degrade over time
  • [ ] The TUI can flicker because of the Node-PTY embedding
  • [ ] The current Tmux based communication can be flaky

Requirements (These are bound to change as the project matures)

  • Node.js 20+
  • tmux on PATH
  • claude (Claude Code CLI) on PATH, version ≥ 2.1 (see src/claude-detect.ts)
  • bash or zsh
  • Linux or macOS (Windows via WSL only for now)

Development

git clone https://github.com/javierfurus/nfo.git
cd nfo
npm install
npm run build
npm link    # makes the `nfo` command globally available

Use

In a git repo: nfo List orchestras: nfo list Attach by id: nfo <id> Tear down: nfo kill <id> Open notes: nfo notes <id>

Musicians

Inside an orchestra, the Orchestrator can use these MCP tools:

  • spawn_musician({ name, task }) — create a Musician in an isolated git worktree
  • message_musician({ musician_id, message })
  • query_musician({ musician_id, lines? }) — read recent pane output
  • list_musicians()
  • dismiss_musician({ musician_id, archive_worktree? }) — archived = worktree preserved under archive/, branch kept; dropped = worktree gone, branch deleted
  • report_done({ summary }) — called by Musicians on completion
  • note_write / note_read / note_list — Orchestrator's persistent notes

To watch a Musician work just go to the sidebar (if not already there) by Ctrl + g and move the cursor to the Musician you want to observe. Press Enter/Return and you are in that session.

Copyright

Claude is a trademark owned by Anthropic.

The Claw'd art was done by me. Maybe this was the real reason this project exists so that I could to that.