xarmian d318ecf7fc Add workspace onboarding: CLI hints, web checklist, codebase detection, and relation field fix
- Print suggested /pad prompts after `pad init` creates a new workspace
- Add `pad onboard` command that detects project tooling (language, build system,
  test runner, CI, linter) and suggests matching conventions from the library
- Replace empty workspace welcome box with OnboardingChecklist component showing
  a 4-step guided setup with progress bar and /pad prompt hints
- Add contextual tips with /pad prompts to empty collection states
- Add onboarding workflow to /pad skill for agent-driven codebase analysis
- Fix relation fields storing slugs instead of UUIDs: server now resolves
  slugs/refs to UUIDs for relation-type fields on both create and update
2026-03-27 19:33:18 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00
2026-03-26 01:52:36 +00:00

Pad

Project management for developers and AI agents.

CI Release License


One binary. Local-first. No accounts. Pad gives you a web UI, a CLI, and an AI agent skill — all backed by SQLite, all in a single ~18MB binary.

For you: A clean web interface to organize tasks, ideas, phases, docs, and custom collections — with a rich editor, board views, wiki-links, and full-text search.

For your AI agent: A /pad skill that lets Claude Code manage your project through natural language — create tasks, check status, follow conventions, and plan phases.

Quick Start

# Install via Homebrew
brew install xarmian/tap/pad

# Or build from source
git clone https://github.com/xarmian/pad
cd pad && make build
cp pad /usr/local/bin/

# Initialize a workspace in your project
cd ~/projects/myapp
pad init "My App"

# Create your first task
pad create task "Set up CI pipeline" --priority high

# Open the web UI
pad open

The server auto-starts on first use. No configuration needed.

Features

Collections & Items

Pad organizes work into collections — typed containers with structured fields and optional rich content.

Default collections:

Collection Purpose
Tasks Track work items with status, priority, assignee, effort, due date
Ideas Capture feature ideas with impact and category
Phases Plan and track project milestones with progress
Docs Documentation, decisions, reference material
Conventions Project rules that guide agent behavior
Playbooks Multi-step workflows for agents to follow

Create your own collections with custom fields:

pad collections create "Bug Reports" --fields "severity:select:low,medium,high,critical; browser:text; reproducible:checkbox"

Web UI

A dark-themed web app at http://localhost:7777, embedded in the binary:

  • Board & list views — drag-and-drop between status columns, group and sort by any field
  • Rich editor — Tiptap-based with markdown support, formatting toolbar, and auto-save
  • Wiki-links[[Title]] links between items, rendered as clickable references
  • Full-text search — instant search across all items and content
  • Dashboard — collection summaries, phase progress, activity feed, and suggested next actions
  • Real-time updates — changes from the CLI or agents appear instantly via SSE

CLI

# Create items (accepts singular: task, idea, phase, doc)
pad create task "Fix OAuth redirect" --priority high
pad create idea "Real-time collaboration" --category infrastructure
pad create phase "API Redesign" --status active

# List and filter
pad list tasks                          # Open + in-progress tasks
pad list tasks --status done            # Completed tasks
pad list --all                          # Everything across all collections

# View and update
pad show fix-oauth                      # Item detail (by slug)
pad update fix-oauth --status done      # Update fields
pad edit fix-oauth                      # Open in $EDITOR

# Search and navigate
pad search "authentication"             # Full-text search with snippets

# Project intelligence
pad status                              # Dashboard: phases, attention items, suggestions
pad next                                # Recommended next task

# Collections
pad collections                         # List collections with item counts
pad collections create "Name" --fields "key:type[:options]; ..."

The CLI auto-detects your workspace by walking up the directory tree for a .pad.toml file.

Agent Integration

Pad includes a /pad skill for Claude Code. Install it and your agent becomes a project partner:

# Install the skill
pad skills install           # Project-level (.claude/skills/)
pad skills install --global  # Global (~/.claude/skills/)

Then just talk to your project:

> /pad what should I work on next?
> /pad I finished the OAuth fix
> /pad let's brainstorm about the API redesign
> /pad create a task to add rate limiting

The agent reads your conventions and playbooks to follow project-specific rules. All agent actions are attributed in the activity feed, so you always know what the AI changed.

Conventions & Playbooks

Teach your agents how your project works:

  • Conventions — trigger-based rules like "run tests before marking a task done" or "use conventional commits"
  • Playbooks — multi-step workflows like "when implementing a feature: read the spec, create a branch, write tests first, then implement"
pad create convention "Run tests before completing tasks" \
  --field trigger=on-task-complete \
  --field scope=all \
  --field priority=must

Agents load relevant conventions automatically based on what they're doing.

Architecture

┌──────────────────────────────────────────────┐
│              pad (single binary)              │
│                                              │
│  ┌──────────┐  ┌──────────┐  ┌────────────┐ │
│  │   CLI    │  │  REST    │  │  Embedded  │ │
│  │ (Cobra)  │  │  API     │  │  Web UI    │ │
│  └────┬─────┘  └────┬─────┘  │ (SvelteKit)│ │
│       │    HTTP      │        └────────────┘ │
│       └──────────────┤                       │
│                ┌─────▼─────┐                 │
│                │  SQLite   │                 │
│                │  + FTS5   │                 │
│                └───────────┘                 │
└──────────────────────────────────────────────┘
  • Go backend — chi router, SQLite via modernc.org/sqlite (pure Go, no CGO), FTS5 full-text search, SSE for real-time updates
  • SvelteKit frontend — Svelte 5, Tiptap editor, svelte-dnd-action, adapter-static, embedded via go:embed
  • Single binary — serves the API + web UI, runs on macOS, Linux, and Windows
  • Workspace-per-project — each project gets its own workspace via pad init, linked by a .pad.toml file

Data

All data lives in ~/.pad/:

~/.pad/
├── pad.db        # SQLite database (all items, versions, activity)
├── config.toml   # Optional config (host, port)
└── pad.pid       # Server PID file

Per-project workspace links:

~/projects/myapp/.pad.toml   # workspace = "my-app"

Development

See CONTRIBUTING.md for the full guide. Quick version:

# Prerequisites: Go 1.25+, Node.js 22+, Make

make build      # Build web UI + Go binary
make test       # Run Go tests
make dev-web    # SvelteKit dev server with hot reload
make install    # Build, install to ~/.local/bin, restart server

Security

See SECURITY.md for reporting vulnerabilities.

License

Apache License 2.0 — © 2026 Perpetual Software LLC

Languages
Go 67.6%
TypeScript 18%
Svelte 13.7%
Shell 0.3%
CSS 0.1%