Index cards complete guide

8 min read 1402 words

Master the AI2U Index Cards knowledge management system

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:

  1. Create in Terminal β†’ Instantly appears in UI
  2. Edit in UI β†’ Terminal sees changes immediately
  3. 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


Remember: If you can't fit it on a card, you're not thinking hard enough!

Need Help?

Can't find what you're looking for?