- To test opencode in `packages/opencode`, run `bun dev`. - To regenerate the JavaScript SDK, run `./packages/sdk/js/script/build.ts`. - ALWAYS USE PARALLEL TOOLS WHEN APPLICABLE. - The default branch in this repo is `feat/qimingcode`. - **Release Workflow**: 1. **Changelog**: Update `CHANGELOG-qimingcode.md` with new version details. 2. **Bump Version**: Update `packages/opencode/package.json` version field. 2.1 **Version Consistency Rule (Mandatory)**: - `packages/opencode/package.json` is the only version source of truth. - All `optionalDependencies` entries matching `qimingcode-*` must equal the same version. - Rebuild binaries before publish, then run: - `bun run script/check-version-consistency.ts --phase pre --version ` - After publish, run: - `bun run script/check-version-consistency.ts --phase post --version ` - Any mismatch must fail the release immediately. 3. **Commit & Push**: Push changes to `feat/qimingcode` branch. 4. **Tag & Trigger CI**: `git tag v && git push origin v` - CI (`.github/workflows/build-release.yml`) builds all 11 platform targets on a single ubuntu-24.04 runner via Bun cross-compilation. - Produces 13 archives: darwin (arm64, x64, x64-baseline), linux (arm64, x64, x64-baseline, arm64-musl, x64-musl, x64-baseline-musl), windows (x64, x64-baseline, each with .tar.gz + .zip). - Auto-creates GitHub Release and uploads all assets. 5. **Verify**: Check release at `https://github.com/qiming-ai/qimingcode/releases/tag/v`. 6. **Electron Integration**: Update `QIMINGCODE_VERSION` in Electron client's `scripts/prepare/prepare-qimingcode.js` and `installVersion` in `src/main/services/system/dependencies.ts`, then run `node scripts/prepare/prepare-qimingcode.js`. 7. **npm publish** (optional): Run `./release.sh ` for npm registry publish.