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
- (motir-marketing · manual) Land the 2026-10 motir.co redesign, PR moooon-B-V/motir-marketing#81 — the current /ideas page and the design language the store-backed page is drawn and built onIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (verification) After the idea-store story deploys — production serves the 15 seeded ideas on the public API, and a platform-staff PAT can read the full store at /api/platform/ideas while a non-staff PAT and the staff PAT on another platform surface are refusedIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core · design) Operator console, delta — the Ideas page: its nav entry, the list with status/kind/category/tag/text filters, an idea's edit form with evidence rows, retire with a required reason, a superadmin's delete, read-only support staff, and every empty/loading/error stateIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) Story E2E — over HTTP against a running app: a staff PAT batch-adds, edits, retires and deletes ideas while anonymous reads follow, a non-staff PAT and the staff PAT on other platform surfaces are refused, and the seeded 15 are servedIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) Story integration + coverage gate — the store's seams against real Postgres: write → public read, retire → gone from public, the token gate × every platform surface, the seed's 15 ideas, and the ≥90% floorIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The public read routes — GET /api/public/ideas, /api/public/ideas/tags and /api/public/ideas/:slug, anonymous, active-only and cacheableIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The staff write routes /api/platform/ideas — GET all incl. retired, POST batch add, PATCH /:slug, POST /:slug/retire, DELETE /:slug (superadmin), POST /tags, and the research-run log — behind the token-aware gateIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) Move today's 15 ideas into the store — an idempotent data migration seeding the six Motir-would-buy ideas, the nine researched directions and the curated tag vocabulary, with a disposition for every source fieldIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The token-aware platform gate for the ideas endpoints — a PAT whose owner is staff at the route's level passes, everything else 404s — and the guard that no other platform surface accepts a tokenIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The idea PUBLIC READ service — active ideas filtered by category, tag, text and kind with category counts, the tag vocabulary with counts, and one idea by slug, as public DTOsIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The idea WRITE service — batch add, update, retire, hard delete, add a tag and record a research run, each one transaction with its PlatformAuditLog row naming the person and the credentialIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) The idea store's schema — Idea, its ordered evidence, the curated IdeaTag vocabulary and its join, the research-run log, the kind/status/category enums, and `idea` as a platform audit target, in one migrationIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- (motir-core) Amend platform-staff-auth.md — §2 gains the ideas-endpoints exception: a PAT whose owner is staff at the route's level passes there and nowhere else, with the credential named in the audit rowIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- Platform staff keep ideas in motir-core and anyone can read the active ones — the Idea store with its audit trail, today's 15 ideas moved in, the public read API, and the staff write API a platform-staff token can reachIdeas to build becomes a living idea store — the owner curates ideas in motir-core by hand and by a recurring research skill, and motir.co shows them live, searchable by category, tag and text
- A Version Packages merge is never tagged or published when another changeset is already on main
- Hand-Drawn / Indie puts BOTH scroll bars on every framed scroll container — the `.border::after` overlay sits at `inset: -1px`, one pixel of scrollable overflow on each axis
- (motir-ai) `graphServiceWarming` refresh-notice cases get a `warming` 503 on their setup read under load, because the cold download outlasts the 40 ms default warming answer
- (motir-core · test) E2E + acceptance video — a member mentions a work item in a page, opens the work item and finds the page under Pages, sees the chip follow a status change, removes the mention, and watches archive and restore move the rowPages 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) Story INTEGRATION gate — the 90% floor over the changed package and app surface, every body-write path deriving `mention` rows on real Postgres, `manual` rows surviving derivation, RLS and cross-tenant isolation, and the Visitor withholdingPages 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 on the work item page — linking pages with place, source labels and last edited, load-more paging, empty / loading / error states, absent without `page:view` and for a Visitor, with its 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