0001. One family, three repositories
Status: accepted (owner, 13 October 2026)
Context
Section titled “Context”Meltemi is one brand with two products. The Meltemi IDE (Rust; desktop, terminal and a local
daemon) promises no accounts, no cloud service and no telemetry, and serves the product site
from its own site/ folder through GitHub Pages. Meltemi Diagrams (TypeScript) works without
an account and is adding a hosted service: accounts, projects kept in the cloud, sharing and
collaboration at diagrams.meltemi.dev. An account for the family belongs to neither product:
the IDE does not want one, and a second product should not depend on the first.
Decision
Section titled “Decision”- Three repositories. The IDE repository keeps the IDE only. The Diagrams repository keeps
the diagrams tool and its hosted service. This repository, Meltemi Web, holds the product site
(
meltemi.dev) and the shared identity service (id.meltemi.dev). - The site moves here. The
product-sitechange takes over the IDE’ssite/(the pages, their Spanish versions, the styles and the media), restructures it as the family’s site with a page per product, and serves it from Cloudflare; the IDE repository stops serving it. - Contracts, not shared code. What crosses between repositories is the session contract and
the deletion events of the identity service, and links. Each product owns its data, API and
storage.
docs/repositories.mdis the map. - Functionality before delivery. Each repository implements and tests its changes locally first. GitHub repositories, pipelines, DNS, production OAuth apps and secrets come after, as the delivery change of each repository; the development OAuth apps the local sign-in uses are the owner’s.
- Licence. Apache-2.0, the licence the moved site files carry; the owner confirms before the first publication. (Meltemi Diagrams is MIT.)
Alternatives considered
Section titled “Alternatives considered”- Identity inside the IDE repository. It serves the site today, but it is a Rust repository whose README promises no accounts and no cloud service; a Worker there would contradict both.
- Identity inside the Diagrams repository. The first consumer, but then the IDE’s site and any future product would depend on the diagrams tool’s releases.
- One monorepo for everything. Different languages (Rust, TypeScript), toolchains and release rhythms; the IDE’s CI already enforces parity rules of its own.
- Delivery first. Repositories and pipelines before the code exists would be set up twice; the owner chose to validate the functionality first.
Consequences
Section titled “Consequences”- When the site is served from here (an owner task of the delivery change), the IDE repository
(
C:\forge\agentic-ide) removessite/, the Pages job of.github/workflows/release.yml,core/meltemid/tests/site.rsandcore/meltemid/tests/scenarios_sitio.rs, and retargetsscripts/capture-desktop.ps1andtui/examples/capture_svg.rs; the token rule ofsite.rsbecomespnpm site:tokens --ide <path>in this repository. - Repository names on GitHub are the owner’s to confirm; Diagrams’ manifests still name
meltemi/meltemi-diagrams. - The shared cookie makes every host under
meltemi.devone site: products checkOriginon state changes and never serve user-authored content undermeltemi.dev(docs/repositories.md).