Planning board for organizing projects, refining tasks, marking ready work onto a Kanban board, and storing detailed notes or execution plans. The same state is exposed through the browser UI, REST API, and an MCP Streamable HTTP endpoint for Claude Code, Codex, and other MCP clients.
docker compose up --buildOpen http://localhost:3000 on the host running Docker, or http://<machine-ip>:3000 from another machine on the same network.
State is stored in PostgreSQL in the vibepod-board-postgres-data Docker volume. Compose starts both the board service and a postgres:16-alpine service.
Set admin credentials before starting the board:
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-me
docker compose up --buildAdmins sign in through the browser UI and can create project-scoped API/MCP tokens from API Tokens.
To import an existing development board.json into an empty PostgreSQL database, run:
npm run import:json -- ./data/board.jsonThe container joins the shared VibePod Docker network named vibepod-network by default. See docs/integration-guide.md for MCP and VibePod container wiring.
Ready tasks become board cards locally. The API sync endpoint can optionally attach a GitHub issue when GitHub environment variables are configured.
To create real GitHub issues, set:
GITHUB_TOKEN=ghp_xxx
GITHUB_REPOSITORY=owner/repoGET /api/healthPOST /api/auth/loginPOST /api/auth/logoutGET /api/auth/meGET /api/projectsPOST /api/projectsPATCH /api/projects/:idGET /api/ideasPOST /api/ideasPATCH /api/ideas/:idPOST /api/ideas/:id/readyPOST /api/ideas/:id/sync-githubGET /api/boardPATCH /api/board/:idGET /api/documentsPOST /api/documentsPATCH /api/documents/:idGET /api/tokensPOST /api/tokensPATCH /api/tokens/:idPOST /api/tokens/:id/revokeGET /api/mcp-info
GET /api/ideas, GET /api/board, and GET /api/documents accept projectId query params for project-scoped reads.
Browser/full REST access uses the admin session cookie. Project-scoped API clients use Authorization: Bearer <token>.
Endpoint: POST /mcp
MCP requires:
Authorization: Bearer <project-token>
Tools:
list_projectscreate_projectlist_ideascreate_ideaupdate_ideamark_idea_readylist_boardmove_board_cardcreate_documentupdate_documentlist_documents
Resource:
vibepod-board://state
npm install
DATABASE_URL=postgres://vibepod:vibepod@localhost:5432/vibepod_board \
ADMIN_USERNAME=admin \
ADMIN_PASSWORD=admin \
npm run devFor Vite hot reload during UI work, run the API and UI separately:
npm run dev
npm run dev:uinpm test
npm run typecheck
npm run build
docker build -t vibepod-board:dev .