Show field summary after create/update CLI commands. Make svelte-check blocking in CI. Improve editor block handling, field editor layout, conventions page, and minor UI consistency fixes across pages.
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