obc-cli2
v0.2.19
Published
<div align="center">
Downloads
102
Maintainers
Readme
openboard
The whiteboard Claude can collaborate
Run one command. Open a shared Excalidraw canvas. You draw, Claude draws in real-time.
npx obcIf you are running from this repository source, use the local script instead:
node ./bin/openboard.jsornpx --no-install ./bin/openboard.js
How it works
Browser (Excalidraw) ← 1s poll → Server (:3333) ← file I/O → board.json ← Read/Write → Claude Codeopenboard bridges visual communication between you and Claude Code. It spins up a local Excalidraw editor that shares a single board.json file with Claude. You sketch architecture diagrams, wireframes, or quick notes and Claude sees them instantly. Claude draws back and you see it in the browser.
No API keys. No signup. No config files. Just npx and go.
Quick Start
cd your-project
npx obc-cli2That's it. The CLI will:
- Create
.openboard/board.jsonin your project - Register Claude Code hooks in
.claude/settings.local.json - Start the whiteboard server at
http://localhost:3333
Open your browser and start drawing.
Features
- Zero config · One command. No environment variables, no cloud accounts.
- Real-time sync · 1-second polling keeps the canvas in sync between you and Claude.
- Full Excalidraw editor · Shapes, arrows, text, freehand drawing, infinite canvas.
- Claude native · Works with Claude Code's Read and Write tools. Claude understands the Excalidraw JSON format natively via hooks.
Architecture
your-project/
├── .openboard/
│ ├── board.json # Shared drawing data (Excalidraw format)
│ └── hooks/
│ ├── session-hint.mjs # SessionStart hook
│ └── pretool-guide.mjs # PreToolUse hook
└── .claude/
└── settings.local.json # Hook registrations (auto-configured)Hooks are the key integration. When Claude accesses board.json, the PreToolUse hook injects a comprehensive Excalidraw JSON guide, teaching Claude how to draw shapes, use colors, create arrows, and maintain visual hierarchy. Claude doesn't need to be told how to use the whiteboard; it just knows.
Environment Variables
| Variable | Default | Description |
|---|---|---|
| PORT | 3333 | Server port |
| OPENBOARD_HOSTNAME | localhost | Server hostname |
| OPENBOARD_HOST | localhost | Server hostname alias |
Note: On Windows, the system
HOSTNAMEenvironment variable is often set automatically, so openboard usesOPENBOARD_HOSTNAME/OPENBOARD_HOSTinstead.
Development
git clone https://github.com/dogebi/obc.git
cd obc
npm install
npm run dev # Start dev server on port 3000
npm run build # Build standalone server
npm run lint # Run ESLintTech Stack
- Next.js · Full-stack framework with standalone output
- Excalidraw · Open-source whiteboard engine
- React · UI library
- Tailwind CSS · Styling
- TypeScript · Type safety
License
MIT
Built for Claude Code. Open source with Excalidraw.
