New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

plainhub

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

plainhub

Talk to your whole repository. GitHub-native browser editor with AI Panel and voice mode. CLI and MCP Server included.

Source
npmnpm
Version
1.5.0
Version published
Weekly downloads
44
120%
Maintainers
1
Weekly downloads
 
Created
Source

PlainHub

Talk to Your Whole Repository. GitHub-native browser editor with AI Panel and voice mode.

Try PlainHub npm version

Open, edit, save — directly to your repo. Ask AI about your files. Now with voice. No server, no database.

Ask your own Claude Code in the PlainHub AI panel — it runs on your PC, read-only, no API key:

npm i -g plainhub
plainhub agent    # in the folder you want to ask about

Then in PlainHub: Settings → Connect your own agent, and enter the code it shows. Setup guide — from your phone, what it can read, troubleshooting.

What's New in v1.4.0 — "Talk to Your Whole Repository"

🎙 Voice Mode (Web App)

  • Push-to-talk voice input — hold the mic button to dictate
  • Read-aloud AI responses with adjustable speed (1.0x / 1.5x / 2.0x / 3.0x / 5.0x)
  • All in your browser — no server, no extra account

🤖 Enhanced AI Panel

  • Ask Claude about any file in your repository
  • BYOK (Bring Your Own Key) — your Anthropic API key stays in your browser
  • Streaming responses with diff preview for proposed edits

🔐 GitHub App Authentication

  • Per-repository access — choose exactly which repos PlainHub can read/write
  • No "all repos" scope, no full-account access
  • Minimal trust required to start

Try it now: plainhub.dev

Install

npm install -g plainhub

Quick Start

CLI

plainhub auth --from-gh        # Import auth from gh CLI (recommended)
plainhub open README.md -r owner/repo
plainhub browse -r owner/repo  # Open file browser

MCP Server (Claude Code)

claude mcp add plainhub -- plainhub-mcp

Then say: "Open the README in PlainHub"

MCP Server (Cursor)

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "plainhub": {
      "command": "plainhub-mcp"
    }
  }
}

CLI Usage

Commands

CommandDescription
plainhub open <file>Open a file in PlainHub
plainhub diff <sha>Show commit diff in PlainHub
plainhub browseOpen repository file browser
plainhub authAuthenticate with GitHub PAT
plainhub auth --from-ghImport token from gh CLI
plainhub auth --statusShow auth status
plainhub auth --logoutRemove saved token
plainhub postAdd a message to a ledger thread
plainhub decideCreate a pending decision card
plainhub ledger check <folder>Check a ledger's front matter and look for secrets
plainhub agentConnect your Claude Code to the PlainHub AI panel (read-only, this folder only)
plainhub agent --mailbox <owner/repo>Also answer from your phone through a private repository only you can write to
plainhub agent --forgetForget all paired browsers

Options

OptionValueDescription
-r, --repoowner/nameRepository
-b, --branchstringGit branch
-l, --linenumberJump to line
-nPrint URL only (don't open browser)
--themedark/lightEditor theme
--previewon/offMarkdown preview
--scrollstringScroll to heading in preview
--sidebaron/offShow sidebar
--fontSize10-32Font size
--lineNumberson/offShow line numbers
--whitespaceon/offShow whitespace
--no-authOpen without saved token

Examples

plainhub open docs/API.md -r owner/repo --preview on
plainhub open src/App.tsx -r owner/repo -l 42 --theme light
plainhub open README.md -r owner/repo -n  # Print URL only
plainhub diff abc1234 -r owner/repo       # Show commit diff
plainhub diff abc1234 -r owner/repo --path src/main.js  # Diff for specific file

MCP Server Tools

ToolDescription
plainhub_openOpen a file or change editor settings
plainhub_diffShow commit diff in PlainHub
plainhub_postAdd a message to a ledger thread
plainhub_decideCreate a pending decision card
plainhub_browseOpen repository file browser
plainhub_authSave a GitHub PAT
plainhub_auth_statusCheck authentication status

Ledger (shared notes for AI agents and people)

A ledger is a folder with .agents/threads/<thread>/NN-<role>.md (messages) and .agents/decisions/<id>.md (decision cards). Each file is Markdown with YAML front matter.

echo "All tests pass." | plainhub post --ledger . --thread gen-027 --role dev --verdict pass --summary "Fixed the save conflict"
plainhub decide --ledger . --id 2026-10-01-gen-027-release --summary "Ship gen-027" --body-file card.md
plainhub ledger check .
  • Never overwrites an existing file (post takes the next number, decide stops if the id exists)
  • Refuses secret-looking values (GitHub tokens, API keys, private keys) without printing them
  • Summary: one line, max 120 characters. Body: max 4KB
  • Room language: write the summary and body in the language set by .agents/room.md (type: room, language: ja — a BCP 47 tag; English if not set). post and decide print it after writing (CLI: on standard error), and the MCP tools say it in their descriptions
  • MCP tools write only to the ledger set by the PLAINHUB_LEDGER environment variable. Set PLAINHUB_ROLE to pin the role; owner cannot post from MCP

Authentication

PlainHub supports three authentication methods:

  • gh CLI import (recommended): plainhub auth --from-gh
  • Manual PAT: plainhub auth — opens GitHub token settings
  • Web UI: Enter PAT directly in the browser

Tokens are saved to ~/.config/plainhub/token with 0600 permissions (owner-only read/write).

Security

  • Tokens are stored locally with restrictive file permissions (0600)
  • URL fragments (#token=...) are never sent to servers per HTTP spec
  • Fragments are cleared from browser history immediately after use
  • No intermediary servers — browser communicates directly with GitHub API

License

MIT

Keywords

plainhub

FAQs

Package last updated on 07 Oct 2026

Related posts