Obsidian SDK Patterns
Overview
Production patterns for Obsidian plugin development using the Obsidian TypeScript API. Covers vault operations, workspace management, event handling, and UI components with proper lifecycle management.
Prerequisites
- Obsidian development environment set up
- TypeScript compilation configured
- Understanding of Obsidian's plugin lifecycle
Instructions
Step 1: Type-Safe Settings with Migration
Step 2: Safe Vault Operations
Step 3: Event Registration with Cleanup
Step 4: Custom View with State Persistence
For full implementation details and code examples, load:
references/implementation-guide.md
Error Handling
| Error | Cause | Solution |
|---|---|---|
null file reference |
File deleted between check and use | Always re-check with getAbstractFileByPath |
| Stale metadata cache | Cache not updated | Use this.app.metadataCache.on('changed') |
| Settings lost on update | Missing migration logic | Version settings, migrate on load |
| Memory leak | Unregistered events | Use this.registerEvent() always |
Resources
Output
- Configuration files or code changes applied to the project
- Validation report confirming correct implementation
- Summary of changes made and their rationale
See Obsidian Sdk Patterns implementation details for output format specifications.
Examples
Basic usage: Apply obsidian sdk patterns to a standard project setup with default configuration options.
Advanced scenario: Customize obsidian sdk patterns for production environments with multiple constraints and team-specific requirements.