Skip to content

Commit b910971

Browse files
authored
feat(desktop): complete OpenWork Tauri parity (#82)
* feat(desktop): complete OpenWork Tauri parity * fix(ci): align desktop workflows with YAML lint * chore(ci): retry sensitive scan * chore(repo): define OpenWork upstream boundary * fix(desktop): close release blockers
1 parent 225f157 commit b910971

106 files changed

Lines changed: 7456 additions & 5117 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/desktop-brand-builder/SKILL.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ Optional overrides:
3232
- `website`
3333
- `appName`
3434
- `appId`
35-
- `artifactPrefix`
3635
- `target`: `mac`, `win`, `linux`, or `all`
3736

3837
If required input is missing, ask once:
@@ -52,8 +51,6 @@ Infer missing values deterministically:
5251

5352
- `appName`: title-case the hyphen-separated `brandId`; `acme-ai` becomes
5453
`Acme AI`
55-
- `artifactPrefix`: title-case the hyphen-separated `brandId` and join with
56-
hyphens; `acme-ai` becomes `Acme-AI`
5754
- `appId`: if `website` has a valid host, reverse the host labels and append
5855
`.desktop`; `https://acme.ai` becomes `ai.acme.desktop`
5956
- fallback `appId`: `app.<brandId>.desktop`
@@ -91,37 +88,40 @@ Create a temporary `brand.json` in the build directory:
9188
"website": "https://acme.ai",
9289
"appName": "Acme AI",
9390
"appId": "ai.acme.desktop",
94-
"artifactPrefix": "Acme-AI",
9591
"copyright": "Copyright © 2026 Acme AI"
9692
}
9793
```
9894

99-
Install desktop dependencies if `packages/desktop/node_modules` is missing:
95+
Install repository and Tauri shell dependencies when missing:
10096

10197
```bash
102-
cd packages/desktop
103-
bun install
98+
npm install
99+
cd packages/desktop-shell && npm install --workspaces=false
104100
```
105101

106102
Then run this skill's bundled brand creation script:
107103

108104
```bash
109105
cd /absolute/path/to/qwen-code
110-
bun run packages/desktop/.agents/skills/desktop-brand-builder/scripts/brand-create.ts \
111-
--desktop-root /absolute/path/to/qwen-code/packages/desktop \
106+
npx tsx .agents/skills/desktop-brand-builder/scripts/brand-create.ts \
107+
--desktop-root /absolute/path/to/qwen-code/packages/desktop-shell \
112108
--config /absolute/path/to/brand.json
113109
```
114110

115-
The agent should not hand-edit `branding.ts` or brand asset files when this
116-
bundled script is available. The bundled script is the source of truth for
117-
patching code and generating resources.
111+
The agent should not hand-edit Tauri icons, the renderer symbol, or
112+
`tauri.conf.json` when this script is available. It generates icons with the
113+
Tauri CLI and patches the visible bootstrap/Web Shell brand copy and deep-link
114+
scheme. It disables the OpenWork updater endpoint so a white-label build cannot
115+
install an OpenWork release; configure a brand-owned signed endpoint before
116+
enabling updates.
118117

119118
Package with the current host target unless the user requested a target:
120119

121120
```bash
122-
CRAFT_BRAND=<brandId> bun run electron:dist:mac
123-
CRAFT_BRAND=<brandId> bun run electron:dist:win
124-
CRAFT_BRAND=<brandId> bun run electron:dist:linux
121+
cd packages/desktop-shell
122+
npm run build --workspaces=false -- --bundles dmg
123+
npm run build --workspaces=false -- --bundles nsis
124+
npm run build --workspaces=false -- --bundles appimage,deb
125125
```
126126

127127
For `target: all`, run only targets supported by the current machine or CI
@@ -133,7 +133,7 @@ files exist.
133133
After packaging:
134134

135135
1. Confirm the expected artifact exists under
136-
`packages/desktop/apps/electron/release/`.
136+
`packages/desktop-shell/src-tauri/target/release/bundle/`.
137137
2. Compute `sha256sum` or `shasum -a 256` for each artifact.
138138
3. On macOS, run `hdiutil verify` for generated DMG files.
139139
4. Report the artifact path, SHA-256, app name, app id, and build directory.
@@ -143,8 +143,8 @@ After packaging:
143143
- Invalid `brandId`: show the regex and ask for a corrected value.
144144
- Missing `logo`: ask for a valid local path.
145145
- Missing bundled script: report that
146-
`packages/desktop/.agents/skills/desktop-brand-builder/scripts/brand-create.ts`
147-
is missing, and include the expected command.
146+
`.agents/skills/desktop-brand-builder/scripts/brand-create.ts` is missing,
147+
and include the expected command.
148148
- Build failure: preserve the build directory, return the last useful error
149149
lines, and include the full log path or command that produced the failure.
150150

0 commit comments

Comments
 (0)