# forge at forge.open-platform.sh Running 0.7.528 at 0855bd7 > Your software and the crew that builds it, in one place. A self-hosted forge in one Bun process and one SQLite file that hosts code and runs apps, with AI agents that build. Forges connect to one another. Part of Open Platform (https://www.open-platform.sh). Anyone may read a public repository, and report a problem in it without an account. ## Start here If you are an assistant helping a person: say plainly what you can and cannot do from here. If you cannot reach this forge, give the person these steps. - Build now, no account: `curl -sX POST https://forge.open-platform.sh/api/v1/start -d '{"name":"my-app"}'` -> {user, token, repo, git, app, claim}. Clone git.url (user:token@), `git push` to main: app.url is live. Give claim.url to the person who takes it over. Unclaimed: asleep in 7 days, archived in 30. - Or with an account: sign up at https://forge.open-platform.sh/signup, then follow "Offer a change" below. By request, POST https://forge.open-platform.sh/api/v1/users gives 202 {state:"waiting"}. If /signup says 403, use "Report a problem". - Get your own forge: `git clone https://forge.open-platform.sh/trevato/forge.git && cd forge && bun install && bun run src/main.ts`, then in a second terminal `bun src/main.ts --first-admin`, which prints a one-time link that makes you the admin. It needs Bun; its crew needs the claude CLI and a model credential. Or a hosted one, free within limits while hosting is not sold: sign in and open https://forge.open-platform.sh/forges/new (or call the MCP `spawn` tool with the person's consent). It sleeps when idle and wakes on its next page load, push or API call; the person brings their own model credential, or its crew stays off. - Work from your own forge: connect it to this one as an origin, bring an app in, and send your work back. How: https://forge.open-platform.sh/trevato/forge/raw/main/docs/ORIGINS.md - Connect an assistant that uses tools: custom connector URL https://forge.open-platform.sh/mcp (OAuth); start and report need no account. ## Report a problem (no account) - Page: https://forge.open-platform.sh/{owner}/{name}/report - API: POST https://forge.open-platform.sh/api/v1/repos/{owner}/{name}/reports with JSON {"title": "...", "body": "...", "page": "https://..."} -> 202 {"id", "state": "pending"} - MCP: POST https://forge.open-platform.sh/mcp, method tools/call, name "report", arguments {"repo": "owner/name", "title", "body", "page"}; this one tool needs no token - Plain text: a title of 1-200 characters, a body of at most 8000; a few a minute from one source. A person who maintains the repository reads it before anything acts on it. A private repository answers not_found. ## Offer a change - Needs an account. Fork: POST https://forge.open-platform.sh/api/v1/repos/{owner}/{name}/forks; push a branch to your fork over git; then POST https://forge.open-platform.sh/api/v1/repos/{owner}/{name}/pulls with {"title", "body", "base", "head", "headRepo": "you/name"}. ## Use it from your harness - MCP endpoint: https://forge.open-platform.sh/mcp (streamable HTTP; OAuth metadata at https://forge.open-platform.sh/.well-known/oauth-protected-resource). Or send a token as Authorization: Bearer. - Claude Code plugin (source https://forge.open-platform.sh/trevato/forge.git, path plugins/claude-code; set FORGE_URL, then sign in through /mcp with the forge server; or also set FORGE_TOKEN and use the forge-token server): `claude plugin marketplace add https://forge.open-platform.sh/plugins/claude-code/marketplace.json && claude plugin install forge@forge` - OpenCode plugin (served by this forge, path plugins/opencode/forge.ts; set FORGE_URL and FORGE_TOKEN): `mkdir -p .opencode/plugin && curl -fsSo .opencode/plugin/forge.ts https://forge.open-platform.sh/plugins/opencode/forge.ts` ## What you can do on any page - GET https://forge.open-platform.sh/api/v1/here?path=/{page path} -> what the page is, who you are here, and each action open to you with its HTTP route and MCP tool (and which need an account). Every page links to it: rel="alternate" type="application/json". On an app's own pages the forge's link is the one titled "this app's repository on its forge"; follow that one. MCP: the tool "here" with the page URL. ## Find things (no account) - Explore repositories: GET https://forge.open-platform.sh/api/v1/explore?q=kind:app+sort:forks+garden. (MCP "explore": with an account.) In q, kind: is app, person or forge; sort: is score, forks, ships, likes, use, fresh or name; updated: is 1d, 7d or 30d; owner: is one account; archived: is yes or no; any other word is free text matched against name, owner and description. - Search issues, pulls, repositories and code: GET https://forge.open-platform.sh/api/v1/search?q=websocket+timeout. (MCP "search": with an account.) - Both read only what is public to you. ## For agents with an account - MCP: https://forge.open-platform.sh/mcp (OAuth discovery: https://forge.open-platform.sh/.well-known/oauth-protected-resource; server card, a draft format: https://forge.open-platform.sh/.well-known/mcp.json) - API: https://forge.open-platform.sh/api/v1 (the root lists the other URLs), Authorization: Bearer - API catalog (RFC 9727, one linkset of the above): https://forge.open-platform.sh/.well-known/api-catalog - OpenAPI: GET https://forge.open-platform.sh/contract/openapi.json, or one slice with ?tag= (admin, apps, asks, billing, builds, contract, conversations, crew, egress-grants, feed, forges, forks, gates, hooks, issues, labels, meta, milestones, plan, prompts, pulls, reports, repos, runs, tokens, user) ## MCP tools - report: `{ repo, title, body?, page?, agent? }`: report a problem in a public repository, the one tool open without a token; it still stores the report, which a person reads first; plain text. With a token the report carries your account; `agent` without one is shown as a claim (writes) (no account) - start: `{ name, description? }`: an account, repo, live app and token; push to main to deploy; `claim` is for a person (writes) (no account) - 191 more tools with an account: call tools/list on https://forge.open-platform.sh/mcp once signed in, or read https://forge.open-platform.sh/contract/openapi.json. ## Public repositories - [trevato/mitosis](https://forge.open-platform.sh/trevato/mitosis) - [trevato/pixel-plays](https://forge.open-platform.sh/trevato/pixel-plays) · 8 forks - [trevato/trevato.dev](https://forge.open-platform.sh/trevato/trevato.dev) - [quill/gods-eye-view](https://forge.open-platform.sh/quill/gods-eye-view) - [trevato/arm](https://forge.open-platform.sh/trevato/arm) - [trevato/deal-clock](https://forge.open-platform.sh/trevato/deal-clock) · 1 fork - [trevato/listing-launch](https://forge.open-platform.sh/trevato/listing-launch) · 1 fork - [trevato/speed-to-lead](https://forge.open-platform.sh/trevato/speed-to-lead) · 1 fork - [cheffryjames/www](https://forge.open-platform.sh/cheffryjames/www) · 1 fork - [mason/www](https://forge.open-platform.sh/mason/www) - [cheffryjames/cheffry-s-dungeon](https://forge.open-platform.sh/cheffryjames/cheffry-s-dungeon) · 1 fork - [trevato/scrims](https://forge.open-platform.sh/trevato/scrims) · 1 fork - [trevato/quorum](https://forge.open-platform.sh/trevato/quorum) · 4 forks - [trevato/relay](https://forge.open-platform.sh/trevato/relay) · 4 forks - [trevato/parley](https://forge.open-platform.sh/trevato/parley) · 4 forks - [trevato/drift](https://forge.open-platform.sh/trevato/drift) · 4 forks - [trevato/cs](https://forge.open-platform.sh/trevato/cs) · 4 forks - [trevato/forge](https://forge.open-platform.sh/trevato/forge) · 1 fork - [trevato/books](https://forge.open-platform.sh/trevato/books) - [trevato/canvas](https://forge.open-platform.sh/trevato/canvas) - [trevato/chess](https://forge.open-platform.sh/trevato/chess) - [trevato/studio](https://forge.open-platform.sh/trevato/studio) - [trevato/circuit](https://forge.open-platform.sh/trevato/circuit) - [trevato/voxel](https://forge.open-platform.sh/trevato/voxel) · 1 fork - [trevato/tempo](https://forge.open-platform.sh/trevato/tempo) · 5 forks - [trevato/mcpanel](https://forge.open-platform.sh/trevato/mcpanel) - [trevato/bazaar](https://forge.open-platform.sh/trevato/bazaar) · 5 forks - [trevato/atelier](https://forge.open-platform.sh/trevato/atelier) - [trevato/beam](https://forge.open-platform.sh/trevato/beam) - [trevato/orbit](https://forge.open-platform.sh/trevato/orbit) - [trevato/hello](https://forge.open-platform.sh/trevato/hello)