Back to Cherry Studio

🖥️ Develop

docs/guides/development.md

2.0.02.3 KB
Original Source

🖥️ Develop

IDE Setup

VSCode like

Zed

  1. Install extensions: Biome, oxc
  2. Copy the example settings file to your local Zed config:
    bash
    cp .zed/settings.json.example .zed/settings.json
    
  3. Customize .zed/settings.json as needed (it is git-ignored).

This project uses symlinks to synchronize files such as AGENTS.md and skills. Windows developers must enable symlink support before cloning:

  1. Enable Developer Mode (Settings → Update & Security → For developers), or grant SeCreateSymbolicLinkPrivilege via secpol.msc.
  2. Configure Git:
    bash
    git config --global core.symlinks true
    
  3. Clone (or re-clone) the repository after enabling symlink support.

Project Setup

Install

bash
pnpm install

Development

Setup Node.js

The required Node.js version is defined in .node-version. Use a version manager like nvm or fnm to install it automatically:

bash
nvm install

Setup pnpm

The pnpm version is locked in the packageManager field of package.json. Just enable corepack and it will use the correct version automatically:

bash
corepack enable

Install Dependencies

bash
pnpm install

ENV

bash
cp .env.example .env

Start

bash
pnpm dev

By default, development runs append Dev to Electron's default userData directory, keeping local dev data separate from packaged app data. To run multiple development instances at the same time, give each instance a unique suffix. You can set it in .env:

bash
CS_DEV_USER_DATA_SUFFIX=DevQuito

Or pass it inline when starting a dev instance:

bash
CS_DEV_USER_DATA_SUFFIX=DevQuito pnpm dev
CS_DEV_USER_DATA_SUFFIX=DevParis pnpm dev

Blank values are ignored and fall back to Dev.

Debug

bash
pnpm debug

Then input chrome://inspect in browser

Test

bash
pnpm test

Build

bash
# For windows
$ pnpm build:win

# For macOS
$ pnpm build:mac

# For Linux
$ pnpm build:linux