moooon
Motir
Vibe the project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.
- Vibe Project
- Open Source
- AI Agent
- AI Loop
- 6
- requests
- 4
- upvotes
- 517
- planned
- 4,915
- shipped
- Build the /tokens Font sets section in app/tokens/page.tsx: every set's members and default in its own glyphs, region forms and a member applied by name, its samples mounted (and every set's faces fetched) only once the section is on screen (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Declare every set's script faces in app/fonts.ts with next/font (CJK faces unpreloaded, each reachable only through its :lang() rule) so a page fetches only its own locale's script files, applied from server-rendered <html lang> in app/layout.tsx and app/global-error.tsx — measured, no first-paint flash (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Write docs/typography/sets/<set>.md — one doc per font set (Latin, zh-Hans, ja, ko): its locales, members per role, default and where the mapping came from, after the per-pairing docs (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Compose the font sets into theme.css: :lang() blocks that feed each set's script face into --font-sans / --font-serif / --font-mono behind every [data-type] pairing's Latin face, plus the by-name member override — --font-* tokens only, total over the three roles (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Add the locale → font-set registry to @motir/design-system: eleven locales mapped to a Latin, zh-Hans, ja and ko set, each with named members per sans / serif / mono role and a default, exported beside TYPE_REGISTRY with its resolver (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Read dooooWeb's language → font-set mapping and record each locale's set (members per sans / serif / mono role, the default, the next/font source and licence of every face) in docs/typography/font-sets.md (motir-core)Motir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- Per-language font sets in @motir/design-system — each locale shown in its script's font set (Latin, and separate zh / ja / ko CJK sets, after dooooWeb's mapping) under every Type pairing on app.motir.co, each page fetching only its own script's faces and /tokens showing every setMotir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation
- (motir-core · test) E2E + acceptance video — tag a page in a Description and an Explanation, see the live chip follow a rename and go unavailable on archive, and see "Tagged in description" in the Pages sectionPages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- (motir-core · test) Integration gate — page tags in Description and Explanation on real Postgres: row derivation in the save's transaction, page-save / manual isolation, search and chip resolution gates, Visitor redaction, ≥90% coverage over the changed surfacePages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- (motir-core) The PAGES section in the Description / Explanation `@` picker and the live page chip in `MarkdownEditor` and `MarkdownView`, wired through `EditIssueForm` and the item page, plus the Pages section's "Tagged in" labels, with strings in `en` and `zh`Pages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- (motir-core) Page mention search and live page-chip summaries — `GET /api/pages/mention-search` under `page:view`, `pageRefs` resolved on the item page and peek (unavailable for no access / archived / deleted), and Visitor redaction of `motir-page:` labelsPages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- (motir-core) Page tags in Description and Explanation write `page_work_item_link` rows — the `motir-page:` token parser, `description` / `explanation` sources (migration), and derivation on every work-item create and update inside the save's transactionPages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- Tag a page in a work item's Description and Explanation — a Pages section in the `@` picker, a live page chip with an unavailable state, and a link row the work item's Pages section shows as "Tagged in description"Pages and work items link BOTH ways — mention or embed a work item in a page, and see on every work item the pages that mention it
- Reading a binary file from a connected repository returns `found` with mojibake — the provider read decodes every blob as UTF-8 and has no `binary` outcome
- Relay chat activity test races the list frame's echo against the clock
- E2E sign-in helper fails strict mode when a hidden copy of the email box is left in the DOM
- 3D / Immersive: the COLLAPSED rail draws a vertical scrollbar at laptop heights where the expanded rail and every other style fit
- (motir-core) acceptance-agent-billing flakes at a half-hour tick: the scheduled storage charge charges first, so the spec reads charged 0
- motir-core: clear open GitHub security alerts (113 Dependabot + 17 CodeQL)
- Design the /tokens page's font-set section (app/tokens/page.tsx): each locale's set with its members and default in its own glyphs, a region-forms panel, a member applied by name, and every set's faces loading only once the section is on screenMotir in eleven languages — app.motir.co and motir.co in en·zh·ja·ko·de·fr·es·it·nl·pl·pt, per-language font sets, and work content in an org content language with per-user translation