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
- 賛成票
- 378
- 計画済み
- 4,110
- リリース済み
- (motir-core · test) Story E2E — a real MCP client against the running app lists every tool with its title and hints, a read-only call and a destructive call behave as their hints say, and the recorded `tools/list` is published as the story's receiptMotir 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 MCP surface, `tools/list` through the real `/api/mcp` route with a PAT against Claude's directory criteria, the catalogue agreeing with the handshake, and the guard that a read-only tool's handler writes nothingMotir 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 published tool catalogue carries each tool's title and hints — `GET /api/docs/mcp-tools.json` rows gain `title` and `annotations` without breaking the route's dependency-graph rule, and `docs/mcp.md` says what the hints promiseMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (motir-core) Every MCP tool declares its hints — a total `TOOL_ANNOTATIONS` table over `McpToolName`, each row checked against the tool's handler, injected at the `registerTool` seam, which also refuses a tool with no title or one over 64 charactersMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- Claude asks before Motir writes — every MCP tool carries a human title and a read-only or destructive hintMotir inside Claude — a connector you sign into with your Motir account, one Claude Code plugin, and both listed in Claude's directories
- (motir-core · design) My agents, delta — the Chat tab beside Terminal: the transcript with prompts, a streaming reply, collapsed and expanded tool-call rows (a read, an edit with its diff, a command with its output), the end-of-turn and stopped states; the prompt box with Send and Stop; the session list and a resumed session; aider's disabled tab, Claude Code refused on a subscription sign-in, not signed in, no chat server, waking, connecting and lost; the narrow widthYour 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 · decision) Chat with your agent — each CLI's headless stream read from its docs and shipped binary and the supported set it yields, whether a Motir-rendered chat on a subscription sign-in is within Anthropic's terms, the `/v1/chat` protocol behind the relay token, one transcript event shape and the adapter contract, a turn's start and stop, the session list and resume from the CLI's own store, activity, and what is never loggedYour 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 · decision) Running a card in your agent — the detached launch through the agent's terminal server, the run's credentials kept off the agent's home, each profile's unattended agent command and the profiles that cannot run, the sign-in and image-capability probes, `origin: instance` and the agent on the run record, one running run per agent, and what hibernate, delete, a lost machine and Cancel do to a live runYour 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 · test) E2E + paced acceptance video — open a hibernated agent from the list and watch it wake into a live terminal, type and resize, lose and regain the connection, sign in through a stubbed vendor CLI and see the status turn, close the panel and let it hibernate, reopen still signed in, and another member refusedYour 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 · test) Story test gate — coverage floor over the terminal server, machine process, relay and panel; the relay → real terminal server seam, owner-only refusal against the real database, a live terminal holding the agent awake, sign-in status from a real credential file, and a guard that no stream byte reaches a logYour 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) The agent panel on My agents — a row opens the agent in the right half with the list still usable and the address naming it, opening wakes it, the header's live state and sign-in status, Hibernate and Delete, and the terminal tab on xterm with resize and reconnect, built to the approved deltaYour 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) The terminal relay — the owner-only ticket, opening a hibernated agent wakes it, bytes carried both ways and never stored or logged, activity bumped while a terminal is live, open and close recorded, and the sign-in status read through itYour 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) An agent's machine runs the terminal server as its main process and the relay can reach it — the persistent spec gains the process and its port, the organisation's app gets the address the transport needs, a wake brings an older agent's machine config up to date, and an image with no terminal server is reportedYour 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 · CLI) `motir` carries the in-agent terminal server — a login shell as `node` in `$HOME/workspace` on a PTY that survives a dropped connection, resize, the relay's ticket verified, a sign-in check that reads only whether each coding agent's credential file exists, no stream byte logged, released by a changesetYour 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
- A terminal relay that dies without shutting down leaves its agent_terminal_connection rows open forever
- Open an instance beside the page and work in its terminal — sign in to the agent with your own account through the vendor's own flow, and the sign-in survives hibernationYour 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
- Release the `@motir/design-system` version that carries `renderMock` — push its `design-system-v<x.y.z>` tag, then pull the published package anonymously and confirm `renderMock` is exported
- (motir-core) The approve-to-merge gate exists only while CI is all green AND the card is In Review — today green CI alone raises it, so a card still In Progress is asked, and approving fails with IllegalTransitionError
- (manual) Merge the motir-core "Version Packages" pull request that bumps `@motir/design-system` for `renderMock`
- (motir-core · test) Story E2E — the built CLI prints a design card's prompt carrying the Motir-Design check and both branches, and a `renderMock` mock opens offline in a real browser with the package's parts styled and recoloured by palette