No description
Find a file
openhands 05357580ae Fix path traversal validation and mutation sanitization
- Fix isValidProjectRoot() in 4 API routes to properly prevent path traversal
  by using path.relative() to ensure paths stay within allowed base directory
  (replaces ineffective normalized.includes('..') check)

- Fix readiness-report.mjs to remove misleading path traversal validation
  that was ineffective after path.resolve() removes '..' segments

- Fix asNonEmptyString() in mutations.ts to only remove control characters
  while preserving backslashes (for Windows paths) and punctuation (for user text)

These changes address security review comments about ineffective path traversal
checks and mutation input corruption.
2026-02-14 17:57:12 +00:00
.beads revert: restore proper JSON escaping in issues.jsonl 2026-02-14 09:25:29 +00:00
assets readme pics 2026-02-13 00:20:44 -08:00
docs docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
scripts feat(ui): Enhance Graph and Kanban UX (bb-18e) 2026-02-12 23:37:27 -08:00
skills/beadboard-driver Fix path traversal validation and mutation sanitization 2026-02-14 17:57:12 +00:00
src Fix path traversal validation and mutation sanitization 2026-02-14 17:57:12 +00:00
tests docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
tools docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
.eslintrc.json chore(repo): ignore local beads runtime lock and screenshot artifacts 2026-02-12 23:39:43 -08:00
.gitattributes chore: initialize beadboard baseline 2026-02-11 17:42:51 -08:00
.gitignore chore(repo): ignore local beads runtime lock and screenshot artifacts 2026-02-12 23:39:43 -08:00
AGENTS.md docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
bb.ps1 docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
eslint.config.mjs chore: clear lint warnings and finalize shared epic chip strip 2026-02-13 12:44:14 -08:00
image-1.png readme pics 2026-02-13 00:20:44 -08:00
image.png readme pics 2026-02-13 00:20:44 -08:00
LICENSE chore: initialize beadboard baseline 2026-02-11 17:42:51 -08:00
next-env.d.ts Add tracer-bullet Kanban baseline with live issues read path 2026-02-11 17:55:26 -08:00
next.config.ts feat: establish tokenized kanban design foundation 2026-02-11 18:38:51 -08:00
package-lock.json fix: replace non-standard flock() with portable file-based mutex 2026-02-14 17:17:00 +00:00
package.json Update package.json 2026-02-14 01:17:10 -08:00
postcss.config.js feat: establish tokenized kanban design foundation 2026-02-11 18:38:51 -08:00
README.md readme pics 2026-02-13 00:20:44 -08:00
tailwind.config.ts Persist root UI/tailwind/responsive guard refinements from stash backlog 2026-02-11 21:25:46 -08:00
tsconfig.json chore: initialize beadboard baseline 2026-02-11 17:42:51 -08:00

BeadBoard

The Windows-native Control Center for Beads.

BeadBoard is a high-performance local dashboard for managing your software development tasks. Built on the Beads protocol, it provides a unified, visualization-rich interface over your distributed project landscape. alt text

🚀 Why BeadBoard?

Most task managers are siloes. BeadBoard is a lens over your source code.

  • Source of Truth: Reads directly from .beads/issues.jsonl in your repo. No database sync skew.
  • Windows Optimized: Built from the ground up to handle Windows paths, drive letters, and filesystem performance.
  • Zero Latency: Optimistic UI updates make interactions feel instant.

Core Features

1. Multi-Project Registry & Scanner

Stop context switching between repos.

  • Project Registry: Persist your favorite project roots for one-click access.
  • Auto-Discovery: Built-in filesystem scanner finds Bead-enabled projects across your drives.
  • Aggregate Mode: View tasks from all registered projects in a single unified board.

2. Interactive Kanban Dashboard (/)

Manage your flow state. Kanban Dashboard

  • Live Updates: Boards refresh automatically when the underlying JSONL files change (e.g., via CLI).
  • Progressive Disclosure: Task details, metadata, and relations are tucked away until you need them.
  • Smart Filtering: Filter by priority, assignee, status, or full-text search across thousands of beads.

3. Dependency Graph Explorer (/graph)

Understand the "Why" and "What's Next". alt text

  • Epic-Centric Layout: Automatically groups tasks by Epic for logical clustering.
  • True DAG Visualization: Uses Dagre layout engine to enforce a strict Left-to-Right dependency flow.
    • Left: Incoming Blockers
    • Center: Focus Task
    • Right: Unlocks / Downstream
  • Focus Mode: Minimizable dependency strip and deep-linking support for sharing exact views.
  • Smart Metadata: See bead counts, priorities, and status health at a glance.

🛠️ Stack

  • Framework: Next.js 15 (App Router)
  • UI Engine: React 19 + Framer Motion
  • Styling: Tailwind CSS + Custom Design System
  • Type Safety: Strict TypeScript

Quick Start

  1. Install: npm install
  2. Run: npm run dev
  3. Explore: Open http://localhost:3000

🤝 Contribution

  • Typecheck: npm run typecheck
  • Test: npm run test