diff --git a/CHANGELOG.md b/CHANGELOG.md index db299d1..39615e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,11 @@ All notable changes to this project are documented here. -## [Unreleased] +## [0.1.0-rc.1] - 2026-10-08 + +### Distribution +- Provide the pre-release tarball from the repository release so another + machine can install it without cloning or building the source checkout. ### Documentation - Document release-candidate tarball verification and record the pre-release diff --git a/README.md b/README.md index e3d53eb..d578ae8 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ A small, OpenCode V2-native package containing a curated set of engineering workflows adapted from ECC, plus a read-only project-status tool and a conservative project installer. -This is an early development release. It currently targets OpenCode **2.0.24** -and Node.js **20 or newer**. It is not yet published to npm. +This is a pre-release (`0.1.0-rc.1`) targeting OpenCode **2.0.24** and Node.js +**20 or newer**. It is not published to npm; install the package tarball attached +to the repository release. ## Included @@ -19,22 +20,23 @@ and Node.js **20 or newer**. It is not yet published to npm. Provider/model selection remains the user's OpenCode configuration. The package does not enable hooks through a global install or configure credentials. -## Install from a local checkout +## Install the pre-release -Until a release is published, install the package from its checkout in the -project where it will be used: +From the project where you want to use the toolkit, run: ```sh -npm install --save-dev /path/to/opencode-toolkit +npm install --save-dev "https://git.sargatxet.cloud/sargatxet/opencode-toolkit/releases/download/v0.1.0-rc.1/sargatxet-opencode-toolkit-0.1.0-rc.1.tgz" npx opencode-toolkit install . ``` -Replace `/path/to/opencode-toolkit` with the checkout path on your machine. +This installs the prebuilt package and dependencies directly from the release; +you do not need to clone the repository or build it. Node.js 20+ and npm must be +installed. OpenCode itself should be version 2.0.24 for the validated setup. The installer copies the selected skills and agents into `.opencode/`, registers the local package directory from `node_modules` in the applicable project config, and writes an ownership manifest. This avoids asking OpenCode to fetch -the provisional, unpublished package name from npm. It does not overwrite +the package from npm. It does not overwrite unmanaged files. If a managed file has been edited since installation, updates stop rather than replacing it. If both `opencode.json` and `.opencode/opencode.json` exist, installation stops @@ -67,12 +69,12 @@ For a release candidate, build the package and create a tarball from the checkou npm pack ``` -This creates `sargatxet-opencode-toolkit-0.1.0.tgz` for the current provisional -package identity and version. In a disposable project, install that tarball +This creates `sargatxet-opencode-toolkit-0.1.0-rc.1.tgz` for the current +pre-release. In a disposable project, install that tarball rather than linking the checkout: ```sh -npm install --save-dev /path/to/sargatxet-opencode-toolkit-0.1.0.tgz +npm install --save-dev /path/to/sargatxet-opencode-toolkit-0.1.0-rc.1.tgz npx opencode-toolkit install . npx opencode-toolkit install . ``` diff --git a/TODO.md b/TODO.md index d54ca96..01e8bb8 100644 --- a/TODO.md +++ b/TODO.md @@ -25,9 +25,12 @@ credentials, including idempotency and conservative uninstall checks. - [x] Perform and record a pre-release manual security review of installer paths, file ownership, configuration edits, and failure limitations. +- [ ] Publish the `0.1.0-rc.1` tarball as a repository pre-release and verify the + direct installation URL from a clean project. - [ ] Add provider-backed verification after confirming credentials and model usage budget with the user. -- [ ] Confirm repository/package names and decide whether to publish. +- [ ] Decide whether to publish the package to npm; repository pre-releases do + not publish it to the npm registry. ## Follow-up diff --git a/docs/IMPLEMENTATION-PLAN.md b/docs/IMPLEMENTATION-PLAN.md index f567372..e2ae7d2 100644 --- a/docs/IMPLEMENTATION-PLAN.md +++ b/docs/IMPLEMENTATION-PLAN.md @@ -139,21 +139,21 @@ provider-backed agent delegation and skill behavior remain unverified. runtime; config collisions are handled or reported before writes; the V2 plugin and its custom tool are confirmed active. -### Phase 5 — Document and release (release candidate prepared; publication pending) +### Phase 5 — Document and release (repository pre-release in progress) - Document scope, installation, update/uninstall, compatibility, provenance, and known limitations. - Run deterministic checks and security review before release. - Confirm package/repository names and get explicit approval before publishing. -**Progress:** README now documents checkout installation, tarball verification, -update/uninstall behavior, compatibility, and credential-free checks. A manual -pre-release review of installer paths, ownership, JSONC edits, symlinks, and -failure behavior found no release blocker for trusted project-local use; its -filesystem and provider-backed limitations are recorded in -[`SECURITY-REVIEW.md`](SECURITY-REVIEW.md). Typecheck, all 16 tests, coverage -(87.4% lines), and package dry-run passed. Publication remains blocked on -explicit confirmation of the package/repository identity and destination. +**Progress:** README now documents installing directly from the repository's +pre-release tarball, as well as updating and uninstalling. A manual pre-release +review of installer paths, ownership, JSONC edits, symlinks, and failure behavior +found no release blocker for trusted project-local use; filesystem and +provider-backed limitations are recorded in [`SECURITY-REVIEW.md`](SECURITY-REVIEW.md). +Typecheck, all 16 tests, coverage (87.4% lines), and package dry-run passed. +The `0.1.0-rc.1` tarball and repository release still need publication and a +clean-project install check. **Acceptance:** another user can install from documented instructions and verify the deterministic behavior without credentials. diff --git a/package-lock.json b/package-lock.json index 8a14ad1..e1f6d40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@sargatxet/opencode-toolkit", - "version": "0.1.0", + "version": "0.1.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@sargatxet/opencode-toolkit", - "version": "0.1.0", + "version": "0.1.0-rc.1", "license": "MIT", "dependencies": { "@opencode/plugin": "2.0.24", diff --git a/package.json b/package.json index 634a778..4d9971b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sargatxet/opencode-toolkit", - "version": "0.1.0", + "version": "0.1.0-rc.1", "description": "A small, OpenCode V2-native toolkit with selectively adapted ECC workflows.", "type": "module", "license": "MIT",