# Cherry Electron Dev

Develop, fix, profile, and test PRs in a tracked Cherry Studio Electron instance.

- Repository: https://github.com/CherryHQ/cherry-studio (53164 stars)
- Category: Design
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add CherryHQ/cherry-studio --skill cherry-electron-dev -g -a claude-code -y`
Codex: `npx skills add CherryHQ/cherry-studio --skill cherry-electron-dev -g -a codex -y`
Cursor: `npx skills add CherryHQ/cherry-studio --skill cherry-electron-dev -g -a cursor -y`
Gemini CLI: `npx skills add CherryHQ/cherry-studio --skill cherry-electron-dev -g -a gemini-cli -y`

## Description

Develop, fix, profile, and test PRs in a tracked Cherry Studio Electron instance. Use for implementation, UI and interaction work, runtime debugging, DevTools inspection, performance analysis, and interactive PR verification with a test report. Reuse a verified workspace instance and manage its lifetime according to the selected workflow.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Cherry Studio Development

## Choose the workflow

- For ongoing implementation, debugging, or profiling in the current checkout,
  follow the development loop below with the `persistent` runtime policy.
- For a bounded PR test, read [PR Testing](references/pr-testing.md) and follow
  that workflow with the `ephemeral` runtime policy. It covers PR checkout,
  interactive tests, reporting, cleanup, and restoration of the original branch.
- For code review without interactive app testing, use `gh-pr-review`.

## Required runtime workflow

Before reading or controlling Electron UI, read
[Electron Instance Management](references/electron-instance.md) and select the
policy for the chosen workflow. Preserve a borrowed instance's existing policy
and ownership.

That reference is the only authority for instance discovery, `instance.json`,
CDP target selection, launching, replacement, shutdown, and troubleshooting.
Do not reproduce those procedures here or substitute generic Electron app
control.

## Development loop

1. State the requested behavior and the evidence that will prove it.
2. Read the relevant code and nearby README files.
3. Verify and reuse the tracked instance through the runtime reference.
4. Reproduce or inspect the current behavior before editing when practical.
5. Capture the smallest useful evidence: UI state, DOM, console/network output,
   main-process logs, persisted state, or performance metrics.
6. Trace the responsible code path and make only the requested change.
7. Keep Electron running. Use HMR for renderer changes and verify in the same
   window.
8. Repeat the same scenario and compare before/after evidence.

Inspect the real window at the relevant size and theme for UI work. Check both
renderer and main-process evidence for renderer failures.

The rest: https://github.com/CherryHQ/cherry-studio/blob/HEAD/.agents/skills/cherry-electron-dev/SKILL.md
