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
- 499
- planned
- 4,801
- shipped
- A new sign-up's first project is named with a generated placeholder like quiet-harbor-4821 — the identifier and slug derived from it, a redraw on collision — instead of the workspace's name, and it can be renamedOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- Apply the word-list review's verdict — replace every word or pair the human review rejected, and re-run the list checksOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- E2E with a paced acceptance video — a fresh sign-up lands in a generated-name project while the onboarding entrance shows no project name, a second sign-up gets a different name, the rename keeps the key, the name survives a language switch, and a person-named project keeps its nameOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- Story integration and coverage gate — the seeded name read back through the resolver, the retained idempotency guard, and the rename that leaves the identifier, the slug and every work-item key intactOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- A colliding seeded identifier or slug draws a fresh generated name, and an exhausted draw still completes with the name plus the shipped numeric suffix and a recorded warning; IdentifierCollisionError stays only for a workspace where every suffixed candidate is also heldOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- The seeded default project is named from the generator — identifier and slug derived from that name by the shipped helpers, on every zero-project doorOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- The committed word lists and the pure name generator — one English list used in every locale, injectable randomness, and a lowercase hyphenated adjective-noun-number name (the number four digits, 1000–9999) from at least 100 × 100 combinationsOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- A manual card's Waiting on you question survives a re-plan that rewrites it and blocks it — the `manual_work` gate is never reconciled, so the person is asked to mark done a card they cannot start, against a stale stamp
- At the narrowest plan-review split the canvas's live pill crushes the breadcrumbs to one letter
- Planning bug (both planners): a story's body can silently narrow its own title, and every card below is then laid and authored against the narrowed scope as if it were the requirement
- Enter on a canvas card's View button does not open the quick view: the card's own Enter handler cancels it
- Human review of the generated project-name words — read the prepared sheet and judge every word and every flagged pair for offensiveness, tone and spelling in the languages the app ships, then record one verdictOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- Planning bug: a re-plan's lay reconciles existing children but schedules no author session for them, so a child whose title changed (or whose body the requirement falsifies) keeps its stale body, and the plan still says "reconciled"
- Prepare the word-list review sheet — the words read from the open pull request at a named commit, their counts against the 100 × 100 floor, each adjective's work-item key, the app's shipped languages, and a flagged-pair shortlist screened from every pairOnboarding that matches motir.co — the Motir look and "vibe the project" voice, a GitHub connect that does not lose you, no waiting on the index, a generated first-project name, and import proven against real Jira, Linear and Plane
- Guide me through reads the project's code before every turn — even to draft or save a list — runs out of turns, discards what it read, and hands the person code reading and command-running steps instead of confirming them itself
- Planning bug (both planners): an author session that finds the parent story's criterion false never amends the story with update_item — sibling cards each pick a side and ship opposite behaviours
- (motir-core · design) The DISCREPANCY row in the run's findings strip — a `run-modal--discrepancy-finding.mock.html` delta of `design/runs` § What the run PRODUCED: its marker and hue, its label and point count, where it sits beside bugs and plans, its door to the card comment, and its place in the node's count
- (motir-core · decision) A run builds through a wrong HOW and records a DISCREPANCY — the decision page amending `run-findings-protocol.md` and `dispatch-run-record.md`: the one test between build-through and STOP, the `discrepancy_recorded` finding the server writes from `record_run_discrepancy`, its pointer-only data, one record per leg, and what stays STOP
- Planning bug: the smoke-scale run was laid as a CHILD of the story whose completion closes it, against that story's own placement hand-off
- The job tables stop growing without bound — a retention pass for succeeded job_queue rows (and job_step where it is unbounded) that never deletes a row a live reader, the DLQ or the code-graph lookups need, beside MOTIR-6935's job_run passmotir-core's web tier scales horizontally under agent traffic — each added `app` instance adds throughput (~500 req/s per instance, toward ~10k active agents), connections stay bounded, no reader is refreshed, measured first and proven by a re-runnable load test