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

orin-ide

v1.0.9

Published

AI-powered browser-based coding environment with terminal, file system, multi-model AI chat, diff viewer, HTML preview, free image API, snippet palette, and project-wide find & replace.

Readme

A full AI-augmented code editor that runs in your browser — terminal, file system, and multi-model AI, all local.

npm version npm downloads Node.js License: MIT Platform Powered by OpenRouter

Docs · npm Package · Report a Bug · Request a Feature

Table of Contents

What is OrinIDE?

OrinIDE is a fully-featured, AI-augmented code editor that runs entirely in your browser — backed by a lightweight local Node.js server. There's no cloud account, no IDE subscription, and no upload of your code anywhere.

Run one command:

npx orin-ide

Open localhost:3000, and you have a complete coding environment — real terminal, full file system, multi-model AI chat, multi-agent AI collaboration, a diff viewer, and a lot more.

Built by Nandan Das — runs on desktop, laptop, and even Android via Termux.

Preview

Quick Start

# Zero install — run instantly
npx orin-ide

# Or install globally
npm install -g orin-ide
orin-ide

# Custom port
orin-ide --port 8080

Then open http://127.0.0.1:3000 in your browser.

Android / Termux Setup

Run OrinIDE directly on your Android phone using Termux.

# 0. Enable storage access (IMPORTANT)
termux-setup-storage

# 1. Update packages + install Node.js
pkg update -y && pkg install nodejs-lts -y

# 2. Install OrinIDE
npm install -g orin-ide

# 3. (Optional) Install Python & C/C++ compiler support
bash $(npm root -g)/orin-ide/setup.sh

# 4. Start OrinIDE
orin-ide

Then open http://127.0.0.1:3000 in your mobile browser.

Features

| | | |---|---| | Multi-Model AI Chat | Chat with AI models via OpenRouter — DeepSeek, Gemini, GPT, Claude, Gemma, and more. | | Streaming Responses | Real-time token-by-token streaming with auto-scroll and scroll-lock detection. | | Chat Modes | Chat, Generate, Edit, Patch, and Explain — each mode tailors the AI's output format. | | Patch Mode | AI outputs surgical @@patch diffs instead of full file rewrites. | | AI Continuation | Auto-resumes from exactly where it left off if a response gets cut off — verified against the model's actual finish signal, not a guess, so it never silently hands you half a file. | | Project-Wide Context | AI reads every file in your project before each message. | | System Prompt Engineering | Format rules placed first for free-model compliance. | | Model Picker | Switch models from the top bar. Shows token usage, context limits, and model health. | | Chat Sessions | Multi-session system with tags, pin/unpin, rename, export/import, stats, and search. | | @Skill Mention | Type @ in chat for an autocomplete dropdown of all skills. |

A team of four specialized AI agents work your request end-to-end, in sequence, each building on the last:

Architect  →  Coder  →  Reviewer  →  Integrator
 (plans)      (builds)   (audits)     (ships)

| | | |---|---| | Autonomous Task Execution | Hands a full multi-step build to the agent team — planning through implementation — with no micromanagement. | | Per-Agent Model Selection | Assign a different model to each of the 4 roles from the config panel. | | Multi-Model Collaboration | Each agent sees the previous agents' full output as context, budgeted to fit the model's window. | | Self-Healing Generation | If any agent's step is cut off mid-file, it auto-continues from exactly where it stopped before handing off — so a truncated response never gets silently passed down the pipeline or applied to your project. | | Terminal-Aware | Agents can emit @@cmd: shell commands (npm install, git init, etc.) — run individually or all at once, streamed live from a real shell. | | Session Memory | Every collaboration is auto-saved as a session — rename, switch, or delete from the sessions panel. |

| | | |---|---| | Multi-Provider Support | OpenRouter, Anthropic, OpenAI, Groq, Together AI, Ollama (local), DeepSeek — all configurable. | | Bring Your Own Provider (BYOP) | Add any OpenAI-compatible API endpoint. | | Local Model Support | Run models locally via Ollama — TinyLlama, Mini models, and other lightweight LLMs. | | Seamless Model Switching | Switch between local and cloud models on the fly. | | Custom API Endpoints | Point to any OpenAI-compatible server — local or remote. | | Provider Health | Monitor provider status and model availability from the settings panel. |

| | | |---|---| | Auto-Detect Errors | AI-powered bug detection scans your code for issues. | | Explain Issues | Plain-language explanations of what went wrong and why. | | Suggest Fixes | Generates corrected code with explanations for each fix. | | Generate Corrected Code | Produces ready-to-apply corrected code with full context. |

| | | |---|---| | AI Explain on Hover | Ctrl+Hover any word for a rich formatted tooltip with explanation. | | Lightbulb Actions | AI-powered code actions in the editor gutter — Fix, Explain, Refactor, Optimize. | | AI Code Review | Full-file review with inline severity-tagged comments. | | AI Refactor | Select code, describe the change, get a diff-previewed refactor. | | Ghost Text Completions | Inline AI completions as you type, Tab to accept. | | AI Commit Messages | Generates a conventional commit message from your staged diff. | | Natural Language Terminal | Describe what you want in plain English, get the shell command. |

| | | |---|---| | File Explorer | Complete project file tree — create, rename, move, delete files and folders. | | File Favorites | Pin/unpin files to a Favorites section at the top of the file tree. | | Global Search | Project-wide keyword search with case-sensitive, whole-word, and regex options. | | Find & Replace | Cross-file find and replace with highlighted matches. | | ZIP Export / Import | Export any project as a .zip, or import one instantly. | | Media Upload | Drag-and-drop images, videos, and audio into your project. | | Quick Open | Ctrl+P opens a fuzzy file search modal. |

| | | |---|---| | Real Terminal | Fully interactive xterm.js shell — not a fake console. | | Multiple Sessions | Persistent terminal sessions that survive page refresh. | | Session Bar | Switch between terminal sessions with a session bar. | | Terminal Themes | Terminal colors sync to match the editor theme. |

| | | |---|---| | Source Control Panel | Shows branch name, staged/unstaged/untracked files. | | Stage / Unstage | Stage or unstage individual files or all at once. | | Commit | Commit with message (Ctrl+Enter). | | Push / Pull | Push and pull with status feedback. | | Git Init | Initialize a new repository. | | Auto-Refresh | Git sidebar auto-refreshes when it becomes visible. |

| | | |---|---| | Dark Purple Theme | Deep-purple, cyberpunk-inspired UI. | | Drag-to-Resize Panels | Resize sidebar, chat panel, agents panel, and terminal by dragging. | | Sidebar Positioning | Dock the Explorer and AI Chat to the left or right independently. | | Command Palette | Ctrl+Shift+P opens a searchable command palette. | | Voice Commands | Web Speech API for voice-driven IDE actions. | | Live Preview | Opens an iframe-based live preview of the project's index.html. | | Diff Viewer | Review AI edits line-by-line in split or unified view. | | Responsive Layout | Fully responsive — works on desktop, tablet, and mobile. | | Mobile Navigation | Tab bar, FAB menu, and touch-optimized controls for Android. |

Keyboard Shortcuts

| General | Editor | AI Features | Navigation | Terminal | |---|---|---|---|---| | Ctrl+P Quick Open | Ctrl+D Select next occurrence | Ctrl+Shift+I Toggle AI completions | Ctrl+Shift+F Search sidebar | Ctrl+` Toggle terminal | | Ctrl+Shift+P Command Palette | Ctrl+/ Toggle comment | Ctrl+Shift+R Toggle AI code review | Ctrl+Shift+G Git sidebar | Ctrl+Shift+C Copy selection | | Ctrl+S Save file | Shift+Alt+F Format document | Ctrl+Shift+E AI refactor selection | Ctrl+Shift+S Snippet Palette | Ctrl+Shift+V Paste | | Ctrl+W Close tab | Ctrl+\ Split editor | Ctrl+Hover AI explain on hover | Ctrl+Shift+H Find & Replace | | | Ctrl+N New file | Ctrl+G Go to line | Ctrl+L Toggle AI Chat panel | | | | Ctrl+B Toggle sidebar | F12 Go to definition | Ctrl+Shift+A Toggle AI Agents panel | | | | Ctrl+, Open Settings | | | | | | Ctrl+K Shortcuts Panel | | | | |

AI Models

All models below are available on the OpenRouter free tier unless noted:

| Model | Type | Notes | |---|---|---| | openrouter/auto | Auto | Auto-selects best free model (default) | | Poolside Laguna xs.2 | Free | Fast coding-focused model | | GLM-4.5 Air | Free | Z-AI free model | | Tencent HY3 | Free | Preview model | | GPT-OSS 120B | Free | OpenAI open-weights model | | Nvidia Nemotron 120B | Free | Powerful free model | | Google Gemma 3 27B | Free | Google's open model | | Cohere North Mini Code | Free | Free coding model | | DeepSeek V4 Pro | Paid | Best overall for code | | GPT-5.5 | Paid | OpenAI flagship | | Claude Opus 4.6 | Paid | Anthropic flagship |

You can also enter any custom OpenRouter model ID directly in the settings panel.

Project Structure

orin-ide/
├── backend/
│   ├── server.js                  # Express server + WebSocket + AI proxy
│   ├── routes/
│   │   ├── files.js               # File system API + surgical patch endpoint
│   │   ├── terminal.js            # PTY terminal over WebSocket
│   │   ├── export.js              # ZIP export, Termux export
│   │   └── preview.js             # Live preview route
│   └── services/
│       ├── terminalManager.js     # PTY session management
│       └── watcherManager.js      # File change watcher (chokidar)
├── frontend/
│   └── public/
│       ├── index.html             # Main app shell + splash screen
│       ├── assets/
│       │   ├── logo-mark.svg      # Full OrinIDE logo
│       │   ├── logo-icon.svg      # 24px compact logo
│       │   └── favicon.svg        # Browser favicon
│       ├── css/                   # 9 modular stylesheets
│       │   ├── main.css           # Core layout, variables, splash
│       │   ├── sidebar.css        # Explorer, file tree, git panel
│       │   ├── editor.css         # Editor, tabs, diff viewer
│       │   ├── terminal.css       # Terminal panel
│       │   ├── chat.css           # AI chat panel
│       │   ├── modals.css         # All modal dialogs
│       │   ├── mobile.css         # Mobile responsive
│       │   ├── agents.css         # AI Agents panel
│       │   └── overrides.css      # Fine-tuning overrides
│       └── js/                    # 44 feature modules
│           ├── app.js             # Main bootstrap + boot sequence
│           ├── api.js             # API client + AI proxy
│           ├── editor.js          # Monaco Editor manager
│           ├── chat.js            # AI Chat with streaming
│           ├── utils.js           # Utilities, parseFiles, parsePatches, renderMD
│           ├── theme.js           # 4 editor themes with token rules
│           ├── aiexplain.js       # AI explain on hover
│           ├── ainline.js         # Lightbulb, long-press, context menu
│           ├── aireview.js        # AI code review
│           ├── airefactor.js      # AI refactor inline
│           ├── aicodeactions.js   # AI code actions provider
│           ├── agents.js          # Multi-agent collaboration
│           ├── aiterminal.js      # Natural language to shell
│           ├── aicommit.js        # AI commit messages
│           ├── aicompletions.js   # Ghost text completions
│           ├── filetree.js        # File explorer
│           ├── fileicons.js       # 40+ file type icons
│           ├── terminal.js        # xterm.js terminal
│           ├── termthemes.js      # Terminal color themes
│           ├── voicecommands.js   # Voice commands
│           ├── voice.js           # Voice input for chat
│           ├── skills.js          # Skills system
│           ├── features.js        # Chat sessions manager
│           ├── snippet*.js        # Snippet engine + palette
│           ├── shortcuts.js       # Shortcuts panel
│           ├── favorites.js       # File favorites
│           ├── breadcrumb.js      # Breadcrumb navigation
│           ├── spliteditor.js     # Split editor
│           ├── gitdiff.js         # Git diff decorations
│           ├── git-mgr.js         # Git source control panel
│           ├── cmdpalette.js      # Command palette
│           ├── quickopen.js       # Quick open file search
│           ├── providers.js       # AI provider configs
│           ├── preview.js         # Live preview
│           ├── media.js           # Asset upload
│           ├── imageapi.js        # Free image API
│           ├── resizer.js         # Panel drag-to-resize
│           ├── global-search.js   # Global search
│           ├── sidebar-position.js # Sidebar docking
│           ├── autosave-indicator.js # Dirty state indicator
│           ├── vibe.js            # Diff viewer, code snapshots, startup
│           └── orin_patches.js    # Final patches + provider setup
├── bin/
│   ├── orin-ide.js                # CLI entry point
│   └── postinstall.js             # Post-install message
├── assets/
│   ├── logo-mark.svg              # Full logo (root copy)
│   ├── preview.png                # Project preview screenshot
│   └── preview.mp4                # Demo video (add your own)
├── setup.sh                       # Termux dependency installer
└── package.json

Security

Version 1.0.5+ includes a full security hardening pass:

  • Path traversal protection on all export routes via safeProjectName() validation
  • Content-Disposition header injection fixed
  • targetDir restricted to an allowlist of safe roots on Termux export
  • localOnly middleware added to all routes
  • WebSocket connection limit (max 10 simultaneous clients)
  • Broadened rm ban pattern to catch all dangerous variants
  • multer upgraded to ^2.0.0 — resolves 7 high-severity CVEs from 1.x
  • archiver upgraded to ^7.0.1 — removes deprecated transitive dependencies

Requirements

| | | |---|---| | Node.js | >= 18.0.0 | | API Key | OpenRouter (free tier available) for AI features | | Browser | Any modern browser — Chrome, Firefox, Edge, Brave |

Contributing

Contributions, issues, and feature requests are welcome.

  1. Fork the repo
  2. Create a feature branch — git checkout -b feat/your-feature
  3. Commit your changes — git commit -m "feat: add your feature"
  4. Push to the branch — git push origin feat/your-feature
  5. Open a Pull Request

Please check the issues page before opening a new one.

License

MIT © 2026 Nandan Das[email protected]

See LICENSE for full terms.

Changelog

Agentic Mode

  • Fixed a bug where every agent turn threw ReferenceError: systemContent is not defined, which made Agentic Mode fail immediately on every send (the multi-agent pipeline never actually produced output)
  • The agent's system prompt is now correctly preserved when the conversation is trimmed to fit the model's context budget, instead of being rebuilt from a variable that didn't exist in that scope
  • Agentic Mode (Architect → Coder → Reviewer → Integrator) is now fully functional end-to-end, including auto-continue on cut-off responses and running @@cmd shell commands from the results

Local AI Model Support

  • Integrated local model execution directly inside Orin IDE via Ollama
  • Support for running Ollama models, TinyLlama, Mini models, and other lightweight local LLMs
  • Install, manage, and run local models directly from the IDE without leaving the workspace

Agentic Mode

  • New Agentic Mode for autonomous and multi-step task execution
  • Multiple mini AI models work together for improved reasoning and task completion
  • Intelligent orchestration between models for coding, debugging, and assistance
  • Phase-based workflow: Thinking → Planning → Coding → Integrating → Done
  • Fixed a crash that could stop the agent pipeline after the first step
  • Agents now auto-recover from a cut-off response before handing off to the next agent

AI Bug Fixer

  • AI-powered bug detection that scans code for issues
  • Suggests fixes with explanations for each detected problem
  • Generates corrected code ready to apply

Extensible AI Ecosystem

  • Bring-your-own-provider (BYOP) support — use any OpenAI-compatible API
  • Custom API endpoints and self-hosted AI services fully supported
  • Flexible configuration system for developers and power users
  • Seamless switching between local and remote models

UI & UX Enhancements

  • Complete UI redesign and visual improvements
  • Enhanced animations, layouts, and micro-interactions
  • Improved accessibility across the entire IDE
  • Better responsiveness and overall user experience

Accessibility & Integration

  • Unified AI experience across editor, terminal, and assistant panels
  • AI features accessible throughout the IDE
  • Keyboard-first design — every feature accessible via shortcuts

Patch Mode

  • Patch button in top bar and extras popup — forces AI to output only @@patch diffs
  • Dedicated patch-only system prompt with zero file creation instructions
  • Full file content sent in user message for maximum AI context
  • 4-strategy auto-converter catches AI output in any format
  • LCS-based diff engine finds ALL changed regions
  • Backend fuzzy matching for resilient patch application

AI Continuation System

  • Auto-chains when generation is incomplete, verified against the model's real finish reason
  • Up to 10 continuations with minimal, bounded context per continue
  • Stop button kills the continuation loop
  • Fallback "Save to Project" panel when continuation fails

System Prompt Improvements

  • Format rules placed first for free model compliance
  • Shorter, more direct prompts
  • Free model context limits corrected to 16384 tokens

Bug Fixes

  • DiffViewer.captureOrig() crash fixed
  • False-positive Continue button eliminated
  • Patch apply backend now handles CRLF, tabs, trailing whitespace via fuzzy matching
  • Removed a duplicate continuation handler that ignored the continue limit and could exhaust the model's context window on long sessions

New Features

  • Project-Wide AI Context — AI reads every file in your project before each message
  • Surgical AI Edits@@patch: format for targeted changes without full rewrites
  • Skills System — Expert AI behavior presets with @mention autocomplete
  • HTML Preview in Chat — Live preview button on every HTML code block
  • Free Image API — 20+ categories from Picsum Photos and LoremFlickr
  • Image Picker — Visual grid browser for stock images
  • Smart Portfolio Generation — Real image URLs injected into AI prompts

Bug Fixes

  • Diff viewer blank screen fixed
  • Code block header layout fixed
  • Streaming render fix with requestAnimationFrame batching
  • Auto-scroll pause on manual scroll during streaming

Full security audit and hardening release. See the Security section for details.

Built with care by Nandan Das