Browser-first, Obsidian-inspired notes app with a plugin-compatible runtime, CodeMirror markdown editing, and web/PWA + Electron hosts. Built in TypeScript and Svelte.
https://use-lapis.com
- TypeScript 67.2%
- Svelte 25.5%
- CSS 5.7%
- JavaScript 1.2%
- Rust 0.3%
| .agents/skills/qmd | ||
| .claude/skills | ||
| .vscode | ||
| packages | ||
| patches | ||
| scripts | ||
| spec | ||
| .eslintrc | ||
| .gitignore | ||
| .markdownlint-cli2.jsonc | ||
| .prettierignore | ||
| .prettierrc | ||
| AGENTS.md | ||
| compiled_app.js | ||
| Makefile | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
Lapis Notes
Lapis Notes is a browser-first, Obsidian-inspired notes application built as a pnpm monorepo.
The shared renderer lives in @lapis-notes/workspace, the runtime kernel lives in
@lapis-notes/api, and the current first-party host targets are the web/PWA package and the
Electron desktop shell.
Repository Layout
packages/apicontains the application kernel: vault access, workspace state, commands, metadata, settings, and plugin lifecycle.packages/uicontains the shared Svelte design system and theme primitives.packages/workspacecontains the visible renderer shell that composes the runtime and plugins.packages/webcontains the browser/PWA host around the shared workspace renderer.packages/desktop-electroncontains the first-party Electron desktop host.packages/desktop-tauricontains the paused Tauri desktop host kept for reference.packages/notebookandpackages/notebook/*contain the notebook plugin plus extracted notebook runtime packages.packages/plugins/*contains bundled first-party feature plugins and a small number of colocated Obsidian-targeted plugins.spec/contains the architecture, package, and cross-package contract documentation.
Getting Started
pnpm install
pnpm dev
Useful entry points:
pnpm devstarts the shared workspace app.pnpm web:devstarts the browser/PWA host.pnpm desktop:devstarts the Electron desktop host.pnpm desktop-tauri:devstarts the paused Tauri host.
Validation
pnpm check
pnpm check:types
pnpm test
Package-local checks are available through each workspace package's check script.
Documentation
spec/src/SUMMARY.mdis the entry point for the rendered architecture and package docs.- Each workspace package keeps a package-local
spec.mdthat points at the canonical spec page. - Each package README summarizes the package's role, common scripts, and where to look next.
Repository Workflow
This repository uses Jujutsu (jj) for version control operations. Use jj --no-pager st to
inspect the working copy and jj commit -m "..." to record completed changes after validation.