Skip to content

bart-jaskulski/tildom

Repository files navigation

Tildom

Tildom is a family of local-first personal web applications. The current apps are:

  • mark: bookmark and note manager.
  • do: task manager.
  • kin: personal relationship manager.

Each app runs as a Solid/Vite application and stores product data locally in browser SQLite/OPFS. Server APIs are optional and used only for features that require network access, such as bookmark metadata fetching or AI task breakdown.

For architecture, deployment direction, sync planning, and maintenance rules, read PROJECT.md.

Repository Layout

apps/
  mark/
  do/
  kin/
packages/
services/

packages/ and services/ are intentionally light for now. Shared packages should be extracted only after real reuse pressure exists.

Requirements

  • Node.js 22+
  • pnpm 11.10+
  • Docker, optional for container deployment

Install

pnpm install

Development

Run one app at a time from the repository root:

pnpm dev:mark
pnpm dev:do
pnpm dev:kin

The Vite dev server defaults to http://localhost:5173.

Verification

Run all app checks:

pnpm typecheck
pnpm test
pnpm build

Run a single app:

pnpm typecheck:mark
pnpm test:do
pnpm build:kin

Docker

The root Compose file currently runs Mark and the sync service by default:

docker compose up --build

Mark is exposed on http://localhost:3000. Sync is exposed on http://localhost:8787.

do is available through the optional apps profile:

docker compose --profile apps up --build

With that profile, do is exposed on http://localhost:3001.

Published Images

GitHub Actions publishes Mark and sync images to GHCR on pushes to main, version tags, and manual runs:

ghcr.io/bart-jaskulski/tildom/mark
ghcr.io/bart-jaskulski/tildom/sync

Deployment compose files are intentionally kept outside this application repo. The current homelab deployment lives at ../homelab/tildom/compose.yaml. Set MARK_SYNC_BASE_URL as a GitHub Actions repository variable before building Mark if sync is not served from https://sync.tildom.app.

Workspace Packages

pnpm workspaces are configured in pnpm-workspace.yaml. Future local packages should be consumed with the workspace protocol:

{
  "dependencies": {
    "@tildom/ui": "workspace:*"
  }
}

This keeps local package resolution explicit and prevents accidentally using a registry package when a workspace package is expected.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors