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

@benzsiangco/jarvis

v1.1.26

Published

AI coding agent with TUI, Web, and Desktop support - Now with Brain system, OAuth config, and enhanced Skills

Readme

JARVIS - AI Coding Assistant

npm version License: MIT

Just A Rather Very Intelligent System - An advanced AI coding agent with Terminal UI, Web UI, and Desktop support.

Latest: v1.1.1 - Now with Brain system, OAuth configuration, enhanced skills, and Electron desktop support!

✨ Features

  • 🧠 Brain System - Customize JARVIS's core identity and personality
  • 🔐 OAuth Configuration - Deploy in containers with Cloudflare Tunnel support
  • 📚 Enhanced Skills - 10+ skill categories (DevOps, Security, Development, etc.)
  • 🖥️ Three Modes - Terminal UI, Web UI, or Desktop app
  • 🤖 Multi-Provider - OpenAI, Anthropic, Google AI, and more
  • 🔧 12 Built-in Tools - bash, read, write, edit, grep, and more
  • 🎨 Beautiful UI - Modern, responsive design with dark theme

🚀 Quick Start

Installation

Full Install (with Desktop app):

npm install -g @benzsiangco/jarvis electron

CLI Only (smaller install):

npm install -g @benzsiangco/jarvis

Launch JARVIS

Terminal UI:

jarvis
# or
jarvis tui

Web UI:

jarvis web
# Opens at http://localhost:5533

Desktop App:

jarvis electron
# Requires: npm install -g electron

📖 Usage Guide

Terminal UI (TUI)

Launch the interactive terminal interface:

jarvis tui

Key Bindings:

  • Ctrl+P - Open Commands Menu
  • Ctrl+T - Switch Model Variants
  • Ctrl+L - Clear Chat
  • Ctrl+N - New Session
  • Ctrl+C - Exit
  • Up/Down - Cycle Prompt History

Slash Commands:

  • /skills - Manage skills
  • /auth - Connect AI providers
  • /help - Show all commands

Web UI

Start the web interface:

jarvis web --port 5533

Access at: http://localhost:5533

Features:

  • Modern chat interface
  • Integrated terminal
  • Settings panel
  • Session management
  • Model selector
  • File operations

Desktop App

Launch the Electron desktop app:

jarvis electron

Requirements:

  • Electron installed (npm install -g electron)

Features:

  • Native window controls
  • System tray integration
  • All web UI features

🧠 Brain System

Customize JARVIS's core identity and behavior:

Via Web UI (Recommended)

  1. Open jarvis web
  2. Click Settings (⚙️)
  3. Go to Brain tab
  4. Edit JARVIS.md
  5. Click Commit to save

Via File

Edit JARVIS.md in your project directory:

# JARVIS - Just A Rather Very Intelligent System

You are JARVIS, an advanced AI coding assistant...

## Core Principles
- Be precise and thorough
- Explain your reasoning
- Prioritize security

Changes apply to all new conversations.

📚 Skills System

JARVIS includes 10+ skill categories:

  • DevOps & Infrastructure - Linux, Docker, Proxmox
  • Security & Hacking - Penetration testing, network security
  • Software Development - TypeScript, React, APIs
  • Automation & Scripting - SSH, CI/CD pipelines
  • Database Management - PostgreSQL, Redis
  • Monitoring & Observability - Logging, metrics

Customize Skills

  1. Open Settings → Intelligence tab
  2. Edit skills.md
  3. Add your own skills using markdown:
### Your Skill Name
- Skill description
- Key capabilities
- Best practices

🔐 OAuth Configuration

Perfect for container deployments with Cloudflare Tunnel:

Setup Custom OAuth Callback

  1. Configure in JARVIS:

    • Settings → Accounts → OAuth Callback Configuration
    • Enter: https://jarvis.yourdomain.com/oauth-callback
    • Save
  2. Configure Cloudflare Tunnel:

# ~/.cloudflared/config.yml
ingress:
  - hostname: jarvis.yourdomain.com
    service: http://localhost:5533
  
  - hostname: jarvis.yourdomain.com
    path: /oauth-callback
    service: http://localhost:51121
  1. Test OAuth:
    • Settings → Accounts → Link Google
    • Should redirect to your custom domain

Environment Variable

export JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback"
jarvis web

🐳 Container Deployment

Docker

FROM oven/bun:1

WORKDIR /app

# Install JARVIS
RUN npm install -g @benzsiangco/jarvis

# Expose ports
EXPOSE 5533 51121

# Start web UI
CMD ["jarvis", "web"]

Run:

docker build -t jarvis .
docker run -p 5533:5533 -p 51121:51121 \
  -e JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback" \
  jarvis

Docker Compose

version: '3.8'
services:
  jarvis:
    image: oven/bun:1
    ports:
      - "5533:5533"
      - "51121:51121"
    environment:
      - JARVIS_OAUTH_CALLBACK_URL=https://jarvis.yourdomain.com/oauth-callback
    command: >
      sh -c "npm install -g @benzsiangco/jarvis && jarvis web"

🛠️ CLI Commands

# Terminal UI (default)
jarvis
jarvis tui

# Web UI
jarvis web [--port 5533]

# Desktop app
jarvis electron

# Single prompt
jarvis run "your question here"

# Account management
jarvis auth

# List providers
jarvis providers

# List models
jarvis models

# Configuration
jarvis config [--show] [--path]

# Sessions
jarvis sessions [--list] [--clear]

# Initialize project
jarvis init

⚙️ Configuration

Global Config Location

  • Linux/macOS: ~/.config/jarvis/config.json
  • Windows: %APPDATA%\jarvis\config.json

View Config

jarvis config --show

Edit Config

Via Web UI: Settings → Config tab

Or edit directly:

{
  "model": "gpt-4o",
  "persona": "hacker",
  "oauth": {
    "callbackUrl": "https://jarvis.yourdomain.com/oauth-callback"
  }
}

🤖 Supported AI Providers

  • OpenAI - GPT-4, GPT-4 Turbo, GPT-3.5
  • Anthropic - Claude 3.5 Sonnet, Claude 3 Opus
  • Google - Gemini 1.5 Pro, Gemini 1.5 Flash
  • Local - Ollama, LM Studio

Connect Provider

Via Web UI:

  1. Settings → Accounts
  2. Click "Setup Key" or "Link Google"
  3. Enter API key or authenticate

Via CLI:

jarvis auth

🔧 Built-in Tools

JARVIS has 12 powerful tools:

  • bash - Execute shell commands
  • read - Read file contents
  • write - Create/overwrite files
  • edit - Edit existing files
  • glob - Find files by pattern
  • grep - Search file contents
  • list - List directory contents
  • webfetch - Fetch web content
  • task - Spawn sub-agents
  • question - Ask user questions
  • todoread - Read todo list
  • todowrite - Manage todos

View in: Settings → Tools tab

📦 Package Details

Size:

  • CLI Only: 3.5 MB
  • With Electron: ~200 MB

What's Included:

  • Complete source code
  • Web UI (built)
  • Electron app (compiled)
  • CLI bundle
  • Enhanced skills
  • Documentation

🧪 Development

Prerequisites

  • Bun runtime
  • Node.js 20+
  • TypeScript 5+

Install Dependencies

git clone https://github.com/benzsiangco/jarvis.git
cd jarvis
bun install

Development Mode

bun run dev          # TUI
bun run web          # Web UI dev server
bun run electron:dev # Electron dev mode

Build

bun run build              # CLI bundle
bun run web:build          # Web UI
bun run electron:compile   # Electron app

Run Tests

bun run typecheck

📚 Documentation

🆘 Troubleshooting

Electron not found

npm install -g electron
jarvis electron

OAuth callback not working

  • Ensure server binds to 0.0.0.0 (automatic in v1.1.0+)
  • Check Cloudflare Tunnel routes /oauth-callback to port 51121
  • Verify firewall allows port 51121

Brain/Skills not applying

  • Click "Commit" to save changes in Settings
  • Start new conversation to see changes
  • Check console for errors

Web UI won't start

# Check if Bun is installed
bun --version

# Install Bun if needed
curl -fsSL https://bun.sh/install | bash

🌟 What's New

v1.1.1 (Latest)

  • jarvis electron command
  • ✅ Electron as optional dependency
  • ✅ Installation guide
  • ✅ Better error messages

v1.1.0

  • ✅ Brain System (JARVIS.md editor)
  • ✅ OAuth Callback Configuration
  • ✅ Enhanced Skills (10+ categories)
  • ✅ Tools Tab in Settings

v1.0.x

  • ✅ Initial release
  • ✅ TUI, Web, Desktop modes
  • ✅ Multi-provider support

🤝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

MIT License - see LICENSE file for details

🔗 Links

  • NPM Package: https://www.npmjs.com/package/@benzsiangco/jarvis
  • GitHub: https://github.com/benzsiangco/jarvis
  • Issues: https://github.com/benzsiangco/jarvis/issues
  • Releases: https://github.com/benzsiangco/jarvis/releases

💡 Tips

Customize Brain:

jarvis web
# Settings → Brain → Edit JARVIS.md

Add Domain Skills:

# Settings → Intelligence → Edit skills.md

Deploy with Custom Domain:

# Settings → Accounts → OAuth Config
# Enter: https://jarvis.yourdomain.com/oauth-callback

Use Desktop App:

npm install -g @benzsiangco/jarvis electron
jarvis electron

Made with ❤️ by Benz Siangco

For help: jarvis --help or visit Documentation