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
- 501
- planned
- 4,954
- shipped
- MotirAiUnavailableError: motir-ai is unavailable: fetch failed
- (motir-core) Story E2E — two members edit a page, History lists both versions with their authors, the older one opens beside the current page, Restore makes it current as "restored from v1", a viewer sees no Restore; record the acceptance videoPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) Story VITEST gate — the coverage floor over the version modules, coalescing, the cap and restore on real Postgres, two authors' concurrent saves, `page_version` RLS, and the history routes' refusalsPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) RESTORE from the history panel — the confirm, the restore call, the open editor reloaded to the restored content, each refusal shown, held while edits are unsaved, and absent for a viewerPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) The HISTORY PANEL on `/pages/[pageId]` — the History entry, the versions list with load-more, and a version shown read-only beside the current page, with its loading, error and pruned-source statesPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) The page HISTORY ROUTES — list versions, read one version, and restore one, with every history refusal mapped to its HTTP statusPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) `pagesService` history — list a page's versions (keyset paged, newest first, authors batched), read one version, and restore a version under `page:edit` in one locked transactionPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) `pageVersionRepository` and the `PageStore` adapter's VERSION methods — latest, insert, update, find, count and delete-oldest over `page_version` in the open transaction, mapped to the package's version rowsPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) VERSIONS in `@motir/pages` — the per-author 10-minute coalescing policy and the 100 cap in `savePageUpdate` and `createPage`, the `PageStore` version methods, and the `restorePageVersion` procedurePages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) The `page_version` TABLE — migration with the snapshot columns, unique page + number, cotenancy trigger, RLS, a backfilled version 1 for every existing page, and the Prisma modelPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- A page's history — versions saved as you write, who changed what, and restore to any versionPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- Run hosted: a double-click can refuse the second press as "not ready" because its own first press claimed the card
- (motir-ai) Code-graph size — unblock motir-core's index, stream hydration, explain the growth, and decide how the shared read path is split between tenants
- Motir skills anyone can install — run, repair a red card, log bugs, fix the Bugs folder and be guided through manual work from the coding agent you already use
- (manual) An outsider installs all six published skills into Claude Code and one other agent from motir.co/docs/skills, and uses each one on a scratch Motir projectMotir skills anyone can install — run, repair a red card, log bugs, fix the Bugs folder and be guided through manual work from the coding agent you already use
- (motir-core · design) My agents, delta — Create closes at once and opens the new agent's panel; the boot read-out while starting and waking (every step waiting, in progress, done, failed and skipped, one row per repository, elapsed times), the failed read-out with its way out, the summary once running, the booting row in the list, and the narrow widthYour own agent instances — host Claude Code, Codex or any sandbox agent in Motir's cloud on your own credential, see them on one page, work with one beside it, and let idle ones hibernate
- `hostedRunCharge.test.ts` fails at random — its "no cost crosses the boundary" regex scans the whole serialized payload, so a generated id that happens to contain "cost" turns it red
- (motir-core · decision) An agent's boot is driven by its own job and read out step by step — the step vocabulary and where each step is recorded, the boot driver and its single-flight against the sweep and the run launcher, create and wake answering before the boot, the deadline it inherits from MOTIR-7336, and the boot stream's framesYour own agent instances — host Claude Code, Codex or any sandbox agent in Motir's cloud on your own credential, see them on one page, work with one beside it, and let idle ones hibernate
- Continue hosted: two presses of the same key at once can refuse the second as "taken" by its own run
- (motir-core) OAuth consent — build the wider card and the bottom-pinned action bar, so Approve and connect is on screen the moment the page lands