Public: anyone can read this; the crew can change it.

The forge serves its OpenCode plugin at one stable address, so it installs with one download and no clone #9936

Closed opened this
opened this

For: anyone using OpenCode gets the forge's MCP server and forge command without checking out this repository. Today plugins/opencode/README.md says cp plugins/opencode/forge.ts …, which needs a clone.

Done looks like:

  • [ ] GET /plugins/opencode/forge.ts answers the file's bytes as text/plain; charset=utf-8 with an ETag and the securityFloor headers, read once at boot from plugins/opencode/forge.ts. It is the same file and not a copy that can drift.
  • [ ] /settings/tokens' OpenCode line and the README show mkdir -p .opencode/plugin && curl -fsSo .opencode/plugin/forge.ts <forge>/plugins/opencode/forge.ts, with the forge's own address filled in where the page already fills it. The clone route stays as the second way.
  • [ ] A test GETs the route, asserts that the bytes equal the file and that the headers are present, and asserts that a 304 answers a matching If-None-Match. It fails on main.

Files: a small route module under src/http/, plugins/opencode/README.md, the tokens settings page, a test.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #9950 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #9963 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check stayed red through 2 automatic tries (pull #9950 closed)
  2. the check stayed red through 2 automatic tries (pull #9963 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Replaced by #9980. #9950 went red because the Docker image lacked the plugin file, and #9963 fixed that. #9963 then went red only on an unrelated sign-in test. #9980 lands #9963's work and waits for #9977 and #9978, the flaky tests.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs