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
- suggestions
- 4
- votes
- 484
- planifiés
- 4 396
- livrés
- `getRoleCatalog` returns the project's OWN roles — the widened `RoleDTO`, the provenance, and the two shipped screens rendering them read-onlyPermissions — a permission catalog, custom project roles, and permission-gated UI
- The role-definition API — `POST /roles`, `PATCH` and `DELETE /roles/[roleId]`, and the refusal→status mapPermissions — a permission catalog, custom project roles, and permission-gated UI
- `projectRoleDefinitionService` — create, rename, re-permission and delete-with-reassign, its caps, its locks and its typed refusalsPermissions — a permission catalog, custom project roles, and permission-gated UI
- The resolution arm — a membership on a custom role resolves THAT role's set, with both rails and the access-level subtraction untouchedPermissions — a permission catalog, custom project roles, and permission-gated UI
- `ProjectRoleDefinition` — the table, its RLS, the membership pointer that REFUSES to cascade, and the repositoriesPermissions — a permission catalog, custom project roles, and permission-gated UI
- `Checkbox` — the one new design-system primitive the role editor needs, and the raw input it replacesPermissions — a permission catalog, custom project roles, and permission-gated UI
- Permissions — a permission catalog, custom project roles, and permission-gated UI
- Custom project roles — author a role from a base, choose its permissions, assign members to itPermissions — a permission catalog, custom project roles, and permission-gated UI
- (motir-ai) MIRROR the design-area-is-a-FOLDER limb into `SHARED_PLANNING_RULES` — the shipped planner must scope an asset-defect grep to the directory, not the file it openedPermissions — a permission catalog, custom project roles, and permission-gated UI
- `metadataBase` is unset, so every OG/Twitter image URL on the public surface resolves against `http://localhost:8080`
- The acceptance lane flakes on the AI planning workspace's FIRST PAINT — two specs, 20s timeouts, and the same commit fails a different test each run
- PLANNING BUG — measured a stale design asset file-by-file inside the right folder, and the surface had three mocks, so the card's own grep would have returned 0 with 17 sites still stalePermissions — a permission catalog, custom project roles, and permission-gated UI
- design/backlog still annotates every row `role="row"` + `aria-selected` — the asset describes the composition MOTIR-2493 removed
- /backlog rows are role="row" inside a role="list" — two CRITICAL axe violations on every populated backlog, and neither role can do its job
- A disabled Input's opacity-50 composites its affix text below AA — no ink choice can fix it, because opacity halves whatever you pick
- The acceptance-video publish FAILS OPEN — "Published 0 of 2", an ##[error] in the log, and the step + the check both go GREEN
- Every code block on the public API docs is a scroll region a keyboard cannot reach — 20+ panes of the reference are readable by mouse only
- Story E2E (Playwright) + acceptance video — an admin, a member and a viewer walk the same shell and are offered exactly what they holdPermissions — a permission catalog, custom project roles, and permission-gated UI
- Story vitest gate (motir-core) — the coverage floor, the rail↔page↔service key agreement, and the guards that keep hiding from becoming enforcementPermissions — a permission catalog, custom project roles, and permission-gated UI
- The work-item affordances ask the KEY — retire `canEdit` and `canManage` from the client contextPermissions — a permission catalog, custom project roles, and permission-gated UI