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
- 597
- planned
- 5,376
- shipped
- (motir-core) Story gate — integration vitest across the whole seam: created → seeded → re-pointed → filed, root, folder-delete carry-up, and the untouched planner markerProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core) The DESTINATION PICKER in the project-settings Bugs room — a folder or Project root, its route, and both message cataloguesProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core) The RESOLVER — one seam that answers where an unplaced bug is filed, and `fileBug`'s no-parent branch moved onto itProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core) BACKFILL every existing project with a Bugs FOLDER destination — adopt a root folder already named Bugs, create one otherwiseProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core) SEED the Bugs FOLDER at project creation — inside `insertProjectWithSeedsInTx`, beside the workflow and boardProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core) SCHEMA — the project's nullable BUG-DESTINATION FOLDER pointer, its migration, and its same-project guardProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- Every project has a BUGS FOLDER — seeded with the project, and re-pointable to any folder or to the project rootProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-core · design) The board REFUSES ON THE CARD — a drop onto the column a pending decision owns returns the card with the refusal and its door anchored to it, and every other refusal keeps the toastApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The pull request's MERGE RECORD — `merge_authority` and `merge_outcome_ref` on `github_pull_request`, written when Motir merges or enqueuesApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story VITEST gate — coverage over the merge arm, approve → merge → webhook → Done on real Postgres, and the one-status-writer and no-host-type guardsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AUTO mode — Motir merges a green run target's pull requests with no gate, and the pull request records that the project's setting authorised itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The MERGE ENTRY POINT — merge or enqueue a gate's pull request after checking the gate is decidable, then decide it with the outcome; a refusal decides nothingApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The merge QUEUE — detect a base branch that requires one and ENQUEUE through the seam, returning the queue entry instead of a mergeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) RAISE and WITHDRAW merge gates — one awaiting pull_request_merge per green pull request on the run target in a manual project, superseded when its head moves or its link goesApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `GitProvider.mergeChangeRequest` — the seam method and GitHub's merge, normalized to merged or a typed refusalApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The approval frame's SETTINGS DOOR — a kind-supplied link to the project's merge-mode setting, rendered only for a viewer holding workflow:manageApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The MERGE refusals render in ApprovalGateControl — five new members of the refusal union, each with next-action copy (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The GitHub App chosen by repository PROVENANCE — a hosted repository mints through motir-studio, an imported one through motir-integrationApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AMEND approval-gates.md §4 for the MERGE gate — one per pull request on the run target, raised on green, merge-or-enqueue outcome, the refusal union, and what an auto merge recordsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Register `pull_request_merge` — the handler over one pull request, the `work_item:merge_pull_request` permission, and the kind's settings doorApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join