一键导入
release-workflow
Use when preparing or executing a release of peek-stash-browser. Covers the full release lifecycle from validation through Docker image publishing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when preparing or executing a release of peek-stash-browser. Covers the full release lifecycle from validation through Docker image publishing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when writing tests for peek-stash-browser. Covers Vitest + React Testing Library (client) and Vitest + integration testing (server). Follow these conventions exactly.
Run all validation checks before tagging a new release
Use when starting a new coding session, beginning work on a branch, or resuming after a context reset. Gathers branch context, in-progress work, plan documents, and recent history to produce a briefing before any code is written.
Perform a code quality review before creating a PR. Use when reviewing changes, checking code quality, or doing a self-review of the current branch. Invoked as part of the work-ticket lifecycle after verification-before-completion and before finishing-a-development-branch.
Express 5 patterns for peek-stash-browser — TypeScript backend serving a React SPA with HLS video proxying, multi-instance Stash server routing, JWT auth via HTTP-only cookies, and SQLite via Prisma. Use when writing or modifying Express route handlers, middleware, proxy controllers, or streaming endpoints in the peek project.
Expert guidance for Prisma ORM with SQLite databases. Use when designing schemas, writing migrations, optimizing queries, working with FTS5 full-text search, or troubleshooting SQLite-specific issues in Node.js/TypeScript applications.
| name | release-workflow |
| description | Use when preparing or executing a release of peek-stash-browser. Covers the full release lifecycle from validation through Docker image publishing. |
Releases are triggered by pushing git tags. GitHub Actions builds and publishes Docker images automatically.
Pre-release validation → Version bump → Commit → Tag → Push → GitHub Actions → Docker Hub
X.Y.Z (e.g., 3.3.1)X.Y.Z-beta.N (e.g., 3.3.2-beta.1)vX.Y.Z or vX.Y.Z-beta.NBoth client/package.json and server/package.json must always have identical versions.
Run /pre-release to execute all checks:
cd server && npm testcd server && npm run lintcd client && npm testcd client && npm run lintcd server && npm run test:integrationcd client && npm run builddocker build -f Dockerfile.production -t peek:test .All 7 checks must pass before proceeding.
Run /release-beta:
3.3.2-beta.1 → 3.3.2-beta.23.3.1 → 3.3.2-beta.1Run /release-stable:
3.3.2-beta.8 → 3.3.23.3.2 → 3.3.3 or 3.4.0main branch and up to dateclient/package.json and server/package.jsonchore: bump version to X.Y.Zgit tag vX.Y.Zgit push origin vX.Y.ZGitHub Actions (.github/workflows/docker-build.yml) triggers on v* tags:
linux/amd64 + linux/arm64carrotwaxr/peek-stash-browser3.3.23.3latest (stable releases only)stable (stable releases only)beta (beta releases only)| Release Type | Tags Applied |
|---|---|
v3.3.2 (stable) | 3.3.2, 3.3, latest, stable |
v3.3.2-beta.1 | 3.3.2-beta.1, beta |
After GitHub Actions completes:
# SSH to your deployment server
ssh root@<server-ip>
# Pull new image
docker pull carrotwaxr/peek-stash-browser:latest # or :beta
# Restart container via unRAID WebGUI or CLI
docker stop peek-stash-browser && docker start peek-stash-browser