notepad
by SteveTrov1.0.0
Context-aware idea parking for development sessions. Capture ideas without losing flow, with intelligent context preservation.
Keywords
notesideascontextproductivityworkflow
Commands
noteAdd a note with intelligent context extraction
notesView and manage notes - list all lists, view notes, pick, or delete
Documentation
# Notepad Plugin
Context-aware idea parking for development sessions. Capture ideas without losing flow, with intelligent context preservation.
## The Problem
During development, ideas pop up constantly:
- "We should add caching here"
- "This could use better error handling"
- "Future feature: export to PDF"
You don't want to break your flow, so you jot it down somewhere. Later, you read your note and think: "What was I even talking about?"
## The Solution
Notepad captures your ideas **with rich context**. When you add a note, Claude writes a "diary entry" that explains:
- What you were working on and why
- What problem or discussion led to this idea
- The "aha moment" - why this idea makes sense now
- Which files and components are involved
- What this would improve
Later, when you pick up the idea, you have the full story - not just a cryptic note, but the complete context of the moment.
## Usage
### Add a Note
```bash
/note "Evaluate visual regression testing for Storybook"
```
Adds to the default `general` list with auto-extracted context.
### Add to Specific List
```bash
/note:future-features "Add GraphQL support"
/note:tech-debt "Refactor authentication flow"
```
Lists are auto-created if they don't exist.
### View All Lists
```bash
/notes
```
Shows all lists with note counts.
### View Notes in a List
```bash
/notes # Shows general list
/notes:tech-debt # Shows tech-debt list
```
### Pick Up a Note
```bash
/notes pick # Interactive: shows overview, asks which note
/notes:tech-debt pick
```
Shows the note with full context so you can continue where you left off.
### Delete a Note
```bash
/notes delete 3
/notes:tech-debt delete 1
```
## Storage
Notes are stored in `.claude/notepad/` in your project:
- `.claude/notepad/general.md`
- `.claude/notepad/future-features.md`
- etc.
Human-readable markdown format - you can edit them manually, commit them to git, or share with your team.
### Should I commit notes to git?
Up to you:
- **Commit them**: Share ideas with your team, track idea history
- **Gitignore them**: Keep ideas personal, add `.claude/notepad/` to `.gitignore`
## Installation
**Option 1: Temporary (test first)**
```bash
claude --plugin-dir ~/.claude/plugins/notepad
```
**Option 2: Permanent**
Add to your Claude Code settings or copy the plugin to your project's `.claude-plugins/` directory.
## Examples
### Tech Debt Discovered
```bash
/note:tech-debt "Unify API error handling patterns"
```
**Generated context:**
```
While reviewing the booking cancellation flow, noticed we have three different
error handling patterns across API calls:
1. lib/api/bookings.ts - throws custom ApiError with status codes
2. lib/api/payments.ts - returns { success: false, error: string }
3. lib/api/notifications.ts - uses try/catch with console.error only
This inconsistency makes it hard to build reliable error boundaries in the UI.
The PaymentForm component has a bug where payment errors silently fail because
it expects pattern #1 but payments.ts uses pattern #2.
Affected files: lib/api/*.ts (6 files), plus consumers in components/
Suggestion: Standardize on ApiError pattern, add error boundary at app level.
```
### Feature Idea for Later
```bash
/note:features "Add CSV export for booking reports"
```
**Generated context:**
```
Working on the booking overview page (app/bookings/page.tsx). The table shows
all bookings with filters, but there's no way to export the data.
Use case: Property managers need to share booking data with accountants monthly.
Currently they screenshot or manually copy - mentioned in support ticket #892.
What exists already:
- BookingTable component with all the filtering logic
- Server action getFilteredBookings() returns the exact data needed
- Similar export exists in admin dashboard (lib/export/admin-reports.ts)
Implementation would be: Add export button, reuse existing CSV utility,
pass current filters to generate matching export. Estimate: 2-3 hours.
```