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://lapis.md
- TypeScript 66.9%
- Svelte 21.8%
- JavaScript 6%
- CSS 4.8%
- Astro 0.5%
|
Some checks failed
Publish spec / publish (push) Successful in 44s
Checks / build-cache (push) Successful in 1m42s
Checks / unit-tests (push) Successful in 1m26s
Checks / app-smoke (push) Successful in 1m55s
Checks / daily-use-e2e (push) Successful in 2m2s
Checks / repo-checks (push) Successful in 2m35s
Checks / official-plugin-e2e (push) Failing after 6m22s
Checks / checks (push) Failing after 3s
|
||
|---|---|---|
| .forgejo/workflows | ||
| .github | ||
| .vscode | ||
| docker | ||
| e2e-vault | ||
| LICENSES | ||
| packages | ||
| patches | ||
| scripts | ||
| spec | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc | ||
| .gitignore | ||
| .markdownlint-cli2.jsonc | ||
| .prettierignore | ||
| .prettierrc | ||
| AGENTS.md | ||
| compiled_app.js | ||
| LICENSE.md | ||
| Makefile | ||
| nixpacks.toml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| renovate.json | ||
| TRADEMARKS.md | ||
| turbo.json | ||
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/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:workspace
Useful entry points:
pnpm dev:workspacestarts the shared workspace app.pnpm dev:webstarts the browser/PWA host.pnpm dev:desktopstarts the Electron desktop host.pnpm dev:sitestarts the public docs site.
Validation
pnpm check:all
pnpm check:types
pnpm test
Package-local checks are available through each workspace package's check:all script.
See spec/src/80-maintenance/monorepo-scripts.md for the full script taxonomy and Turbo
usage.
Documentation
spec/src/SUMMARY.mdis the entry point for the rendered architecture and package docs.spec/src/50-roadmap/complete-daily-use-app.mddefines the current complete daily-use release milestone.- 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.