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
- 5
- 要望
- 0
- 賛成票
- 352
- 計画済み
- 4,096
- リリース済み
- Agents claim, keep alive and close a dead run's continue over the MCP — `claim_work_item_continue`, `touch_work_item_continue` and `close_work_item_continue`, and `dispatch_prompt` renders the CONTINUE prompt
- Eight committed Tailwind-compiled design mocks paint `--el-text-muted` inside a `hover:bg-(--el-surface)` row — 138 sites at 4.17:1 that the design lane could not see until its CSS reader learned `@layer` and nesting
- revisions.test.ts asserts a created revision's changedAt is under 1 s old, so a loaded CI runner fails it on unrelated pull requests
- (motir-core) Story VITEST gate — the package's coverage floor, the tree rules' refusals, the import-direction and type-check-program guards, and the classifier rows, as this story's end-to-end proofPages — 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` CI LANE — `pkg_pages` in `ci.yml`'s changes classifier, a job running the package's typecheck, build and tests with coverage, and the classifier's own testsPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) SCAFFOLD `packages/pages` — `@motir/pages` with its tsup build, composite tsconfig on the solution, vitest config with coverage, and a barrel exporting the page model types and the pure tree rulesPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- The `@motir/pages` module and its record — the package, its own type-check, a CI lane that runs only when it changes, and the ADR that fixes the page modelPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- The published subprocessor and model-provider pages describe the retired DeepSeek position — "today the default is DeepSeek", no hosted-run consumer, and a transfer-basis group that binds no caller
- An awaiting approval gate whose subject is GONE stays in To approve forever: nothing withdraws it and its row and overlay offer no way out
- The sandbox release's base-image job hits its 25-minute limit while pushing, so every `cli-v*` release since 0.10.0 publishes images it never verifies or recordsYour 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
- `liveDrawingGate.test.tsx` runs at the 15 s test timeout on `main` — CI timed out all seven of its tests on an unrelated pull request
- aiAskService.ts branch coverage flips between runs on identical code and sits on its 90% floor, so the merge queue ejects unrelated pull requests
- The design state-ink arm abstains on a `color-mix()` hover tint and on multi-state escaped Tailwind variants — so it still cannot measure `renderMock` output, and 168 compiled-mock sites read as "unmeasured"
- (motir-core) Decision — `docs/decisions/pages.md`: the page model, the package-vs-app boundary and its ports, the Yjs body with its derived formats, the tree rules, permission keys, versions and limitsPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- Claude's connector directory reads no title on any Motir MCP tool — the title is set outside `annotations` — and `toKey` on `link_work_items` / `unlink_work_items` is a `$ref` with no typeMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (ops) A Fly Machines API token scoped to `motir-ai` for resuming pool machines — `FLY_POOL_API_TOKEN`, staged and read backA dedicated code-graph service serves every tenant's graph reads, so any number of planning sessions read current code and the planning machines hold no graphs
- (motir-core · test) Story E2E + acceptance video — a seeded metadata-document client sends a person through the sign-in hand-off, consent and Connected apps, each reading verified as its host, while a DCR client still reads Unverified, paced to watchMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (motir-core · test) Story integration gate — the coverage floor over the changed auth and OAuth surface, a real MCP SDK client signing in by a metadata-document client_id end to end, every refused document, DCR beside it, and each sign-in path on the upgraded libraryMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (motir-core) The app's verification is a VALUE, not a boolean — registered · domain-verified (with its host) · self-registered — and the consent screen, the sign-in hand-off and Connected apps render it from the design, in en and zhMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (motir-core) Motir accepts a Client ID Metadata Document — @better-auth/cimd with its hardened node transport and the MCP profile, the authorization-server metadata advertises client_id_metadata_document_supported, a discovered client is recorded as such, and DCR keeps workingMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories