Release v1.0.0 - Initial Release
🎉 Initial release of Obsidian MCP Server plugin
Core Features:
- MCP server implementation with HTTP transport
- JSON-RPC 2.0 message handling
- Protocol version 2024-11-05 support
MCP Tools:
- read_note, create_note, update_note, delete_note
- search_notes, list_notes, get_vault_info
Server Features:
- Configurable HTTP server (default port: 3000)
- Health check and MCP endpoints
- Auto-start option
Security:
- Origin header validation (DNS rebinding protection)
- Optional Bearer token authentication
- CORS configuration
UI:
- Settings panel with full configuration
- Status bar indicator and ribbon icon
- Start/Stop/Restart commands
Documentation:
- Comprehensive README with examples
- Quick Start Guide and Implementation Summary
- Test client script
This commit is contained in:
35
.windsurf/rules/coding-conventions.md
Normal file
35
.windsurf/rules/coding-conventions.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
trigger: always_on
|
||||
description: TypeScript coding conventions and best practices
|
||||
---
|
||||
|
||||
# Coding Conventions
|
||||
|
||||
## TypeScript Standards
|
||||
|
||||
- Use TypeScript with `"strict": true` preferred
|
||||
- Bundle everything into `main.js` (no unbundled runtime deps)
|
||||
- Prefer `async/await` over promise chains
|
||||
- Handle errors gracefully
|
||||
|
||||
## Code Organization
|
||||
|
||||
- **Keep `main.ts` minimal** - Focus only on plugin lifecycle (onload, onunload, addCommand calls)
|
||||
- **Delegate all feature logic to separate modules**
|
||||
- **Split large files** - If any file exceeds ~200-300 lines, break it into smaller, focused modules
|
||||
- **Use clear module boundaries** - Each file should have a single, well-defined responsibility
|
||||
|
||||
## Platform Compatibility
|
||||
|
||||
- Avoid Node/Electron APIs if you want mobile compatibility
|
||||
- Set `isDesktopOnly` accordingly if using desktop-only features
|
||||
- Test on iOS and Android where feasible
|
||||
- Don't assume desktop-only behavior unless `isDesktopOnly` is `true`
|
||||
|
||||
## Performance
|
||||
|
||||
- Keep startup light - defer heavy work until needed
|
||||
- Avoid long-running tasks during `onload` - use lazy initialization
|
||||
- Batch disk access and avoid excessive vault scans
|
||||
- Debounce/throttle expensive operations in response to file system events
|
||||
- Avoid large in-memory structures on mobile - be mindful of memory and storage constraints
|
||||
Reference in New Issue
Block a user