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

forkoff

v1.0.10

Published

⚠️ WAITLIST ONLY - Join at forkoff.app | CLI tool to connect your AI coding tools to mobile

Readme

⚠️ WAITLIST ONLY - NOT PUBLICLY AVAILABLE YET

This package requires an invitation to use. ForkOff is currently in private beta with a waitlist.

🔗 Join the waitlist at forkoff.app

After joining the waitlist, you'll receive an invitation email with access instructions. The CLI will not work without an active account invitation.



Overview

ForkOff CLI connects your development machine to the ForkOff mobile app, enabling you to:

  • Control AI coding sessions from your phone
  • Approve code changes on the go
  • Send prompts to Claude, Cursor, and other AI tools
  • Monitor progress in real-time
  • Get notifications for permission requests

Installation

npm install -g forkoff

Quick Start

1. Pair with Mobile App

forkoff pair

Scan the QR code with your ForkOff mobile app to link your device.

2. Stay Connected

forkoff connect

Keep this running to receive commands from your mobile app.


Commands

| Command | Description | |---------|-------------| | forkoff pair | Generate QR code to pair with mobile app | | forkoff connect | Connect and listen for commands | | forkoff status | Check connection status | | forkoff disconnect | Disconnect from server | | forkoff config | View/modify configuration | | forkoff startup | Manage automatic startup on login | | forkoff startup --enable | Enable automatic startup | | forkoff startup --disable | Disable automatic startup | | forkoff startup --status | Show startup registration status |

Configuration Options

# Show current configuration
forkoff config --show

# Set custom API URL
forkoff config --api https://your-server.com/api

# Set custom WebSocket URL
forkoff config --ws wss://your-server.com

# Set device name
forkoff config --name "My MacBook Pro"

# Reset all configuration
forkoff config --reset

Global Options

| Option | Description | |--------|-------------| | -q, --quiet | Suppress all output (for background operation) |

Background Operation

Run ForkOff silently in the background with no console output:

forkoff connect --quiet

This is used by the automatic startup feature and is useful for running ForkOff as a background service.

Automatic Startup

When you run forkoff pair or forkoff connect, ForkOff automatically registers itself to start on login. This means you don't need to manually run forkoff connect every time you start your computer.

  • Windows: Uses Task Scheduler (ForkOffCLI task, runs on logon)
  • macOS: Uses launchd (~/Library/LaunchAgents/app.forkoff.cli.plist)

To opt out:

forkoff startup --disable

Once disabled, pair and connect will not re-register startup. To re-enable:

forkoff startup --enable

Programmatic Usage

Integrate ForkOff into your AI coding tools:

import { createIntegration } from 'forkoff';

const forkoff = createIntegration();

// Connect to ForkOff server
await forkoff.connect();

// Handle incoming messages from mobile app
forkoff.onMessageReceived((sessionId, content, requestedBy) => {
  console.log(`Message from ${requestedBy}: ${content}`);

  // Send a response
  forkoff.sendMessage(sessionId, 'Processing your request...');
});

// Stream responses in real-time
const stream = forkoff.startStreaming(sessionId);
stream.write('Here is ');
stream.write('a streaming ');
stream.write('response.');
stream.end();

// Request approval for code changes
const approval = await forkoff.requestApproval(
  sessionId,
  messageId,
  'CODE_CHANGE',
  'Add authentication middleware',
  { filePath: 'src/middleware/auth.ts', diff: '...' }
);

if (approval.status === 'approved') {
  // Apply the changes
}

// Send terminal output
forkoff.sendTerminalOutput(sessionId, '> npm install\n Done', 'stdout');
forkoff.sendTerminalExit(sessionId, 0);

// Update device status
forkoff.setStatus('busy');

Configuration

Configuration files are stored at:

| Platform | Location | |----------|----------| | Windows | %APPDATA%\forkoff-cli\config.json | | macOS | ~/Library/Preferences/forkoff-cli/config.json | | Linux | ~/.config/forkoff-cli/config.json |


Security

Your data stays yours. All communication between the ForkOff CLI and your mobile device is protected with end-to-end encryption (E2EE):

  • Messages, code, and commands are encrypted on-device before leaving your machine
  • The ForkOff server never sees your plaintext data — it only relays encrypted payloads
  • Each device pair establishes a unique encrypted channel using ephemeral key exchange
  • Session keys are derived per-connection, so even if one session is compromised, others remain secure

No additional setup required — E2EE is enabled automatically when you pair your device.

Requirements

  • Node.js 18+
  • ForkOff mobile app