Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
shell: bash
run: |
set -euo pipefail
# Version bumps are reviewed separately; this workflow publishes package.json verbatim.
version="$(node -p "require('./package.json').version")"
if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$ ]]; then
echo "Expected package version X.Y.Z-beta.N, got: $version" >&2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ dist/

# Local agent notes / environment-specific
AGENTS.md
.opencode/

# Graphify knowledge graph output
graphify-out/
6 changes: 0 additions & 6 deletions .opencode/opencode.json

This file was deleted.

11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,17 @@ npm run verify
dependencies with lifecycle scripts disabled, imports it independently, and
loads that extracted package through the pinned `opencode2` beta.

### Beta release

Before dispatching the **Release V2 Beta** workflow, land a reviewed commit that
updates `package.json` to the next unused `X.Y.Z-beta.N` version and updates any
lockfiles changed by the package manager. Run the workflow from `beta` with
`dry_run` enabled first, then rerun the same commit with `dry_run` disabled to
publish.

The workflow does not bump versions or create release commits. It validates,
packs, and publishes the exact reviewed version to npm's `beta` dist-tag.

## Debugging

Enable plugin logs:
Expand Down
2 changes: 2 additions & 0 deletions test/shared-constants.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { describe, expect, test } from "bun:test";
import { execFileSync } from "node:child_process";

// The suite runs under Bun, so process.execPath intentionally launches a fresh
// Bun process that can import the TypeScript module without a build step.
const readFallbackLimits = (environment: NodeJS.ProcessEnv) => JSON.parse(
execFileSync(
process.execPath,
Expand Down
Loading