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

arbyte

v1.0.4

Published

Open-source AI coding companion CLI — chat, agent mode, file tools, terminal execution, and web search from your terminal

Readme

Arbyte

Your unhinged AI coding homie — right in the terminal.

Arbyte is an open-source CLI that brings AI chat and autonomous agent workflows to your command line. Install once, run from any folder, pick Gemini or OpenRouter, and ship.

Built by Arpit Agrahari.


Table of Contents


Features

| Feature | Status | Description | |---------|--------|-------------| | Ask Mode | ✅ Live | Chat with AI in your terminal — Gen Z vibe, zero corporate bullshit | | Agent Mode | ✅ Live | Autonomous agent that reads/writes files, runs commands, searches the web | | Multi-LLM | ✅ Live | Gemini or OpenRouter with model selection | | Web Search | ✅ Live | Tavily-powered live web search in Ask & Agent modes | | File System Tools | ✅ Live | Read, write, list, delete files & create directories | | Terminal Execution | ✅ Live | Run shell commands with user approval every time | | Cross-Platform | ✅ Live | Windows, macOS, Linux | | Persistent Config | ✅ Live | Name, provider, model & keys saved locally | | CLI UI | ✅ Live | Animated banner, spinners, styled prompts |


Requirements

| Requirement | Details | |-------------|---------| | Node.js | v18+ required | | npm | v8+ | | Internet | Required for AI API calls | | API Key | Google AI Studio or OpenRouter | | Tavily Key | Optional — needed when agent/chat uses web search (tavily.com) |

Node.js version check

Arbyte automatically checks your Node.js version:

  • On install — runs a postinstall check after npm install -g arbyte
  • On launch — checks again when you run arbyte wakeup

| Scenario | What happens | |----------|--------------| | Node v18+ | ✅ Good to go — continues normally | | Node too old on Windows | Tries to auto-install Node.js LTS (winget → chocolatey → direct download) | | Node too old on macOS / Linux | Shows install instructions — install manually from nodejs.org |

After auto-install on Windows, restart your terminal and run arbyte wakeup again.

Check your setup:

node -v
npm -v

Install

npm install -g arbyte

Verify:

arbyte --version

Expected output:

Arbyte v1.0.4

Quick Start

Step 1 — Install

npm install -g arbyte

Step 2 — Launch

arbyte wakeup

Step 3 — Onboarding

Follow the prompts: name → AI provider → model → API key.

Step 4 — Pick a mode

  • Ask — chat only, web search when needed
  • Agent — full autonomous mode with files, terminal & web

Commands

On GitHub and npm, hover any code block and click the copy icon in the top-right corner to copy the command.

Start Arbyte

arbyte wakeup
arbyte w
arbyte -w
arbyte --wakeup

Check Version

arbyte version
arbyte -v
arbyte --version

Show Info

arbyte info
arbyte -i
arbyte --info

Command Reference

| Command | Short | Flag | What it does | |---------|-------|------|--------------| | arbyte wakeup | arbyte w | -w / --wakeup | Launch full interactive app | | arbyte version | arbyte v | -v / --version | Print installed version | | arbyte info | arbyte i | -i / --info | Show banner, features & credits |

Running arbyte with no args shows help.


First-Time Setup

When you run arbyte wakeup for the first time:

  1. Welcome screen — loading animation + Arbyte banner
  2. Your name — saved for future greetings
  3. AI provider — OpenRouter or Gemini
  4. Model — pick from available models
  5. API key — stored locally on your machine
  6. Main menu — Ask, Agent, Change AI, Exit

Available Models

OpenRouter

  • gpt-4o
  • nvidia/nemotron-3-ultra-550b-a55b:free
  • gemini-2.5-flash
  • gemini-2.5-flash-lite

Gemini

  • gemini-2.5-flash
  • gemini-2.5-flash-lite

Ask Mode

Select Ask from the main menu for conversational AI chat.

Good for:

  • Programming questions & debugging
  • Code reviews & explanations
  • Brainstorming & learning
  • Live web search when the AI needs fresh info

Controls

| Input | Action | |-------|--------| | Type message + Enter | Send to AI | | exit or quit | Return to main menu |

Ask Mode does not modify files or run terminal commands. Use Agent Mode for that.


Agent Mode

Select Agent from the main menu for autonomous task execution.

The agent can chain multiple tools in a loop until the job is done — read a file, edit it, run tests, search the web, and respond.

Good for:

  • Creating or editing project files
  • Exploring directory structure
  • Running builds, tests, installs (with your approval)
  • Research + implementation in one flow

Controls

| Input | Action | |-------|--------| | Describe your task + Enter | Agent starts working | | exit or quit | Return to main menu |

Safety

  • Terminal commands always ask for your permission before running
  • File operations are scoped to the current working directory
  • Every tool call logs a one-liner so you see what's happening

Example logs

→ list_directory: .
✔ list_directory: listed 12 items in .
→ read_file: package.json
✔ read_file: read 29 lines from package.json
→ terminal: npm test
✘ terminal: user denied command execution

Agent Tools

| Tool | Description | |------|-------------| | read_file | Read file contents | | write_file | Create or overwrite a file | | list_directory | List files and folders | | delete_file | Delete a file | | create_directory | Create a folder | | terminal | Run a shell command (requires approval) | | web_search | Search the web via Tavily |

Works on Gemini and OpenRouter.


AI Providers & Models

Google Gemini

OpenRouter

  • API key: OpenRouter Keys
  • Best for: Multiple models through one key (GPT-4o, Nemotron, Gemini, etc.)

Change Provider Later

Main menu → Change AI Provider & Model


Web Search

Arbyte uses Tavily for live web search in Ask and Agent modes.

On first search, you'll be prompted to:

  1. Choose provider — Tavily (DuckDuckGo coming soon)
  2. Enter your Tavily API key

Get a key at tavily.com.


Configuration

Arbyte saves settings locally using conf.

Saved Data

{
  "user": "Your Name",
  "ai": {
    "ai_type": "OpenRouter",
    "model": "gpt-4o",
    "api_key": "your-api-key"
  },
  "web_search": {
    "web_search_provider": "tavily",
    "api_key": "your-tavily-key"
  }
}

Config Location

| OS | Path | |----|------| | Windows | %APPDATA%\arbyte\Config\config.json | | macOS | ~/Library/Preferences/arbyte-nodejs/config.json | | Linux | ~/.config/arbyte/config.json |

Reset Config

Windows (PowerShell)

Remove-Item "$env:APPDATA\arbyte" -Recurse -Force

macOS / Linux

rm -rf ~/.config/arbyte

Then run arbyte wakeup again for fresh setup.


Examples

Daily dev workflow

cd ~/projects/my-app
arbyte wakeup

Update after a new release

npm update -g arbyte
arbyte --version

VS Code integrated terminal

arbyte wakeup

Use Agent to scaffold a file

arbyte wakeup

Then select Agent and type: create a utils/logger.js with a simple log function


Update & Uninstall

Update

npm update -g arbyte
npm install -g arbyte@latest

Uninstall

npm uninstall -g arbyte

Optionally delete your config (see Configuration).


Local Development

Clone & install

git clone https://github.com/Arpit10110/Arbyte.git
cd Arbyte
npm install

Run from source

node src/cli/arbyte.js wakeup

Link globally for testing

npm link
arbyte wakeup

Publish to npm (maintainers)

npm login
npm publish

Project Structure

arbyte/
├── src/
│   ├── cli/
│   │   └── arbyte.js                 # CLI entry point
│   ├── commands/
│   │   └── index.js                  # version, info, wakeup
│   ├── controller/
│   │   ├── agent/
│   │   │   ├── index.js              # Agent entry (Gemini + OpenRouter)
│   │   │   ├── gemini.js
│   │   │   ├── openrouter.js
│   │   │   └── context.js            # Agent system context builder
│   │   ├── tools/
│   │   │   ├── tool_caller.js        # Tool dispatch + logs
│   │   │   ├── read_file.js
│   │   │   ├── write_file.js
│   │   │   ├── list_directory.js
│   │   │   ├── delete_file.js
│   │   │   ├── create_directory.js
│   │   │   ├── terminal.js
│   │   │   └── web_search.js
│   │   └── controller.js             # Ask mode, setup, menu
│   ├── constants/
│   │   └── constant.js
│   ├── prompt/
│   │   ├── ask.js                    # Ask mode personality
│   │   ├── agent.js                  # Agent mode personality
│   │   └── tools_prompts/            # Individual tool prompts
│   └── utils/
│       ├── banner.js
│       ├── take_inputs.js
│       └── web_search_config.js
├── package.json
└── README.md

Security

  • Never commit API keys to git or paste them in source code
  • Keys are stored locally in plain text in your config file
  • Enter keys only through the CLI prompts
  • Rotate keys immediately if exposed
  • Terminal commands require explicit approval in Agent mode

Troubleshooting

arbyte is not recognized

npm config get prefix

Add that path to your system PATH, then restart the terminal.

Permission errors on Linux/macOS

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g arbyte

API key / auth errors

  • Use a Gemini key for Gemini, OpenRouter key for OpenRouter
  • Re-enter via Change AI Provider & Model in the main menu

Agent tool failures

  • Make sure you're in the right directory (cd to your project first)
  • Terminal commands need your approval — don't ignore the prompt
  • Web search needs a Tavily API key on first use

Config corrupted

Delete the config folder and run arbyte wakeup again.


Roadmap

  • [x] Ask Mode with web search
  • [x] Agent Mode with file system tools
  • [x] Terminal execution with user approval
  • [x] Gemini + OpenRouter support
  • [ ] DuckDuckGo web search provider
  • [ ] Environment variable support (ARBYTE_API_KEY)
  • [ ] Conversation history export
  • [ ] More providers (Anthropic, Ollama, etc.)
  • [ ] Plugin-style custom tools

npm Keywords

Keywords show up at the bottom of your package page on npmjs.com/package/arbyte.

They are defined in package.json under the "keywords" array:

{
  "keywords": [
    "cli",
    "ai",
    "coding-assistant",
    "terminal",
    "agent",
    "gemini",
    "openrouter",
    "llm",
    "developer-tools",
    "artificial-intelligence",
    "code-assistant",
    "chatbot",
    "tavily",
    "nodejs",
    "arbyte"
  ]
}

How to add or change keywords

  1. Open package.json in your project root
  2. Add or edit the "keywords" array (strings only, lowercase recommended)
  3. Bump the version in package.json
  4. Publish a new version:
npm publish

npm only updates the package page metadata when you publish — editing package.json locally is not enough until you publish.

Tips

  • Use terms people actually search for (cli, ai, terminal, coding-assistant)
  • Max ~10–15 relevant keywords — don't spam
  • Keywords must be in package.json, not README (README keywords are not picked up by npm)

License & Author

License: ISC © Arpit Agrahari

Author: Arpit Agrahari