npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pi-board

v1.0.5

Published

AI-first local task/sprint manager

Readme

pi-board

AI-first local task and sprint manager with a Kanban web UI. Manage tasks through conversational AI tools or a drag-and-drop board in your browser.

pi-board screenshot

Installation

From npm

pi install npm:pi-board

From GitHub

pi install git:github.com/JPBallares/pi-board

From local path (development)

pi install /path/to/pi-board

Quick Start

  1. Install the package (see above).

  2. Start the board server:

    /board

    This opens http://localhost:3333 in your default browser.

  3. Create your first sprint and tasks via AI or the web UI.

Web UI

Open the Kanban board with /board or visit http://localhost:3333.

Features

  • Kanban columns: Backlog → In Progress → Code Review → UAT → Completed
  • Drag & drop: Move tasks between columns; changes persist immediately
  • Mobile fallback: Tap the ⋯ menu on any card to move it without drag-and-drop
  • Task detail modal: Click any card to view and edit all fields inline
  • Search: Filter tasks by title or description (submit-based)
  • Filters: Filter by sprint, assignee, or label
  • Active sprint quick button: One-click filter to the currently active sprint
  • Sort: By priority, order, or creation date — preference saved to localStorage
  • Labels: Create colored labels and attach them to tasks
  • People: Create assignees with colors; assign during task creation or editing
  • Sprints: Only one active sprint at a time; completing a sprint moves all its tasks to Completed
  • Auto-refresh: Board updates every 5 seconds when no modal is open
  • Keyboard shortcuts:
    • N — New task
    • E — Edit open task
    • D — Delete open task
    • Esc — Close modal
    • ? — Show shortcuts help
  • Collapsible columns: Click ▾/▸ to collapse/expand columns; state persists in localStorage
  • WIP limits: Set max tasks per column; visual warning when exceeded
  • Markdown descriptions: Task descriptions render as Markdown in the detail view
  • Overdue notifications: Toast warning when tasks are past their due date
  • Stats modal: Burndown chart for the active sprint and assignee workload table
  • Export / Import: Download full board as JSON, export filtered tasks as CSV, or restore from JSON

AI Tools

Task Management

| Tool | Description | |------|-------------| | board_create_task | Create a new task. Supports title, description, type, priority, status, sprint, assignee, labels, due date, estimate, and dependencies. Auto-assigns to the active sprint if none specified. | | board_update_task | Update any task field by ID. Can reassign, change status, update labels, dependencies, etc. | | board_list_tasks | List tasks with optional filters (sprint, status, assignee, labels, search, archived) and sorting. | | board_get_task | Get full details of a single task including labels, assignee, dependencies, subtasks, activity, and comments. | | board_delete_task | Delete a task by ID. | | board_duplicate_task | Duplicate a task by ID (creates a copy in Backlog). | | board_move_task | Move a task to a different status column and/or order. |

Sprint Management

| Tool | Description | |------|-------------| | board_create_sprint | Create a new sprint with start and end dates. Automatically activates it and completes the previous active sprint. | | board_complete_sprint | Complete a sprint by ID. All tasks in that sprint are moved to the Completed column. | | board_incomplete_sprint | Reactivate a completed sprint. | | board_get_sprint | Get a single sprint by ID. | | board_update_sprint | Update sprint name, start date, or end date. | | board_delete_sprint | Delete a sprint by ID (fails if tasks are assigned). | | board_archive_sprint_tasks | Archive all completed tasks in a sprint. | | board_get_sprint_stats | Get sprint statistics: total/completed tasks, completion %, story points breakdown. | | board_get_sprint_burndown | Get daily completion data for burndown analysis. |

Labels

| Tool | Description | |------|-------------| | board_create_label | Create a colored label (e.g., "urgent", "frontend"). | | board_list_labels | List all available labels. | | board_update_label | Update a label's name or color by ID. | | board_delete_label | Delete a label by ID. |

People

| Tool | Description | |------|-------------| | board_create_person | Create a person (assignee) with a color. | | board_list_people | List all people. | | board_update_person | Update a person's name or color by ID. | | board_delete_person | Delete a person by ID (unassigns their tasks). |

Subtasks

| Tool | Description | |------|-------------| | board_add_subtask | Add a subtask to a task. | | board_toggle_subtask | Toggle a subtask's completion status. | | board_update_subtask | Update a subtask title or order. | | board_delete_subtask | Delete a subtask by ID. |

Comments

| Tool | Description | |------|-------------| | board_add_comment | Add a comment to a task. | | board_list_comments | List all comments on a task. | | board_delete_comment | Delete a comment by ID. |

Column Settings

| Tool | Description | |------|-------------| | board_list_column_settings | List WIP limits for all columns. | | board_set_column_wip_limit | Set the WIP limit for a column/status. |

Reporting

| Tool | Description | |------|-------------| | board_get_sprint_stats | Get sprint statistics (tasks, completion %, estimates). | | board_get_sprint_burndown | Get burndown data for a sprint. | | board_get_workload | Get assignee workload overview (task count, total points). |

Export / Import

| Tool | Description | |------|-------------| | board_export_json | Export all board data to JSON. | | board_import_json | Import board data from JSON (replaces all existing data). |

Commands

| Command | Description | |---------|-------------| | /board | Start the web UI server and open it in your browser. |

Data Model

Task

  • title, description (supports Markdown rendering)
  • type: bug | feature | chore
  • status: backlog | in-progress | code-review | uat | completed
  • priority: urgent | high | medium | low
  • order: display order within a column
  • sprint_id, assignee_id
  • due_date: optional deadline (YYYY-MM-DD)
  • estimate: optional story points (integer)
  • archived: boolean, hidden from board by default
  • labels: many-to-many colored labels
  • depends_on: task dependencies (many-to-many, with cycle detection)
  • subtasks: checklist items with completion tracking
  • activity: audit log of create/update/move/delete operations
  • comments: threaded comments on tasks

Sprint

  • name, start_date, end_date
  • status: active | completed
  • Only one sprint may be active at a time

Label

  • name, color (hex)

Person

  • name, color (hex)

Column Settings

  • status, wip_limit: optional max tasks per column

Storage

All data is stored locally in an SQLite database at .pi/board.db. No remote services are used.

Database migrations run automatically on startup to add new columns and tables without breaking existing data.

Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | PI_BOARD_PORT | Port for the web UI server | 3333 |