release

Screenpipe Monorepo Release Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release" with this command: npx skills add mediar-ai/screenpipe/mediar-ai-screenpipe-release

Screenpipe Monorepo Release Skill

Automate releasing all components of the screenpipe monorepo.

Components & Versions

Component Version File Current Pattern Workflow

Desktop App screenpipe-app-tauri/src-tauri/Cargo.toml

version = "X.Y.Z"

release-app.yml

CLI/Server Cargo.toml (workspace.package) version = "0.2.X"

release-cli.yml

MCP screenpipe-integrations/screenpipe-mcp/package.json

"version": "X.Y.Z"

release-mcp.yml

JS Browser SDK screenpipe-js/browser-sdk/package.json

"version": "X.Y.Z"

npm publish

JS Node SDK screenpipe-js/node-sdk/package.json

"version": "X.Y.Z"

npm publish

JS CLI screenpipe-js/cli/package.json

"version": "X.Y.Z"

npm publish

When to Release What

Always release CLI when there are changes to core screenpipe code:

  • screenpipe-core/

  • screenpipe-vision/

  • screenpipe-audio/

  • screenpipe-server/

  • screenpipe-db/

  • screenpipe-events/

  • screenpipe-integrations/

App-only release is fine when changes are only in:

  • screenpipe-app-tauri/ (UI/frontend changes)

To check what changed since last CLI release:

Find last CLI release commit

git log --oneline --all | grep -E "CLI to v" | head -1

Check if core code changed since then

git diff <COMMIT>..HEAD --stat -- screenpipe-core screenpipe-vision screenpipe-audio screenpipe-server screenpipe-db screenpipe-events screenpipe-integrations

Release Workflow

  1. Check Current Versions

echo "=== App ===" && grep '^version' screenpipe-app-tauri/src-tauri/Cargo.toml | head -1 echo "=== CLI ===" && grep '^version' Cargo.toml | head -1 echo "=== MCP ===" && grep '"version"' screenpipe-integrations/screenpipe-mcp/package.json | head -1

  1. Bump Version

Edit screenpipe-app-tauri/src-tauri/Cargo.toml to update version.

  1. Commit & Push

git add -A && git commit -m "Bump app to vX.Y.Z" && git pull --rebase && git push

  1. Trigger Release (Draft Only)

gh workflow run release-app.yml

Important: workflow_dispatch creates a draft only - does NOT auto-publish. This allows manual testing before publishing.

  1. Monitor Build Status

Get latest run ID

gh run list --workflow=release-app.yml --limit=1

Check status

gh run view <RUN_ID> --json status,conclusion,jobs --jq '{status: .status, conclusion: .conclusion, jobs: [.jobs[] | {name: (.name | split(",")[0]), status: .status, conclusion: .conclusion}]}'

  1. Test the Draft Release
  • Download from https://screenpi.pe (requires purchase token)

  • Test on macOS and Windows

  • Verify updater artifacts exist (.tar.gz, .sig files)

  1. Publish Release

After testing, publish via the Cloudflare R2 / backend dashboard, OR commit with magic words:

git commit --allow-empty -m "release-app-publish" && git push

Quick Release (App Only)

1. Bump version in Cargo.toml

2. Commit and push

git add -A && git commit -m "Bump app to vX.Y.Z" && git push

3. Trigger release (draft)

gh workflow run release-app.yml

4. Monitor

sleep 5 && gh run list --workflow=release-app.yml --limit=1

Build Status Format

Build <RUN_ID>:

PlatformStatus
macOS aarch64✅ success / 🔄 in_progress / ❌ failure
macOS x86_64✅ success / 🔄 in_progress / ❌ failure
Windows✅ success / 🔄 in_progress / ❌ failure

Troubleshooting

Build Failed

gh run view <RUN_ID> --log-failed 2>&1 | tail -100

Cancel Running Build

gh run cancel <RUN_ID>

Re-run Failed Jobs

gh run rerun <RUN_ID> --failed

Missing Updater Artifacts (.tar.gz, .sig)

The CI copies tauri.prod.conf.json to tauri.conf.json before building. If artifacts are missing:

  • Check tauri.prod.conf.json has "createUpdaterArtifacts": true

  • Check the "Use production config" step ran successfully

Configuration

Dev vs Prod Configs

  • tauri.conf.json

  • Dev config (identifier: screenpi.pe.dev )

  • tauri.prod.conf.json

  • Prod config (identifier: screenpi.pe , updater enabled)

CI automatically uses prod config for releases by copying it before build.

Auto-Publish Behavior

  • workflow_dispatch (manual trigger) → Draft only, no publish

  • Commit with "release-app-publish" → Auto-publish after successful build

Notes

  • Linux desktop app is disabled (bundling issues)

  • App builds take ~25-35 minutes

  • CLI builds take ~15-20 minutes

  • Always pull before push to avoid conflicts

  • Updater artifacts: macOS uses .tar.gz /.sig , Windows uses .nsis.zip /.sig

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

brand-style

No summary provided by upstream source.

Repository SourceNeeds Review
General

release

No summary provided by upstream source.

Repository SourceNeeds Review
General

release

No summary provided by upstream source.

Repository SourceNeeds Review
161-tobi
General

release

No summary provided by upstream source.

Repository SourceNeeds Review