- 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
Pad
Project management for developers and AI agents.
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.tomlfile
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