chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

23
qimingcode/AGENTS.md Normal file
View File

@@ -0,0 +1,23 @@
- 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 <version>`
- After publish, run:
- `bun run script/check-version-consistency.ts --phase post --version <version>`
- Any mismatch must fail the release immediately.
3. **Commit & Push**: Push changes to `feat/qimingcode` branch.
4. **Tag & Trigger CI**: `git tag v<version> && git push origin v<version>`
- 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<version>`.
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 <new_version>` for npm registry publish.