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%
Find a file
Steve Juma b91318b705
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
Fix planner today sortable rows
2026-06-22 12:08:27 +01:00
.forgejo/workflows feat(backlog): add PR-based workflow for issue implementation 2026-06-08 00:15:33 +01:00
.github ci: bootstrap xvfb dependencies in direct Forgejo lanes 2026-06-07 22:20:23 +01:00
.vscode Initial commit 2025-07-27 10:44:06 +01:00
docker Finish web DHI runtime hardening 2026-06-03 17:16:39 +01:00
e2e-vault Extend optionsSource combobox to table cells and query cache 2026-06-05 23:55:59 +01:00
LICENSES Add uselapis legal pages and package licensing 2026-05-28 15:41:52 +01:00
packages Fix planner today sortable rows 2026-06-22 12:08:27 +01:00
patches Run dependency audit and update sweep 2026-06-03 11:55:25 +01:00
scripts Remove deleted backlog verify command 2026-06-19 18:19:28 +01:00
spec Animate planner row switching 2026-06-22 11:38:44 +01:00
.dockerignore Add lapis-ci container image and warm CI workflows. 2026-05-28 15:53:12 +01:00
.env.example Point CI Turborepo remote cache at hosted turbo-cache.app.ju.ma. 2026-06-05 16:04:12 +01:00
.eslintrc Adopt Turborepo and standardize monorepo scripts. 2026-05-29 22:31:40 +01:00
.gitignore Wire Turborepo remote cache to Cloudflare R2 in CI. 2026-06-04 21:16:22 +01:00
.markdownlint-cli2.jsonc Add unified repo check and format codebase 2026-05-13 17:58:11 +01:00
.prettierignore chore(ci,format): narrow lapis.md publish paths and expand prettierignore 2026-05-29 21:24:28 +01:00
.prettierrc Initial commit 2025-04-09 12:47:56 +01:00
AGENTS.md Update agent workflow guidance 2026-06-21 23:06:07 +01:00
compiled_app.js 2026-05-18 15:32:18 +01:00
LICENSE.md Rename uselapis.com package to lapis.md and update docs site URLs. 2026-05-28 21:05:08 +01:00
Makefile Add spec markdownlint checks 2026-05-07 23:00:20 +01:00
nixpacks.toml Add Nixpacks config for web builds 2026-05-29 08:49:38 +01:00
package.json Animate planner row switching 2026-06-22 11:38:44 +01:00
pnpm-lock.yaml Add local official plugin install verification 2026-06-07 08:04:50 +01:00
pnpm-workspace.yaml refactor: consolidate notebook packages under packages/notebook 2026-05-17 21:28:33 +01:00
README.md Adopt Turborepo and standardize monorepo scripts. 2026-05-29 22:31:40 +01:00
renovate.json Fix Renovate lookup failures for dhi.io/caddy and tmp. 2026-06-07 00:22:46 +01:00
TRADEMARKS.md Add uselapis legal pages and package licensing 2026-05-28 15:41:52 +01:00
turbo.json Add local official plugin install verification 2026-06-07 08:04:50 +01:00

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/api contains the application kernel: vault access, workspace state, commands, metadata, settings, and plugin lifecycle.
  • packages/ui contains the shared Svelte design system and theme primitives.
  • packages/workspace contains the visible renderer shell that composes the runtime and plugins.
  • packages/web contains the browser/PWA host around the shared workspace renderer.
  • packages/desktop-electron contains the first-party Electron desktop host.
  • packages/notebook and packages/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:workspace starts the shared workspace app.
  • pnpm dev:web starts the browser/PWA host.
  • pnpm dev:desktop starts the Electron desktop host.
  • pnpm dev:site starts 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.md is the entry point for the rendered architecture and package docs.
  • spec/src/50-roadmap/complete-daily-use-app.md defines the current complete daily-use release milestone.
  • Each workspace package keeps a package-local spec.md that 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.