TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Agentic AI writing studio
Translation pending
ProductivityTypeScript · PLpgSQLGitHub @haowjyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI Writing Assistant
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Meridian Flow is a TypeScript-first writing platform for fiction writers managing long-running web serials. The v3 rebuild keeps the full-stack monorepo shape: thin deployable apps, domain packages for shared contracts and persistence, explicit server domains, and repo-level tooling for local dev, CI, smoke checks, and deployment scaffolding.
For setup, see DEVELOPMENT.md. For product context, see PRODUCT.md, DESIGN.md, and the project knowledge base.
Domain runtime lives in apps/server/server/domains/, not in package route handlers. See AGENTS.md for the active layout rules.Read the full README ↗Meridian Flow is a TypeScript-first writing platform for fiction writers managing long-running web serials. The v3 rebuild keeps the full-stack monorepo shape: thin deployable apps, domain packages for shared contracts and persistence, explicit server domains, and repo-level tooling for local dev, CI, smoke checks, and deployment scaffolding.
For setup, see DEVELOPMENT.md. For product context, see PRODUCT.md, DESIGN.md, and the project knowledge base.
| Package | Role |
|---|---|
@meridian/contracts | Shared wire types, branded IDs, protocol events, thread DTOs, work/project contracts, interrupt/checkpoint types, and agent metadata. |
@meridian/database | Drizzle schema, migrations, PL/pgSQL functions, and Postgres connection helpers for the Drizzle-backed local/runtime database. |
@meridian/design-tokens | Warm-paper design token package for colors, typography, spacing, and shared primitives. |
@meridian/prosemirror-schema | Shared ProseMirror structural contract for TipTap/Yjs document editing. |
Domain runtime lives in apps/server/server/domains/, not in package route handlers. See AGENTS.md for the active layout rules.
apps/app/ — authenticated writing workspace (TanStack Start + React + TipTap)apps/server/ — Nitro API/WebSocket service: auth boundary, thread endpoints, orchestration, collaboration, packages, billing, storage, and server domainsapps/www/ — public marketing sitepackages/ — shared TypeScript librariestools/ — local dev, CI, deployment, smoke-test, and migration toolingtests/smoke/ — operator-facing smoke checks and browser/manual runbookspnpm install
pnpm dev:infra # start the Postgres Docker container (postgres:16 + pg_bigm)
pnpm bootstrap # create the DB, migrate, apply-functions
pnpm dev
Dev is portless: use pnpm portless:list for live https://*.localhost URLs instead of hard-coded raw ports.
pnpm check
MODEL_PROVIDER=mock pnpm exec tsx tests/smoke/run.ts
pnpm --filter @meridian/server smoke:thread-runtime
Database schema changes are generated by Drizzle in packages/database; local Postgres is a Docker container built from tools/postgres/Dockerfile (postgres:16 plus pg_bigm). Auth is WorkOS AuthKit with app-owned public.users.
Open PRs against main using the repo pull request template and fill every section before merge, writing "None." with a reason where one doesn't apply; tools/ci/check-pr-body.mjs enforces the sections. Every PR keeps the long-term direction in view: Core design decisions names what it settles, and Goal opens with the long-term goal it serves.
Repo-root docs are pointer-oriented. Durable product decisions live in the Meridian knowledge base; local .context/ files capture implementation-near facts that agents should read before changing code.