- Complete Luhmann ID parsing and generation (zettel-core/src/id.rs)
- Next sibling generation (zettel id next-sibling)
- Next child generation (zettel id next-child)
- ID validation (zettel id validate)
- ID extraction from filenames (zettel id parse)
- Configurable matching rules (strict/separator/fuzzy)
- CLI framework with proper command structure
- Configuration system (though minimal)
- File operations service
- Editor integration service
- Vault initialization (zettel init)
- Note listing (zettel list)
- Basic search (zettel search)
- Note creation (zettel note create)
- Note display (zettel note show)
- File opening (zettel note open)
- Custom template file support
- Template validation (checking for {{title}} and {{link}} placeholders)
- Template content generation with placeholder substitution
- Built-in vs custom template logic
- Automatic parent→child link insertion when creating children
- Automatic child→parent backlink insertion
- Link format configuration (with/without aliases)
- Text selection replacement with links
- Link insertion at cursor position
- Text selection processing as titles
- Note renaming/moving operations
- Child note cascading moves
- Outdenting (moving notes up hierarchy levels)
- Conflict resolution when moving notes
- Fuzzy search with title suggestions
- Parent note navigation
- Zettel file filtering (excluding system files)
- Title extraction from note content
- Caching of zettel file lists
- Metadata cache usage for title extraction
- Cache invalidation strategies