Skip to content
Merged
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
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand Down
25 changes: 25 additions & 0 deletions .opencode/commands/release.md
Original file line number Diff line number Diff line change
@@ -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 <type> -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.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading