Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Rewrite plugin/theme docs to 2026-08-26 product SSOT - #4

Merged
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde
Aug 26, 2026
Merged

Rewrite plugin/theme docs to 2026-08-26 product SSOT#4
tomymaritano merged 1 commit into
mainfrom
cursor/hackable-ai-ssot-3bde

Conversation

@tomymaritano

@tomymaritanotomymaritano commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Product SSOT from Tomás (2026-08-26): Dripnex is the hackable AI note taker, not a files-first Markdown editor. This repo stays the pack SDK (docs.dripnex.app remains the user manual). DNS for developers.dripnex.app is out of scope.

Voice

  • Messy input → a document a person will send, not a model dump.
  • Store is local SQLite. .md is export, not identity. “Plain files are easy to romanticize.”
  • AuthGate first. Never “no account to open a file.”
  • Kill manifesto “careful software / ship less / your notes remain files.”

Hack surface (app #620)

Settings → Hack opens init.js / styles.css / keymap (keybindings.json) in the data directory. That is the user-facing hack surface. Satellite packs remain dripnex/plugin-* / dripnex/theme-* plus a GitHub Release {id}-{version}.tar.gz.

The default init.js example is registerAiCommandMake this sendable, not Insert Date. Vim is the satellite dripnex/plugin-vim, not built-in.

Unchanged (still accurate)

PluginContext, registerTheme, registerAiCommand, dripnex-plugin CLI, GitHub Release tarballs, no public marketplace, no ipm.

How to tell it’s done

No files-first / no-account manifesto left in MDX. Hack surface + sendable command documented on homepage, intro, init.js, styles.css, plugin/theme guides, and publishing.

Local pnpm typecheck + pnpm build pass. CI on this branch is green. Pages checked in the browser:

Homepage: hackable AI note taker, SQLite, AuthGate, Settings → Hack

init.js: registerAiCommand Make this sendable

Examples page leads with Make this sendable

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Summary by CodeRabbit

  • Documentation
    • Reframed Dripnex as a hackable AI note taker with local SQLite storage and Markdown export.
    • Clarified the distinction between personal customization files, satellite packs, and the pack SDK.
    • Added guidance for Settings → Hack, including AI commands, styles, keybindings, and reload workflows.
    • Documented registerAiCommand, AI command availability, templates, and usage examples.
    • Updated Vim integration, publishing, data access, plugin, theme, and getting-started guidance.

Dripnex is the hackable AI note taker. Notes live in local SQLite;
.md is export. AuthGate first. Settings → Hack is the user-facing
hack surface. Lead init.js with registerAiCommand Make this sendable.
Vim remains dripnex/plugin-vim. No marketplace, no ipm.
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74b9972e-d9f8-441c-a291-098059b715c2

📥 Commits

Reviewing files that changed from the base of the PR and between 828618d and c6646c9.

📒 Files selected for processing (15)
  • README.md
  • app/layout.tsx
  • content/docs/getting-started/index.mdx
  • content/docs/getting-started/init-file.mdx
  • content/docs/getting-started/style-tweaks.mdx
  • content/docs/guides/create-a-plugin.mdx
  • content/docs/guides/create-a-theme.mdx
  • content/docs/guides/publishing.mdx
  • content/docs/index.mdx
  • content/docs/meta.json
  • content/docs/reference/commands.mdx
  • content/docs/reference/data.mdx
  • content/docs/reference/editor.mdx
  • content/docs/reference/examples.mdx
  • content/docs/reference/plugin-context.mdx

📝 Walkthrough

Walkthrough

Dripnex documentation now presents the product as a hackable AI note taker. It documents Settings → Hack, local SQLite notes, Markdown export, personal files, satellite packs, registerAiCommand, and external Vim integration.

Changes

Dripnex documentation model

Layer / File(s)Summary
Product positioning and documentation entry points
README.md, app/layout.tsx, content/docs/index.mdx, content/docs/meta.json
Product descriptions and landing pages now define Dripnex as a hackable AI note taker and distinguish packs, local notes, AuthGate, and personal files.
Personal hack files and note storage
content/docs/getting-started/index.mdx, content/docs/getting-started/init-file.mdx, content/docs/getting-started/style-tweaks.mdx
Getting-started guides document Settings → Hack, SQLite note storage, Markdown export, personal files, styles, and Vim pack installation.
Pack creation and publishing guidance
content/docs/guides/create-a-plugin.mdx, content/docs/guides/create-a-theme.mdx, content/docs/guides/publishing.mdx
Guides distinguish personal customization from satellite packs and define pack portability, storage, and release boundaries.
AI command and integration references
content/docs/reference/commands.mdx, content/docs/reference/data.mdx, content/docs/reference/editor.mdx, content/docs/reference/examples.mdx, content/docs/reference/plugin-context.mdx
Reference pages document registerAiCommand, AI command examples, SQLite data access, plugin-vim, keymap syntax, and markdownRenderer mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers:cursoragent

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/hackable-ai-ssot-3bde

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano marked this pull request as ready for review August 26, 2026 04:13
@tomymaritano
tomymaritano merged commit 900f3f4 into mainAug 26, 2026
1 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tomymaritano@cursoragent