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
- 504
- planned
- 4,951
- shipped
- (motir-core) The `get_page` MCP tool — a page's markdown, placement, revision and latest version by project key and page id under `page:view`, registered in every home a tool has: registry, permission map, annotations, payload, published catalogue and generated schemas, `docs/mcp.md`, and the tests keyed by tool namePages — 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 boot driver — an `agent-instance/boot` job advances one boot attempt the moment each step is possible, holding the attempt's lease, recording every step, cloning one repository per exec, and failing on the step it is on with its reasonYour 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
- (motir-core) `pagesService` markdown doors — `getPageMarkdown` (`page:view`: title, placement, revision, latest version's number and author, body markdown), `savePageMarkdown` (`page:edit`, with the revision read) and a create that takes an initial markdown body and a parent, each in one 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) The MARKDOWN WRITE in `@motir/pages` — `savePageMarkdown` checks the revision the caller read under the page lock, turns the markdown into one Yjs update and saves it through the ordinary path, refusing a stale revision with `PAGE_REVISION_CONFLICT`Pages — 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 boot-step record — one row per step of each boot attempt (step, repository, state, started and ended times, detail) with RLS in its migration, its repository, and the boot read's DTO and mapperYour 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
- (motir-core · orchestrator) describePersistent reports the machine's lifecycle events — launch, start and exit with its code and time — in the Fly and fake adapters, so a boot can name the step its machine is onYour 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
- Agents read and write a page over the MCP — `get_page` by id returns its markdown, `create_page` / `update_page` take a markdown body, and a dispatched agent's grant can use themPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- Watch your agent boot — Create closes at once and opens the new agent's panel, and the server drives the boot to running or failed while the panel reads out every step liveYour 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
- (motir-core · design) ARCHIVE, RESTORE and DELETE a page — Archive… on the tree row and the page, the archived-page banner, the Archived pages list in `/pages`, the permanent-delete confirm, the restored-elsewhere notice, and every refusal and role statePages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- A card at In Review with a red open pull request is missing from To fix: the repair predicate admits In Review only for a merge-queue exit, and nothing holds a card that reaches In Review already red
- (motir-core) Two concurrent wakes can leave the woken agent running with NO fleet slot — the losing wake releases the slot it reserved, which the winning wake was relying on via `already_held`
- (motir-core) MCP tool descriptions link their own API reference — clears the connector directory's "Reference the target API docs in the description" suggestion
- A cancel racing the CLI's close leaves an "ended (cancelled)" line on a run that ended succeeded
- (motir-core) The hosting ADR, `.env.example` and the index-fleet ADR still say production `MOTIR_AI_URL` is `http://motir-ai.internal:8080`, and it is the public origin since motir-ai's pool started suspending
- (motir-core) Story E2E — the `/pages` tree: folder, page, sub-page; drag and Move up/down; the sidebar tree and breadcrumb; a refused move; folder delete; a viewer read-only — recorded as the paced 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 tree's package and app modules, the move / subtree-rewrite / folder-delete seams on real Postgres, concurrent moves, and RLS isolationPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) DRAG-AND-DROP in the `/pages` tree — reorder among pages and drop onto a folder, page or the root, with the drop target shown and a refused drop snapping backPages — 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's PLACE on its own route — the sidebar tree with the page selected and its ancestors expanded, and the folder › page breadcrumb replacing "← Pages"Pages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) MOVING in the `/pages` tree — Move to… (folder, page or root), Move up / Move down, each refusal shown, and folder rows' New folder / Rename / Move / Delete from the shared folder commandsPages — 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 `/pages` TREE — folder and page rows, lazy expand and load-more per level, New page / New page here / New sub-page, and its empty, loading, error and read-only statesPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history