Index Cards System
The most powerful way to capture, organize, and retrieve your knowledge.
Core Concepts
The Card Hierarchy
βββββββββββββββββββ
β 4Γ6 MASTER β β Big Ideas, Projects, Concepts
β "Launch SaaS" β
ββββββββββ¬βββββββββ
β
ββββββ΄βββββ¬βββββββ¬βββββββ
βΌ βΌ βΌ βΌ
βββββββββββ βββββββ βββββββ βββββββ
β 3Γ5 SUB β β 3Γ5 β β 3Γ5 β β 3Γ5 β β Tasks, Details, Actions
β"Research"β β"MVP"β β"Sales"β β"Revenue"β
βββββββββββ βββββββ βββββββ βββββββ
Card Properties
Master Cards (4Γ6)
- ID: M-XXXXXX (e.g., M-ABC123)
- Title: The big idea (required)
- Content: Detailed description
- Tags: Categories and themes
- SubCards: Array of linked 3Γ5 cards
- Created/Updated: Timestamps
- Position: X,Y coordinates for graph view
Sub Cards (3Γ5)
- ID: S-XXXXXX (e.g., S-XYZ789)
- Title: Specific task or detail
- Content: Supporting information
- Tags: Inherited + specific
- ParentId: Link to master card
- Status: Todo/In Progress/Done
- Priority: High/Medium/Low
Three Interfaces, One System
1. Visual Interface
Access at /index-cards-prototype/
List View
- Chronological or alphabetical sorting
- Filter by type, tags, or date
- Quick search across all cards
- Bulk operations (select multiple)
Graph View
- Interactive node-based visualization
- Drag to reorganize
- Click to edit
- Visual connections between cards
- Zoom and pan navigation
Grid View
- Spatial memory organization
- Customizable grid size
- Drag and drop positioning
- Visual clustering of related cards
2. Terminal Commands
Press `Ctrl + `` to open terminal
Basic Commands
# List all cards
$ card
Found 15 cards:
[M] M-ABC123 - Launch SaaS Product
[M] M-DEF456 - Learn Machine Learning
[S] S-GHI789 - Research competitors
...
# Create cards
$ card create master "New Project"
β Created master card: M-JKL012
Title: "New Project"
$ card create sub "First task"
β Created sub card: S-MNO345
Title: "First task"
Search and Filter
# Search by keyword (title, content, tags)
$ card search "machine learning"
$ card -k "api" # Short form
# Filter by type
$ card list --type master
$ card list --type sub
# Filter by tags
$ card list --tag "urgent"
View and Edit
# View specific card
$ card M-ABC123
ββββββββββββββββββββββββββββββββββββββββ
β M-ABC123 - Launch SaaS Product β
β βββββββββββββββββββββββββββββββββββββββ£
β Build B2B SaaS for invoice processingβ
β Target: Small businesses β
β Price: $99/mo β
β β
β Tags: startup, saas, b2b β
β Sub Cards: 4 β
β Created: 2024-01-15 β
ββββββββββββββββββββββββββββββββββββββββ
# Edit card properties
$ card M-ABC123 --edit-title "Launch AI SaaS"
$ card M-ABC123 --edit-content "Updated description here"
$ card M-ABC123 --add-tag "ai-powered"
$ card M-ABC123 --remove-tag "old-tag"
# Delete card (with confirmation)
$ card M-ABC123 --delete
Are you sure? This cannot be undone! (y/n)
Linking Cards
# Link sub card to master
$ card S-XYZ789 --link-to M-ABC123
β Linked S-XYZ789 to master M-ABC123
# Unlink cards
$ card S-XYZ789 --unlink
β Unlinked S-XYZ789 (now orphaned)
Export and Import
# Export all cards
$ card export
β Exported 42 cards to index-cards-2024-01-15.json
# Export filtered
$ card export --type master
$ card export --tag "project"
# Import cards
$ card import file.json
β Imported 15 cards
# Stats
$ card stats
Total Cards: 42
βββ Masters: 8
βββ Subs: 34
βββ Tags: 23 unique
βββ Storage: 124 KB
3. AI Assistant Chat
Press `Ctrl + `` to open the AI chat, or click the chat button in the top-right of the terminal to switch from terminal to chat mode
Natural Language Queries
You: What cards do I have about the SaaS project?
AI: I found 1 master card and 4 sub cards about your SaaS project:
Master Card M-ABC123: "Launch SaaS Product"
βββ S-GHI789: "Research competitors"
βββ S-JKL012: "MVP Development"
βββ S-MNO345: "Customer Acquisition"
βββ S-PQR678: "Revenue Model"
Would you like to see details or edit any of these?
AI-Powered Creation
You: Create cards for planning a product launch
AI: I'll create a structured card set for your product launch:
β Created M-STU901 "Product Launch Plan"
β Created S-VWX234 "Market Research"
β Created S-YZA567 "Product Development"
β Created S-BCD890 "Marketing Strategy"
β Created S-EFG123 "Launch Day Checklist"
All cards are linked and tagged with "product-launch".
Smart Organization
You: Organize my learning cards by topic
AI: I've analyzed your 23 learning-related cards and organized them:
Programming (8 cards):
βββ M-AAA111 "Learn Python"
βββ M-BBB222 "Master React"
βββ 6 sub cards
Business (5 cards):
βββ M-CCC333 "MBA Concepts"
βββ 4 sub cards
Design (10 cards):
βββ M-DDD444 "UI/UX Principles"
βββ M-EEE555 "Color Theory"
βββ 8 sub cards
Would you like me to add topic tags to make this permanent?
Advanced Features
Real-Time Synchronization
All three interfaces stay in perfect sync:
- Create in Terminal β Instantly appears in UI
- Edit in UI β Terminal sees changes immediately
- AI creates cards β Both other interfaces update
This uses our event-driven architecture:
- INDEX_CARDS_UPDATED
- Any card change
- INDEX_CARDS_CREATED
- New card added
- INDEX_CARDS_DELETED
- Card removed
- INDEX_CARDS_CLEARED
- All cards deleted
Tags and Categorization
# Popular tags appear as suggestions
$ card create master "New Idea"
Suggested tags based on title: innovation, ideas, brainstorming
Add tags? (y/n)
# Hierarchical tags
$ card M-ABC123 --add-tag "project/saas/b2b"
# Tag operations
$ card tags # List all tags with counts
$ card tags --rename "old" "new"
$ card tags --merge "tag1" "tag2"
Templates
# Use templates for common card types
$ card create --template "project"
Creating project template:
β M-FFF666 "New Project"
β S-GGG777 "Requirements"
β S-HHH888 "Timeline"
β S-III999 "Resources"
β S-JJJ000 "Risks"
# Save current structure as template
$ card M-ABC123 --save-template "saas-launch"
β Saved template with 1 master and 4 sub cards
Batch Operations
# Bulk create from list
$ card create --batch << EOF
master "Project Alpha"
sub "Task 1"
sub "Task 2"
master "Project Beta"
EOF
β Created 4 cards
# Bulk edit
$ card edit --tag "old-project" --add-tag "archived"
β Updated 12 cards
# Bulk delete
$ card delete --tag "temp"
This will delete 8 cards. Continue? (y/n)
Data Management
Local Storage
Your cards are stored in browser localStorage:
- Key: ai2u_index_cards
- Format: JSON with versioning
- Size Limit: ~10MB (thousands of cards)
- Persistence: Until you clear browser data
Backup Strategy
# Manual backup
$ card export > backup-$(date +%Y%m%d).json
# Auto-backup (coming soon)
$ card config --auto-backup daily
Data Structure
{
"version": "1.0",
"cards": [
{
"id": "M-ABC123",
"type": "master",
"size": "4x6",
"title": "Launch SaaS Product",
"content": "Build B2B SaaS...",
"tags": ["startup", "saas"],
"subCards": ["S-GHI789", "S-JKL012"],
"x": 300,
"y": 200,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-16T14:20:00Z"
}
],
"lastUpdated": "2024-01-16T14:20:00Z",
"count": {
"total": 42,
"masters": 8,
"subs": 34
}
}
Best Practices
Card Creation
Good Master Card:
- Clear, actionable title
- One main concept
- 3-7 sub cards
- Relevant tags
Good Sub Card:
- Specific and measurable
- Single responsibility
- Linked to one master
- Status tracking
Organization Patterns
Project Management:
M: "Q1 Product Launch"
βββ S: "Feature Development"
βββ S: "Marketing Campaign"
βββ S: "Sales Enablement"
βββ S: "Success Metrics"
Learning Path:
M: "Master TypeScript"
βββ S: "Basic Types"
βββ S: "Interfaces"
βββ S: "Generics"
βββ S: "Advanced Patterns"
Research:
M: "Competitor Analysis"
βββ S: "Company A - Strengths"
βββ S: "Company A - Weaknesses"
βββ S: "Market Positioning"
βββ S: "Our Advantages"
Search Strategies
# Find orphaned sub cards
$ card list --orphaned
# Find stale cards (not updated in 30 days)
$ card list --stale 30
# Find cards without tags
$ card list --untagged
# Complex search
$ card search "machine learning" --type master --tag "priority"
Troubleshooting
Common Issues
Cards not saving?
- Check localStorage quota
- Export and clear old cards
- Check browser console for errors
Search not finding cards?
- Check exact spelling
- Use partial matches: card -k "mach"
- Search content too: card search --deep "keyword"
UI not updating?
- Ensure same browser tab
- Check console for event bus errors
- Refresh page to resync
Performance Tips
- Keep cards under 1000 for best performance
- Archive old projects regularly
- Use tags instead of long descriptions
- Export and reimport to defragment
Keyboard Shortcuts
Context | Shortcut | Action |
---|---|---|
Global | `Ctrl+`` | Toggle terminal |
Global | Ctrl+K |
Quick search |
Terminal | Tab |
Auto-complete |
Terminal | β/β |
Command history |
Terminal | Ctrl+L |
Clear terminal |
Terminal | Enter |
Switch to chat |
Graph | Space |
Pan mode |
Graph | +/- |
Zoom in/out |
Edit | Ctrl+S |
Save card |
Edit | Escape |
Cancel edit |
API Integration
Coming soon: REST API for external integration
// Future API example
const api = new AI2UCardsAPI({
endpoint: 'http://localhost:8000/api/v1/cards',
auth: 'optional-token'
});
// CRUD operations
await api.cards.create({ type: 'master', title: 'API Card' });
await api.cards.list({ tag: 'important' });
await api.cards.update('M-ABC123', { title: 'Updated' });
await api.cards.delete('M-ABC123');
// Sync with local
await api.sync.push(); // Upload local to cloud
await api.sync.pull(); // Download cloud to local
await api.sync.merge(); // Smart conflict resolution
Next Steps
- Terminal Command Reference - Complete CLI documentation
- AI Assistant Guide - Maximize AI capabilities
- Export/Import Guide - Backup strategies
- Templates Library - Pre-built card structures
Remember: If you can't fit it on a card, you're not thinking hard enough!