feat: Obsidian plugin — native .nodepad rendering with full provider support#1
Merged
Merged
Conversation
Adds issues mskayyali#22-mskayyali#29 covering the planned Obsidian plugin integration and future Claude Code AI provider support. Also removes a stale duplicate bug report block that was accidentally appended at the end of the file. New issues: - mskayyali#22 Core plugin infrastructure (React-in-Obsidian, esbuild, component patches) - mskayyali#23 Obsidian settings UI (provider/model/key within Obsidian settings) - mskayyali#24 child_process CLI bridge (shared prereq for Gemini CLI and Claude Code) - mskayyali#25 Ollama provider support in the plugin - mskayyali#26 Gemini CLI provider support in the plugin - mskayyali#27 Structured study guide export to vault (Obsidian-native .md with frontmatter/wikilinks) - mskayyali#28 Human-in-the-loop review before vault write - mskayyali#29 Claude Code AI provider (planned, blocked on mskayyali#24) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
14 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.nodepadfiles natively inside the Obsidian workspace (backlog fix: only block actual IPv6 ULA literals in SSRF guard mskayyali/nodepad#22–Additional view options mskayyali/nodepad#26)BACKLOG.mdwith issues fix: only block actual IPv6 ULA literals in SSRF guard mskayyali/nodepad#22–feat: add local LLM support via Ollama mskayyali/nodepad#29 covering this feature and future workWhat changed
New:
plugin/directoryThe plugin bundles all nodepad React components via esbuild and mounts them in an Obsidian
TextFileViewleaf..nodepadfiles are stored in the vault and auto-saved on every state change — no Next.js server needed at runtime.plugin/src/main.ts.nodepadextension, ribbon icon, command palette entryplugin/src/view.tsxTextFileViewsubclass, mountsNodepadAppReact component viacreateRoot()plugin/src/settings.tsplugin/src/ai-adapter.tsrequestUrl()(CORS-free) +child_processfor CLI toolsplugin/src/styles.cssplugin/esbuild.config.mjslib/andcomponents/— uses your fork's code, not upstreamAI providers in the plugin
requestUrl()→ external APIrequestUrl()→ localhost:11434 or Cloud/api/chatrequest shapechild_process.spawn("gemini")Shared component patches (web app unaffected)
components/ui/sheet.tsx—SheetPortal/SheetContentacceptcontainer?prop for portal scopingcomponents/about-panel.tsx— forwardscontainertoSheetContentcomponents/status-bar.tsx— accepts and forwardsportalContainercomponents/vim-input.tsx—isPluginmode: hides Projects/New Project nav, filters action items to plugin-relevant set, dynamic grid columnsInstall instructions
Then: Obsidian → Settings → Community plugins → disable Restricted mode → enable Nodepad
Test plan
.nodepadfile and opens it in a leafCtrl+Kcommand palette opens; Projects/New Project hidden; Export MD, Copy MD, Clear shown.mdfile to vault root🤖 Generated with Claude Code