# Desktop Brand Builder

Generate a branded Qwen Code desktop package from the Tauri desktop shell using a...

- Repository: https://github.com/QwenLM/qwen-code (28858 stars)
- Category: Marketing
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add QwenLM/qwen-code --skill desktop-brand-builder -g -a claude-code -y`
Codex: `npx skills add QwenLM/qwen-code --skill desktop-brand-builder -g -a codex -y`
Cursor: `npx skills add QwenLM/qwen-code --skill desktop-brand-builder -g -a cursor -y`
Gemini CLI: `npx skills add QwenLM/qwen-code --skill desktop-brand-builder -g -a gemini-cli -y`

## Description

Generate a branded Qwen Code desktop package from the Tauri desktop shell using a minimal brandId and logo. Use when the user wants a custom, white-label, or rebranded desktop client, installer, DMG/EXE/AppImage/deb, or one-click brand build on top of packages/desktop.

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

# Desktop Brand Builder (Tauri shell)

## Goal

Create a branded desktop package from `packages/desktop` with the least
user input possible. The user should usually provide only:

```text
brandId: acme-ai
logo: /absolute/path/to/logo.png
website: https://acme.ai
```

`website` is optional. Do not ask for app name, app id, artifact name,
copyright, or updater endpoints unless the user explicitly asks to override
them.

This skill replaces the Electron-era brand builder that lived in the older,
since-deleted Electron `packages/desktop` (removed in PR 9085, before this
Tauri shell took over that path). The Tauri shell is the only desktop
implementation now; branding hooks are `src-tauri/tauri.conf.json`,
`src-tauri/icons/`, and the `bootstrap/` startup UI.

## Input Rules

Required fields:

- `brandId`: must match `^[a-z][a-z0-9-]*$`
- `logo`: local file path; must exist; `.png` recommended (square, >= 1024px)

Optional overrides:

- `website`
- `appName`
- `appId` (Tauri bundle identifier)
- `artifactPrefix`
- `updaterEndpoints` (JSON array; empty array disables in-app updates)
- `updaterPubkey` (base64 public key; **required** when `updaterEndpoints`
  is non-empty, must match the `TAURI_SIGNING_PRIVATE_KEY` used to sign
  your updater artifacts)
- `target`: `mac`, `win`, `linux`, or `all`

If required input is missing, ask once:

```text
请提供：
brandId: 例如 acme-ai，只能小写字母、数字、短横线
logo: 本地 logo 文件路径（建议 1024x1024 PNG）
website: 可选
```

Once the required fields are present, proceed without a confirmation step.

## Derived Defaults

Infer missing values deterministically:

The rest: https://github.com/QwenLM/qwen-code/blob/HEAD/packages/desktop/.agents/skills/desktop-brand-builder/SKILL.md
