data-peek/apps/docs
Rohith Gilla c9f8e4297d
feat: SQL Notebooks for team runbooks (#157)
* feat(notebooks): add shared types for notebooks and cells

* feat(notebooks): add SQLite storage layer with full CRUD

Implements NotebookStorage class backed by better-sqlite3 with WAL mode,
foreign-key cascading deletes, and full CRUD for notebooks and cells.

* feat(notebooks): add IPC handlers for notebook CRUD

* feat(notebooks): add preload bridge for notebook IPC

* feat(notebooks): add NotebookTab type and createNotebookTab action

Adds 'notebook' to TabType union, NotebookTab interface, notebookId to
PersistedTab, createNotebookTab action with deduplication, persistence
handling, and notebook type guards in tab-query-editor.tsx.

* feat(notebooks): add Zustand store for notebook state management

* feat(notebooks): add NotebookEditor component and wire into TabContainer

* feat(notebooks): add sidebar section for browsing and creating notebooks

* feat(notebooks): add export functions for .dpnb and Markdown formats

* feat(notebooks): add NotebookCell component and dependencies

Add react-markdown and remark-gfm for markdown cell rendering.
NotebookCell handles SQL execution, markdown rendering, result
pinning, and keyboard shortcuts.

* fix: address review feedback for SQL notebooks

- Wrap JSON.parse in try/catch for corrupt pinned_result data
- Fix IPC type mismatches: update/duplicate/updateCell return actual data
- Remove non-functional Run All button from notebook editor
- Replace confirm() dialog with immediate delete + toast notification
- Remove dead notebook placeholder branch in tab-query-editor
- Remove duplicate react-markdown/remark-gfm from root package.json

* chore: lock files

* docs(notebooks): add feature docs, demo runbook, and nav entry

- SQL Notebooks feature documentation page for docs site
- Demo runbook .dpnb file for ACME SaaS health checks
- Add sql-notebooks to features navigation

* content(notebooks): add release notes, social posts, and 3 blog posts

- Release notes for v0.20.0 (SQL Notebooks)
- Social media posts (Twitter, Reddit, Dev.to)
- Blog 11: Feature announcement
- Blog 12: Storage architecture deep dive
- Blog 13: Lazy-loading Monaco in notebook cells

* content(notebooks): add Threads posts and posting strategy

4 Threads posts: launch carousel thread, technical behind-the-scenes,
runbook showcase, and conversation starter. Includes posting cadence
and format tips.

* docs(notebooks): add demo recording script

* feat(video): add release video and demo video for SQL Notebooks

- ReleaseVideo020: 24s release announcement (4 feature scenes)
- NotebookDemo: 45s feature walkthrough with animated notebook mockup
  showing cells typing in, queries executing, results sliding in,
  keyboard navigation, and export formats

* feat(video): add new background music for notebook videos

Screen Saver by Kevin MacLeod (CC BY 4.0) as primary track,
Equatorial Complex as alternative. Both compositions updated
to use the new track.

* fix: apply CodeRabbit auto-fixes

Fixed 5 file(s) based on 5 unresolved review comments.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>

---------

Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
2026-04-14 19:07:13 +05:30
..
content/docs feat: SQL Notebooks for team runbooks (#157) 2026-04-14 19:07:13 +05:30
public Fix case-sensitive table names and cross-database identifier quoting (#126) 2026-04-02 12:13:37 +05:30
src feat/make docs better (#152) 2026-04-10 12:45:08 +05:30
.gitignore feat/make docs better (#152) 2026-04-10 12:45:08 +05:30
package.json feat/make docs better (#152) 2026-04-10 12:45:08 +05:30
README.md feat: add docs 2025-11-30 22:28:59 +05:30
source.config.ts feat/make docs better (#152) 2026-04-10 12:45:08 +05:30
tsconfig.json feat: add docs 2025-11-30 22:28:59 +05:30
vite.config.ts docs: disable prerendering in Vite config. 2025-11-30 22:35:49 +05:30

docs

This is a Tanstack Start application generated with Create Fumadocs.

Run development server:

npm run dev
# or
pnpm dev
# or
yarn dev