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
- 477
- planned
- 4,853
- shipped
- E2E + acceptance video: motir.co/ideas read in Japanese, Korean, German and Polish from localized store fixtures — list, opened idea, search by a translated word, and an English fallback field marked lang="en"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
- motir-core coverage + integration gate for per-locale ideas — a staff write's translations read back through the public locale reads, stale locales dropped on an English edit, per-field fallback, locale-keyed cache, ≥90% on the changed surfaceMotir 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.co/ideas asks the store for the visitor's locale — every list, tag, search and opened-idea read passes it, and each English fallback field renders with lang="en"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
- The motir-ideas skill writes every translatable field in all eleven locales when it adds or edits an idea, with a fill mode for the locales active ideas are missing and a dry run that lists each translation it would writeMotir 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
- Public idea reads take `locale` and fall back to English field by field — /api/public/ideas, /tags and /:slug name their fallback fields, `q` matches the locale's text, and the cache is keyed on the localeMotir 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
- Staff idea writes accept per-locale text and drop a field's other locales when its English changes without them — write service, /api/platform/ideas routes (batch add, PATCH, tags), the all-locales staff read, and docs/platform-ideas-api.mdMotir 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
- Store each idea's translatable fields, evidence claims and tag labels per locale — the eleven-locale shape beside the required English, its migration (adding `Idea.updatedAt @updatedAt` where the merged model lacks it, for the stale-locale check) and repository reads/writesMotir 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
- The situation-prompt phase-split suite's FORBIDDEN sets are stale: it forbids an author composition `update_item` / `remove_item` (which the author surface holds) and only guards the lay composition against a name no surface holds
- A hosted planning run is lost at the close when an author session re-wires a proposal's blockers: `update_item` sends a sibling proposal's BARE plan-item id instead of `planItem:<id>`, and core refuses the plan as dangling
- A plan being revised after it was proposed stays in Waiting on you instead of going back to planning, and a plan.py revision leaves Approve live mid-rewrite
- Design the two /docs notes — "this reference is generated and stays in English" above the API and CLI descriptions, and "this translation is being updated" above a page shown in English (a delta of the /docs page)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
- Production has no Motir system user, so every service-bearer write from motir-ai is refused with `system_principal_not_provisioned` and no planning bug has ever been filed. Provision it in production by migration, named "Motir"
- (motir-ai) A planning question fails with "That didn't go through" when the graph service is down — a code tool's `CodeGraphUnavailableError` is mapped to `ai_job_failed` and kills the `ask_project` job instead of taking the unavailable pathA dedicated code-graph service serves every tenant's graph reads, so any number of planning sessions read current code and the planning machines hold no graphs
- motir.co in eleven languages — browser detection, a language switcher, English fallback, and every page whose words live in the catalogue (landing, products, how it works, /design, /ideas, explore, public projects, the 404) translated and shown in its script's font 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
- The share image in every language — app/opengraph-image.tsx moved under app/[locale], its words from the locale's catalogue, rendered at build time in that script's font set (subset CJK faces loaded into the image renderer), statically generated per localeMotir 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
- Site links keep the page's locale — every internal motir.co link in the header, footer, product menu, mobile menu, page bodies and project tabs (spelled through siteLinkFor / publicPathFor) points at the same locale's address, English unprefixed, tenant-host project paths unchangedMotir 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
- Sweep motir.co's other covered pages for hard-coded copy into messages/en.json — landing, products, how it works, Motir builds itself, /design, /ideas chrome, /explore, the docs and legal chrome, the 404 room and the shared chrome — and add the JSX-literal guard testMotir 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
- Story E2E with acceptance video: a Japanese-browser first visit, Swedish falling back to English, switching to French and walking the site and /design's axes, the French 404 and a French public project page, the remembered choice beating the browser, the three Han scripts, a shared German link, the Japanese landing's crawl data and no CJK font on the English landingMotir 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-marketing coverage + integration gate for the eleven locales — every route statically generated for every locale, catalogue parity and message shape across all eleven, English fallback for a removed key, the detection matrix through proxy.ts on the site and a tenant host, the static build kept, ≥90% on the changed surfaceMotir 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
- Portuguese catalogue for motir.co — messages/pt.json created with en.json's exact key set, model-translated as Brazilian Portuguese under the pt glossary and reviewed against itMotir 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