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

joonecli

v0.2.0

Published

An autonomous coding agent

Downloads

301

Readme

⚡ Joone

An autonomous coding agent powered by prompt caching, harness engineering, and secure sandboxing.

npm version License: ISC


Joone is a highly capable autonomous AI coding assistant that runs directly in your terminal. It leverages a hybrid environment: it has read/write access to your local project files for seamless editing, but all code execution, testing, and dependency installations happen securely inside an isolated cloud sandbox (powered by E2B).

✨ Features

  • 🧠 Pluggable Intelligence: Seamlessly switch between Anthropic (Claude 3.5 Sonnet, Opus), OpenAI (GPT-4o, o1), Google (Gemini 1.5/pro), Mistral, Groq, local Ollama models, and more.
  • 🔌 User-Local Provider Plugins: Heavy LLM SDKs (like @langchain/google-genai) are dynamically installed into ~/.joone/providers. This keeps the base Joone installation incredibly lightweight while supporting every major AI provider.
  • 🛡️ Secure Execution Sandbox: Joone cannot accidentally delete your local database or run malicious npm install scripts on your host machine. All execution happens in an isolated E2B cloud sandbox that syncs seamlessly with your local workspace.
  • 🖥️ Beautiful Terminal UI: Built with React and Ink, Joone provides a rich, interactive TUI (Terminal User Interface) with spinners, syntax highlighting, and progress tracking.
  • 🔍 Deep Insights: Integrated with LangSmith for comprehensive session tracing, token counting, and performance analysis.
  • 🔁 Agent Resilience: Includes loop detection, command sanitization, backoff retries, and a human-in-the-loop (HITL) permission middleware (auto, ask_dangerous, ask_all).

🚀 Getting Started

🚀 Quickstart

The fastest way to experience Joone is to run it on-demand without installing anything globally. This will automatically trigger the onboarding wizard and launch your first session seamlessly:

npx joone@latest start

Global Installation (Alternative)

If you prefer to install Joone globally:

npm install -g joone

Once installed, simply run joone in any directory. If it's your first time, the configuration wizard will open automatically.

Configuration

If you ever need to change your LLM provider, API keys, or models, run the configuration wizard:

joone config

To start an autonomous session in your current project directory:

joone start

Uninstallation

Since Joone manages its own user-local plugins and settings, completely removing Joone from your system is a two-step process:

  1. Wipe User Data: First, use Joone's built-in cleanup command to safely delete your configurations, traces, and dynamically installed LLM provider dependencies stored in ~/.joone:
    joone cleanup
  2. Remove the App: Next, uninstall the base package using the package manager you originally used:
    npm uninstall -g joone
    # OR
    brew uninstall joone

🛠️ Commands

| Command | Description | | ------------------------------ | ------------------------------------------------------------------------------- | | joone start | Start a new Joone agent session in the current directory. | | joone start --resume <id> | Resume a previously saved persistent session. | | joone config | Run the configuration wizard (Providers, API Keys, etc.). | | joone sessions | List all available persistent sessions for resumption. | | joone provider add <name> | Manually download a dynamic LLM provider package (e.g., google, anthropic). | | joone provider remove <name> | Uninstall a provider package locally. | | joone analyze [sessionId] | Analyze a session trace for token usage and performance insights. | | joone eval | Run automated offline evaluation against the LangSmith dataset. | | joone cleanup | Wipe all Joone configurations, keys, traces, and plugins from your machine. |


🏗️ Architecture

Joone is built around the Execution Harness pattern.

  1. Prompt Builder: Dynamically constructs LLM prompts using Anthropic/LangChain's prompt caching features to save tokens over long sessions.
  2. Middleware Pipeline: Tool calls pass through a robust middleware stack (Loop Detection, Command Sanitization, Permissions) before executing.
  3. Dynamic Sandbox: Tools executing terminal commands or running dev servers are routed via @langchain/core directly into a temporary E2B sandbox. File modifications are synchronized back to your local machine via a bidirectional sync layer.

🤝 Contributing

We welcome contributions!

  1. Clone the repository
  2. Run npm install
  3. Make your changes in src/
  4. Compile with npm run build
  5. Test your changes locally using npm run dev -- start

📝 License

ISC License. See LICENSE for more information.