From b423b51da6f371a9627cddadb6f262230a3df2c2 Mon Sep 17 00:00:00 2001 From: kostiantyn-kugot Date: Mon, 23 Mar 2026 21:24:43 +0100 Subject: [PATCH] docs: add project release command --- .gitignore | 4 +++- .opencode/commands/release.md | 25 +++++++++++++++++++++++++ README.md | 4 ++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 .opencode/commands/release.md diff --git a/.gitignore b/.gitignore index db1f783..a830f37 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,9 @@ build/Release # Dependency directories node_modules/ jspm_packages/ -.opencode/ +.opencode/* +!.opencode/commands/ +!.opencode/commands/*.md .vite/ # Snowpack dependency directory (https://snowpack.dev/) diff --git a/.opencode/commands/release.md b/.opencode/commands/release.md new file mode 100644 index 0000000..0061536 --- /dev/null +++ b/.opencode/commands/release.md @@ -0,0 +1,25 @@ +--- +description: Prepare and ship an opencode-theme-studio release +argument-hint: "[patch|minor|major] [optional notes]" +--- + +Prepare a release for `opencode-theme-studio`. + +Interpret `$ARGUMENTS` as the bump type plus optional release notes. If no bump type is provided, default to `patch`. + +Follow this workflow: + +1. Inspect `git status`, preserve unrelated local changes, and base work on the latest `upstream/main`. +2. Determine the next version from `package.json` and create a branch named `release/vX.Y.Z`. +3. Commit release-ready source changes before running the version bump so `npm version -m "chore(release): %s"` can create the release commit and local `vX.Y.Z` tag on a clean tree. +4. Run `npm run test`, `npm run lint`, and `npm run build`. +5. Push the branch, create a PR against `main`, and summarize the user-facing changes plus verification results. +6. Try to assign `dmytro-zhytnik` and request review from `mykola-sharshov` and `vladyslav-kosachev`; if GitHub cannot resolve them, note that clearly instead of failing the release. +7. Merge the PR using the repository's allowed merge method. If the repo only allows squash merge, retag `vX.Y.Z` to the merged `main` commit before pushing the tag. +8. Push the release tag, fetch `upstream`, and sync local `main` to `upstream/main`. + +Guardrails: + +- Do not include unrelated files like `.DS_Store` or local config noise. +- Do not force-push or amend unless the user explicitly asks. +- If branch protection blocks the merge, ask once whether to wait for approval or use admin merge. diff --git a/README.md b/README.md index a234430..6950d45 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,10 @@ Optional project default in `.opencode/tui.json`: - Shared URLs hydrate the editor before local draft restore, so collaborators land on the intended version immediately. - Install and share commands use a compressed payload that contains the full dark + light theme bundle, not just the current mode. +## Project command + +- This repo includes `.opencode/commands/release.md`, so inside OpenCode you can run `/release patch`, `/release minor`, or `/release major` to follow the standard release workflow for Theme Studio. + ## Local development ```bash