open-index/open-npm huggingface dataset:
npm package: @roohafza/kamui
Description: Switch your main branch to any git worktree's state
Author: r0ohafza
Latest version: 1.0.0

# kamui

Preview any git worktree on your main branch — with live sync.

Pick a worktree and main instantly reflects its full state: commits, staged changes, unstaged changes, and untracked files. Edit files in your worktree and watch main update in real time. When you exit, main resets to `origin/main` automatically.

## Prerequisites

- Node.js 18+
- git with at least one worktree set up (`git worktree add <path> <branch>`)

## Install

```bash
npm install -g @roohafza/kamui
```

Then run `kamui` from any repo with worktrees.

## Usage

Run `kamui` from any git repository that has worktrees:

```bash
kamui
```

Use arrow keys to select a worktree, then press Enter.

```
kamui — switch main to any worktree's state

Main branch: main
? Select a worktree to kamui:
❯ feature-auth      ~/projects/myapp-auth      a1b2c3d
  fix-header         ~/projects/myapp-header    e4f5g6h
  Exit
```

Once a worktree is active, the menu updates to let you switch or reset:

```
? Kamui active on feature-auth. Switch or reset?
❯ feature-auth (active)  ~/projects/myapp-auth      a1b2c3d
  fix-header              ~/projects/myapp-header    e4f5g6h
  Reset to origin/main
  Exit
```

After selection, kamui enters live sync mode. Any file change in the worktree is automatically re-applied to main:

```
  Watching feature-auth for changes... (Enter = back to menu, q = quit)
  3:42:15 PM Synced
  3:42:18 PM Synced
```

| Key     | Action              |
|---------|---------------------|
| Enter   | Back to worktree menu |
| q       | Quit and reset main |
| Ctrl+C  | Quit and reset main |

## Development

```bash
pnpm install
pnpm dev          # run directly with tsx
pnpm build        # compile to dist/
pnpm start        # run compiled output
pnpm lint         # eslint
pnpm format       # prettier --write
pnpm format:check # prettier --check
```
npm package: @rook2pawn/picobus
Description: [https://github.com/rook2pawn/picobus](https://github.com/rook2pawn/picobus) A lightweight, dependency-free event emitter for JavaScript and Node.js. Ideal for managing state transitions, building FSMs, and wiring up simple pub/sub flows.
Author: David Wee
Latest version: 2.0.1

# 🚎 picobus

[https://github.com/rook2pawn/picobus](https://github.com/rook2pawn/picobus)
A lightweight, dependency-free event emitter for JavaScript and Node.js. Ideal for managing state transitions, building FSMs, and wiring up simple pub/sub flows.

Published on npm as `@rook2pawn/picobus` https://www.npmjs.com/package/@rook2pawn/picobus

# Features
✅ Simple .on(event, fn) and .emit(event, data) interface

✅ .once() support for one-time listeners

✅ .off() and .removeAll() for cleanup

✅ Wildcard * event support

✅ Tiny and fast (zero dependencies)

# Installation
```
npm install picobus
```
# Testing
```
npm test
```

# Usage
```js
import { PicoBus } from 'picobus';

const bus = new PicoBus();

function onFoo(data) {
  console.log('Got foo:', data);
}

bus.on('foo', onFoo);

bus.emit('foo', { msg: 'hello' });
// => Got foo: { msg: 'hello' }

bus.off('foo', onFoo);
bus.emit('foo', { msg: 'world' }); // no output
```

# API

## bus.on(event, fn)
Register a listener for a specific event.

## bus.once(event, fn)
Register a listener that fires only once.

## bus.off(event, fn)
Remove a specific listener for a given event.

## bus.emit(event, data)
Emit an event and pass optional data.

## bus.removeAll(event?)
Remove all listeners for an event. If no event is specified, removes all listeners for all events.

## bus.on('*', fn)
Wildcard support: catch all emitted events.

```js
bus.on('*', (eventName, data) => {
  console.log(`[${eventName}] ->`, data);
});
```

# License

MIT 2025
npm package: @rookdaemon/agora-ui
Description: Browser-based chat interface for Agora peer-to-peer messaging
Author: Rook
Latest version: 0.1.10

# agora-ui

Browser-based chat interface for [Agora](https://github.com/rookdaemon/agora) — the coordination protocol for AI agents.

## Usage

```bash
npx @rookdaemon/agora-ui
```

Opens the Agora Chat web UI in your default browser at `http://localhost:3000`.

## Features

- Connect to Agora relay as a human participant
- Multi-peer chat interface (see who's online, send to specific peers or broadcast)
- Message history persisted across sessions
- Uses your Agora identity from `~/.config/agora/config.json`

## Quick Start

```bash
# Initialize Agora identity (if you haven't)
npx @rookdaemon/agora init

# Launch the chat UI
npx @rookdaemon/agora-ui

# Or specify a relay and/or port
npx @rookdaemon/agora-ui --relay wss://agora-relay.lbsa71.net --port 3000
```

## Interface

A browser-based React chat UI with:

- Status indicator (Connected / Connecting / Disconnected)
- Online peer list
- Scrollable message history with timestamps
- Input field with send button and keyboard history (↑/↓)

## Commands

Type these in the message input:

- `@peer message` — Send DM to specific peer
- `/peers` — List online peers with full pubkeys
- `/clear` — Clear message history
- `/help` — Show command reference

## Configuration

Uses Agora config at `~/.config/agora/config.json`. Set default relay:

```json
{
  "relay": {
    "url": "wss://agora-relay.lbsa71.net"
  }
}
```

## CLI Options

| Flag | Description |
|------|-------------|
| `--relay <url>` | WebSocket relay URL |
| `--port <n>` | Local HTTP port (default: 3000) |
| `--name <name>` | Display name broadcast to peers |
| `--config <path>` | Path to Agora config file |
| `--storage-dir <path>` | Directory for conversation/sent history |

## License

MIT