Features
Complete feature list and capabilities of the Seeder Tool
Features
The Seeder Tool provides comprehensive functionality for managing your InstantDB database through an interactive CLI interface.
Core Features
Note Creation
Interactive Note Seeding
- Step-by-step prompts for all note fields
- Validation for required fields
- Support for markdown content
- Automatic ID generation
Content Sources
- File Import: Load content from
.mdor.mdxfiles- Supports relative and absolute paths
- Automatic file reading and validation
- Direct Input: Paste markdown content directly
- Opens your default editor
- Supports multi-line content
- Preserves formatting
Date Management
- Dutch date format (
dd-mm-yyyy) - Automatic conversion to Unix timestamps
- Validation to ensure valid dates
- Support for historical dates
Note Positioning
Pinned Notes
- Pin notes to position 0
- Automatically sets position to 0
- Cannot be placed in folders when pinned
Custom Positioning
- Set exact position numbers
- Automatic position shifting for other notes
- Maintains order integrity
Automatic Positioning
- Calculates end-of-list position
- Respects folder boundaries
- Handles empty folders
Folder Management
Folder Selection
- Visual folder tree display
- Supports nested folders
- Indentation shows hierarchy
- Root folder option
Folder Operations
- Move notes between folders
- Place notes in root
- Maintain folder relationships
Task Linking
Task Selection
- List all available tasks
- Multi-select interface
- Shows task content preview
- Links tasks to notes
Task Relationships
- Tasks link to notes (not reverse)
- Multiple tasks per note
- Maintains referential integrity
Note Movement
Repositioning
- Move notes to different positions
- Change folder assignments
- Update positions automatically
- Preserve note order
Position Options
- Top (position 0)
- After specific notes
- End of list
- Custom position
User Interface
Colorized Output
- Cyan - Headers and titles
- Green - Success messages
- Yellow - Warnings and info
- Red - Errors
- Gray - Secondary information
Progress Indicators
- Loading spinners for operations
- Success/error feedback
- Clear status messages
Interactive Prompts
- Arrow-key navigation
- Multi-select checkboxes
- Confirmation dialogs
- Input validation
Data Validation
Input Validation
- Title: Required, non-empty
- Date: Valid
dd-mm-yyyyformat - File Path: File exists and is readable
- Position: Valid number
- Folder: Folder exists in database
Error Handling
- Clear error messages
- Graceful failure handling
- Transaction rollback on errors
- Helpful troubleshooting hints
Database Operations
Transactions
- Atomic operations
- Batch updates
- Position recalculation
- Relationship management
Query Operations
- Fetch all notes
- Fetch notes by folder
- Fetch all folders
- Fetch all tasks
- Ordered results
Position Management
- Automatic position calculation
- Position shifting on insert
- Position updates on move
- Maintains sort order
Integration
SK CLI Integration
- Accessible from SK menu
- Same functionality
- Consistent interface
- Unified workflow
Schema Compatibility
- Uses InstantDB schema
- Type-safe operations
- Schema validation
- Relationship handling
Use Cases
Content Migration
- Import existing markdown files
- Bulk note creation
- Preserve folder structure
- Maintain metadata
Content Organization
- Reorganize existing notes
- Move notes to folders
- Adjust note positions
- Link related tasks
Testing & Development
- Seed test data
- Create sample notes
- Test folder structures
- Verify relationships
Documentation
- Create help notes
- Organize documentation
- Link related content
- Maintain structure
Limitations
Current Limitations
- No Batch Operations: One note at a time
- No Note Editing: Only creation and movement
- No Folder Creation: Uses existing folders
- No Task Creation: Links existing tasks only
- No Content Editing: Cannot modify note content after creation
Future Enhancements
- Batch note creation from files
- Note content editing
- Folder creation from CLI
- Task creation and management
- Import/export functionality
Security
Data Safety
- No data deletion
- Transaction-based operations
- Error rollback
- Validation before operations
Access Control
- Uses InstantDB authentication
- Respects app permissions
- No direct database access
- Secure API communication
Performance
Efficiency
- Single transaction per operation
- Batch position updates
- Efficient queries
- Minimal database calls
Scalability
- Works with large datasets
- Efficient folder tree building
- Optimized position calculations
- Handles many notes/folders
Next Steps
- Explore Usage Examples
- Build CLI Commands
- Troubleshoot Common Issues