Multi-Repo Design Log Sync
Design Log #02 — Multi-Repo Design Log Sync
Written for AI agents. See Log Methodology Note below for details.
Background
DL#01 established the design log import pipeline for the jay framework repo. The Jay ecosystem also includes the jay-framework/wix repo, which has its own design log (31 entries) covering Wix platform integration — stores, cart, members, data, media, and deployment plugins. Both design logs should be published on the website.
Related
- DL#01 — Design log import (single repo)
- Jay DL#155 — Markdown plugin
Problem
The sync script was hardcoded to a single repo (jay-framework/jay). Adding the wix design log requires:
- Syncing from two repos independently, each with its own commit hash cache
- Serving them under distinct routes (
/design-log/jay/[slug]and/design-log/wix/[slug]) - Keeping per-repo config files (media tracking, media maps) separate
Design
Sync script generalization
Replace hardcoded repo config with an array:
const REPOS = [
{ name: "jay", url: "git@github.com:jay-framework/jay.git", folder: "design-log" },
{ name: "wix", url: "git@github.com:jay-framework/wix.git", folder: "design-log" },
];
All paths are derived from name:
| Resource | Path pattern |
|---|---|
| Markdown content | content/design-log/{name}/ |
| Public images | public/design-log/{name}/ |
| Commit hash | content/design-log/{name}/.sync-hash |
| Media config | config/.design-log-media-{name}.json |
| Media map | config/.design-log-media-map-{name}.yaml |
Each repo is synced independently — the script iterates over REPOS and applies the full pipeline (clone, normalize, rewrite links, inject notes, frontmatter, upload images if changed, generate media map) to each.
Route structure
src/pages/design-log/
page.jay-html ← /design-log (methodology landing page)
jay/[slug]/page.jay-html ← /design-log/jay/{slug}
wix/[slug]/page.jay-html ← /design-log/wix/{slug}
Each sub-route's page template points contentDir and mediaMap to the repo-specific paths. The wix design log has no images, so no mediaMap prop is needed.
Index page
The /design-log landing page links to both sub-routes. Each repo has its own index.md in the synced content that serves as the entry point for browsing.
Implementation Results
Implemented as designed. The wix repo has 31 markdown files and no images. Adding a new repo requires only appending to the REPOS array and creating a page template under src/pages/design-log/{name}/[slug]/.
Log Methodology Note
Note: These design logs are written primarily for AI agents as part of the Design Log methodology and made accessible here for human readers. The language and structure are optimized for machine consumption — expect precise, specification-style prose rather than narrative documentation.