plainhub
v1.4.1
Published
Talk to your whole repository. GitHub-native browser editor with AI Panel and voice mode. CLI and MCP Server included.
Maintainers
Readme
PlainHub
Talk to Your Whole Repository. GitHub-native browser editor with AI Panel and voice mode.
Open, edit, save — directly to your repo. Ask AI about your files. Now with voice. No server, no database.
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 plainhubQuick 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 browserMCP Server (Claude Code)
claude mcp add plainhub -- plainhub-mcpThen say: "Open the README in PlainHub"
MCP Server (Cursor)
Add to .cursor/mcp.json:
{
"mcpServers": {
"plainhub": {
"command": "plainhub-mcp"
}
}
}CLI Usage
Commands
| Command | Description |
|---------|-------------|
| plainhub open <file> | Open a file in PlainHub |
| plainhub diff <sha> | Show commit diff in PlainHub |
| plainhub browse | Open repository file browser |
| plainhub auth | Authenticate with GitHub PAT |
| plainhub auth --from-gh | Import token from gh CLI |
| plainhub auth --status | Show auth status |
| plainhub auth --logout | Remove saved token |
Options
| Option | Value | Description |
|--------|-------|-------------|
| -r, --repo | owner/name | Repository |
| -b, --branch | string | Git branch |
| -l, --line | number | Jump to line |
| -n | | Print URL only (don't open browser) |
| --theme | dark/light | Editor theme |
| --preview | on/off | Markdown preview |
| --scroll | string | Scroll to heading in preview |
| --sidebar | on/off | Show sidebar |
| --fontSize | 10-32 | Font size |
| --lineNumbers | on/off | Show line numbers |
| --whitespace | on/off | Show whitespace |
| --no-auth | | Open 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 fileMCP Server Tools
| Tool | Description |
|------|-------------|
| plainhub_open | Open a file or change editor settings |
| plainhub_diff | Show commit diff in PlainHub |
| plainhub_browse | Open repository file browser |
| plainhub_auth | Save a GitHub PAT |
| plainhub_auth_status | Check authentication status |
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
Links
License
MIT
