feat: migrate to OpenCode 2
PR Checks / hadolint (pull_request) Successful in 12s
PR Checks / build-test (pull_request) Successful in 3m14s

OpenCode 2 publishes its CLI as @opencode/cli (opencode-ai stops at
1.19.x), so install that package and pin it to 2.0.32.

Also fix what the v2 migration invalidates:
- renovate.json: track @opencode/cli instead of opencode-ai, otherwise
  the pin is never bumped.
- opencode-attach: `opencode attach` no longer exists in v2. Point the
  client at the server with `--server <url>` instead (appended after a
  subcommand when one is given); auth still comes from
  OPENCODE_SERVER_PASSWORD / OPENCODE_PASSWORD.
- README/AGENTS: v2 package name, entrypoint, serve defaults, API
  surface (/global/health is gone, everything lives under authenticated
  /api/*), and removal of OPENCODE_SERVER_USERNAME (the username is
  always `opencode` in v2).

The entrypoint stays ["opencode"] on purpose: existing deployments pass
`serve ...` at runtime, and OpenCode 2 is invoked the same way.
This commit is contained in:
OpenCode Cabillot committed 2026-10-17 19:28:14 +00:00
1 parent 82cfa4af95
commit c2c0a81547
5 files changed
+65 -37

No files matched your search

+4 -4
View File
@@ -12,12 +12,12 @@
},
{
"customType": "regex",
"description": "Track opencode-ai npm package pinned in Dockerfile RUN command",
"description": "Track @opencode/cli npm package pinned in Dockerfile RUN command",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": ["opencode-ai@(?<currentValue>[^\\s]+)"],
"depNameTemplate": "opencode-ai",
"matchStrings": ["@opencode/cli@(?<currentValue>[^\\s]+)"],
"depNameTemplate": "@opencode/cli",
"datasourceTemplate": "npm",
"versioningTemplate": "npm"
}
]
}
}