Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
e3a6e7c
feat: add incognito mode and window size options for app packaging
tw93 Apr 22, 2026
ed5c523
chore: update contributors [skip ci]
github-actions[bot] Apr 22, 2026
cb911ec
fix: disable WebKit compositing mode by default on Linux to fix blank…
tw93 Apr 27, 2026
e30f325
fix: make CN mirrors explicit opt-in
tw93 May 3, 2026
3247cf1
chore: ignore local agent files
tw93 May 3, 2026
ce00eab
chore: update contributors [skip ci]
github-actions[bot] May 3, 2026
bd17f0e
fix: avoid macOS new-window WebKit crash
tw93 May 5, 2026
6fdce0e
chore: update contributors [skip ci]
github-actions[bot] May 5, 2026
9ec19e0
style: format macOS new-window test
tw93 May 5, 2026
aceb23f
docs: add project agent guidance
tw93 May 4, 2026
d3d1aa2
chore: update sponsor wall URL to cats.tw93.fun
tw93 May 5, 2026
8a81f71
Auto-fix formatting issues
actions-user May 5, 2026
847154e
fix: macOS --new-window crash and Rust panic safety (#1194)
tw93 May 5, 2026
e87bea4
chore: optimization audit batch (ICO, BaseBuilder, CLI errors, CI lanes)
tw93 May 5, 2026
6487c74
chore: bump version to 3.11.5
tw93 May 5, 2026
6572dfa
chore: clean up local-only docs
tw93 May 7, 2026
774716d
chore: clean up local-only docs
tw93 May 7, 2026
e4b1670
feat: macOS dock badge with Web Badging API support
AllDaGearNoIdea May 7, 2026
d3c2ec3
fix: macOS - surface native Move & Resize options
AllDaGearNoIdea May 7, 2026
35ffd54
fix: track generated Pake build config
tw93 May 9, 2026
3436979
chore: update contributors [skip ci]
github-actions[bot] May 9, 2026
ddb9faa
fix: harden dock badge bridge
tw93 May 9, 2026
35ac309
Merge remote-tracking branch 'origin/main' into feat/macos-dock-badge-pr
tw93 May 9, 2026
a2e22df
test: normalize Pake config path assertion
tw93 May 9, 2026
b5d7477
test: normalize Pake config path assertion
tw93 May 9, 2026
a31ed8f
chore: update contributors [skip ci]
github-actions[bot] May 9, 2026
b46663c
Merge remote-tracking branch 'origin/main' into feat/macos-dock-badge-pr
tw93 May 9, 2026
347099a
Merge pull request #1196 from AllDaGearNoIdea/feat/macos-dock-badge-pr
tw93 May 9, 2026
425a994
chore: update contributors [skip ci]
github-actions[bot] May 9, 2026
4021f83
chore: update contributors [skip ci]
github-actions[bot] May 10, 2026
0936cd8
feat: add optional find support
tw93 May 14, 2026
123f3d8
chore: update contributors [skip ci]
github-actions[bot] May 14, 2026
b97e802
ci: add trusted npm publishing
tw93 May 15, 2026
e1ffd0b
chore: update contributors [skip ci]
github-actions[bot] May 15, 2026
f44468e
docs: harden release agent guidance
tw93 May 15, 2026
55b7a38
chore: update contributors [skip ci]
github-actions[bot] May 15, 2026
269cf20
chore: update contributors [skip ci]
github-actions[bot] May 17, 2026
e9d94fc
chore: update contributors [skip ci]
github-actions[bot] May 24, 2026
9783d7e
fix: fall back from incompatible pnpm
tw93 May 25, 2026
e8a6804
fix: save webview downloads natively + silence unused var warning
claude May 30, 2026
dcb30b4
chore: update contributors [skip ci]
github-actions[bot] May 30, 2026
66ae24b
fix: save right-click image/video downloads natively under strict CSP
claude May 30, 2026
f3df88e
chore: update contributors [skip ci]
github-actions[bot] May 30, 2026
e43c082
chore: add use-pake skill documentation
claude May 30, 2026
34e944a
chore: update contributors [skip ci]
github-actions[bot] May 30, 2026
ed7c03c
chore: update contributors [skip ci]
github-actions[bot] May 31, 2026
170fb92
fix: clarify pnpm fallback handling
tw93 Jun 1, 2026
35fc57d
chore: update contributors [skip ci]
github-actions[bot] Jun 1, 2026
64a867a
fix: distinguish gtk/gdk-pixbuf AppImage failures from strip errors
tw93 Jun 5, 2026
72d3bf4
fix: surface real AppImage failure causes from build target, not erro…
tw93 Jun 6, 2026
d1c564d
refactor: inline AppImage failure guidance, drop single-use module
tw93 Jun 6, 2026
48147da
docs: track agent instructions in-repo, CLAUDE.md symlinks AGENTS.md
tw93 Jun 6, 2026
bec9041
Auto-fix formatting issues
actions-user Jun 6, 2026
5d0373a
docs: make published agent docs self-contained
tw93 Jun 6, 2026
4ecb17a
chore: update contributors [skip ci]
github-actions[bot] Jun 7, 2026
fa6bbe2
feat: add Arch zst Linux target
artrixdotdev Jun 7, 2026
a9d7593
fix: convert zst from copied deb artifact
artrixdotdev Jun 7, 2026
1c05a1a
fix: report final zst installer path
artrixdotdev Jun 7, 2026
5750f70
fix: create valid zst package metadata
artrixdotdev Jun 7, 2026
22d6e49
fix: improve zst desktop metadata
artrixdotdev Jun 7, 2026
f9c135c
fix: preserve display title on Linux
artrixdotdev Jun 7, 2026
41bb710
fix: hide decorated titlebar on Linux
artrixdotdev Jun 7, 2026
274d7cd
docs: add missing cli dev script alias
Ghraven Jun 7, 2026
cb11348
fix: reject malformed zoom values
Ghraven Jun 7, 2026
df62f18
fix: allow dots in desktop app names
tw93 Jun 7, 2026
74acf91
chore: bump version to V3.11.8
tw93 Jun 7, 2026
4966e12
fix: reject non-finite CLI numbers
Ghraven Jun 7, 2026
2058e49
chore: relicense from MIT to GPL-3.0 with a Pake Output Exception
tw93 Jun 11, 2026
3075d30
chore: keep LICENSE as pure GPLv3, move output exception to LICENSE-E…
tw93 Jun 11, 2026
525deb5
Merge pull request #1219 from Ghraven/ghraven/reject-non-finite-cli-n…
tw93 Jun 11, 2026
59046f8
chore: update contributors [skip ci]
github-actions[bot] Jun 11, 2026
1b02d7c
Merge branch 'main' into ghraven/strict-zoom-parser
tw93 Jun 11, 2026
5f5ee72
Merge pull request #1218 from Ghraven/ghraven/strict-zoom-parser
tw93 Jun 11, 2026
4abec5a
Merge pull request #1217 from Ghraven/ghraven/add-cli-dev-script
tw93 Jun 12, 2026
199d5d4
Merge remote-tracking branch 'origin/main' into HEAD
tw93 Jun 12, 2026
5e4e1e2
refactor: scope zst support to packaging path and harden arch package…
tw93 Jun 12, 2026
685fa8a
Merge pull request #1216 from artrixdotdev/arch-zst-linux-target
tw93 Jun 12, 2026
fdbc54f
refactor: dedupe linux target handling and tighten cli number validation
tw93 Jun 12, 2026
52d6caf
fix: appimage guidance needs sudo for gdk-pixbuf cache refresh
tw93 Jun 12, 2026
2c37887
ci: allow manual npm publish via workflow_dispatch
tw93 Jun 12, 2026
59ee437
chore: bump version to V3.11.9
tw93 Jun 12, 2026
235e3d1
fix: version check used branch name as tag on workflow_dispatch
tw93 Jun 12, 2026
3211c5e
docs: collapse sponsors wall and recommend mole for mac in support
tw93 Jun 12, 2026
1b50725
chore: update contributors [skip ci]
github-actions[bot] Jun 12, 2026
d8c6b2d
docs: pair cat line with sponsors wall and reword collapsed summary
tw93 Jun 12, 2026
eb4761e
docs: lead support section with mole for mac
tw93 Jun 12, 2026
13b2d5a
docs: shorten mole for mac support line to avoid wrap
tw93 Jun 13, 2026
7eb7bd9
fix: reject blank numeric CLI values
Ghraven Jun 13, 2026
3ebe77f
feat: add min-width, min-height, and app-version to pake-cli workflow
a5677746shdh Jun 14, 2026
0419e98
fix: avoid macOS auth popup crash
tw93 Jun 15, 2026
e68dc9e
Merge pull request #1224 from Ghraven/fix/reject-blank-numeric-options
tw93 Jun 15, 2026
3ab4473
test: relax CLI validation timeout
tw93 Jun 15, 2026
68eadba
Merge pull request #1225 from a5677746shdh/feat/pake-cli-workflow-opt…
tw93 Jun 15, 2026
ca2accf
fix: harden zst and release packaging
tw93 Jun 15, 2026
98bcb50
fix: handle niri Wayland AppImage input
tw93 Jun 18, 2026
922799a
chore: bump version to V3.11.10
tw93 Jun 18, 2026
7282870
chore: update contributors [skip ci]
github-actions[bot] Jun 18, 2026
708dcfd
docs: harden agent release guidance
tw93 Jun 18, 2026
4c7581c
fix: show all CLI options in help
tw93 Jun 21, 2026
b1bc210
fix: respect custom Cargo target directories
Bortlesboat Jun 21, 2026
f21156e
fix: ignore hide title bar outside macOS
tw93 Jun 21, 2026
30e35f2
feat: support enterprise SSO navigation
xantorres Jun 21, 2026
6efafd4
fix: scope SSO auth detection
xantorres Jun 21, 2026
ffa98cc
chore: update contributors [skip ci]
github-actions[bot] Jun 21, 2026
aec0763
feat: support cross-platform dark mode on Windows and Linux
mgaldamez Jun 21, 2026
d53ed3d
Merge remote-tracking branch 'origin/main' into feat/cross-platform-d…
mgaldamez Jun 21, 2026
d6c6bb5
chore: bump version to V3.12.0
tw93 Jun 21, 2026
44936ac
docs: update dark-mode option description for cross-platform support
mgaldamez Jun 21, 2026
7d96b72
Merge remote-tracking branch 'origin/main' into feat/cross-platform-d…
mgaldamez Jun 21, 2026
44002c9
Merge pull request #1245 from mgaldamez/feat/cross-platform-dark-mode
tw93 Jun 21, 2026
7fde73f
chore: update contributors [skip ci]
github-actions[bot] Jun 21, 2026
a49b142
docs: pin github release notes format in runbook
tw93 Jun 21, 2026
6698ee3
docs: note linux dark mode relies on webkitgtk
tw93 Jun 21, 2026
e848696
refactor: hoist shared dark mode theme out of platform blocks
tw93 Jun 21, 2026
85e4a0d
Auto-fix formatting issues
actions-user Jun 21, 2026
fcd70b7
chore: remove dead code and fix stale cli dev doc
tw93 Jun 21, 2026
54eeb38
chore: update contributors [skip ci]
github-actions[bot] Jun 21, 2026
1255b80
feat: honour --targets app on macOS for app-only builds
kud Jun 21, 2026
53b9db8
docs: update Telegram community link
tw93 Jun 22, 2026
84f1646
Auto-fix formatting issues
actions-user Jun 22, 2026
7e280d3
docs: clarify 5M footprint refers to installer size, not RAM
tw93 Jun 22, 2026
42b7ab5
docs: state package size as under 10M for real-world accuracy
tw93 Jun 22, 2026
1a567f2
Merge pull request #1248 from kud/feat/macos-targets-app
tw93 Jun 22, 2026
3a83f04
docs: add FAQ for AppImage WebKitNetworkProcess crash on non-Debian b…
tw93 Jun 22, 2026
65976be
fix: force wayland gdk backend on pure wayland compositors
tw93 Jun 22, 2026
0f8a68c
style: clear clippy lints in macos menu and tray handlers
tw93 Jun 22, 2026
e7b07bc
chore: update contributors [skip ci]
github-actions[bot] Jun 22, 2026
ba7ff58
release: 3.12.1
tw93 Jun 22, 2026
aad510f
fix: exclude FULLSCREEN from window state tracking when not using --f…
ekishion Jun 26, 2026
51c7b5d
fix: use native WebView zoom to fix ChatGPT layout breaking on zoom
tw93 Jun 26, 2026
4b9bda4
feat: choose Linux default bundle target by distro family
tw93 Jun 27, 2026
e2a82a4
test: isolate PAKE_CREATE_APP in mac-builder target selection test
tw93 Jun 27, 2026
1f08865
release: 3.13.0
tw93 Jun 27, 2026
5bb3133
chore: update contributors [skip ci]
github-actions[bot] Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .agents/skills/code-review/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
name: code-review
description: Pake project adapter for Waza check/code-review. Use for TypeScript CLI, Rust/Tauri, release artifact, and CI review.
version: 1.2.0
allowed-tools:
- Bash
- Read
- Grep
- Glob
disable-model-invocation: true
---

# Pake Code Review Adapter

Use Waza `/check` for the generic review method. This adapter adds Pake-specific commands, hard stops, and artifact rules.

## Pake-Specific Hard Stops

- [ ] Changes under `bin/` rebuild and commit `dist/cli.js` with `pnpm run cli:build`.
- [ ] Changes to package metadata embedded by Rollup (`package.json` name/version/repository/bin/scripts/exports) rebuild and commit `dist/cli.js`.
- [ ] Release version bumps keep `package.json`, `src-tauri/Cargo.toml`, `src-tauri/Cargo.lock`, and `src-tauri/tauri.conf.json` in sync.
- [ ] npm release workflow changes preserve Trusted Publishing: `.github/workflows/npm-publish.yml`, `id-token: write`, canonical `git+https://github.com/tw93/Pake.git`, and `scripts/check-release-version.mjs`.
- [ ] Release/status changes keep npm registry, GitHub Release/assets, workflow run state, and issue closeout as separate truth surfaces.
- [ ] `workflow_dispatch` release logic does not infer the release tag from `headBranch`, run title, or compare UI; use an explicit tag/ref and verify the package `gitHead`.
- [ ] No new `tauriConf: any` or other untyped config objects; use `PakeTauriConfig`.
- [ ] No user-reachable `panic!` or `.unwrap()` on config, CLI, or event paths.
- [ ] Silent `catch {}` blocks surface the real error through `logger.warn`.
- [ ] New helper in `bin/utils/` or `bin/helpers/` has a matching `tests/unit/<basename>.test.ts`.
- [ ] Binary parsers have a round-trip test, not only builder assertions.
- [ ] Linux WebKit/AppImage runtime flag changes keep the default conservative, add or update tests for the decision logic, and update `docs/faq*.md` when users need a fallback command.
- [ ] macOS `--new-window` or auth URL changes include targeted tests for popup/auth routing in `src-tauri/src/inject/event.js`.

## Quick Review Commands

```bash
# Get PR diff
gh pr diff

# Format check
pnpm run format:check

# Run unit tests (fast, sub-second)
npx vitest run

# Full suite without the slow real build
pnpm test -- --no-build

# Build CLI and catch TypeScript errors
pnpm run cli:build
```

## Review Output Format

Follow Waza `/check`: findings first, ordered by severity, with tight file/line references. Keep summaries brief.
107 changes: 107 additions & 0 deletions .agents/skills/github-ops/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
name: github-ops
description: GitHub issue, PR, and release operations via gh CLI. Not for code review or release builds.
version: 1.1.0
allowed-tools:
- Bash
- Read
---

# GitHub Operations Skill

Use this skill when working with GitHub issues, PRs, and releases for Pake.

## Golden Rule

**ALWAYS use `gh` CLI** for GitHub operations. Never use the web UI or make assumptions about state — always query first.

## Issue Operations

```bash
# View a specific issue
gh issue view 123

# List open issues
gh issue list --state open

# List issues with a label
gh issue list --label bug

# Add a comment (only with explicit user request)
gh issue comment 123 --body "..."

# Close an issue
gh issue close 123
```

## PR Operations

```bash
# List open PRs
gh pr list

# View a PR
gh pr view 456

# Check PR status and CI checks
gh pr checks 456

# View PR diff
gh pr diff 456

# Read inline review comments on a PR
gh api repos/tw93/Pake/pulls/456/comments

# Merge a PR (only with explicit user request)
gh pr merge 456 --squash

# Create a PR
gh pr create --title "..." --body "..."
```

## Release Operations

```bash
# List releases
gh release list

# View a specific release
gh release view V3.10.0

# Check CI runs for a tag
gh run list --workflow=release.yml
gh run list --workflow=npm-publish.yml

# Watch a running CI job
gh run watch

# View CI run logs
gh run view <run-id> --log

# Verify npm registry state after publish
npm view pake-cli version
npm view pake-cli@<version> dist.tarball
```

## CI / Workflow Operations

```bash
# List recent workflow runs
gh run list

# Filter by workflow
gh run list --workflow=release.yml
gh run list --workflow=quality-and-test.yml

# Re-run failed jobs
gh run rerun <run-id> --failed-only
```

## Safety Rules

1. **ALWAYS** draft the reply first and show it to the user for approval before calling any write operation (`gh issue comment`, `gh pr comment`, `gh pr merge`, `gh issue close`, `gh release create`, etc.). Approval of one draft does not extend to future comments.
2. **NEVER** merge, close, or modify without explicit user request.
3. **ALWAYS** query current state before taking action — never assume.
4. Before replying to an issue or PR, read the body to confirm the author's language; match their language in the reply. This applies to the author, not to arbitrary thread commenters.
5. Before replying that a fix is released, verify the public artifact first: `npm view pake-cli version` for CLI releases or `gh release view <tag>` for app releases.
6. Before closing an issue after release, confirm the target with `gh issue view <id> --json number,title,state,author,url` and include the concrete version or upgrade command in the comment.
96 changes: 96 additions & 0 deletions .agents/skills/release/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
name: release
description: Prepare, validate, and publish a Pake release. Not for version bumps without release intent.
version: 1.1.0
allowed-tools:
- Bash
- Read
- Grep
- Glob
disable-model-invocation: true
---

# Release Skill

Use this skill when preparing or executing a Pake release.

## Version Files

Four files must be updated in sync — never update one without the others:

- `package.json` → `"version"`
- `src-tauri/Cargo.toml` → `version` under `[package]`
- `src-tauri/Cargo.lock` → `version` for package `pake`
- `src-tauri/tauri.conf.json` → `"version"`

## Release Checklist

### Pre-Release

1. [ ] Confirm the new version number (check current: `cat package.json | jq .version`)
2. [ ] Confirm the version is not already on npm: `npm view pake-cli@X.Y.Z version` should return 404 before publishing
3. [ ] Update all four version files above
4. [ ] Run `pnpm run format` — must pass cleanly
5. [ ] Run `pnpm test` — must pass cleanly. If the release workflow step fails with `pnpm install ... exit code 1` against the CN mirror, re-run once; a single transient flake is acceptable, two consecutive failures is not.
6. [ ] Run `pnpm run cli:build` — Rollup + TS must pass (catches type errors that `format` misses).
7. [ ] Run `pnpm run release:check` — verifies version sync, package contents, and npm dry-run
8. [ ] No uncommitted changes: `git status`
9. [ ] Commit version bump with message: `chore: bump version to VX.X.X`

### Tagging (triggers CI)

```bash
git tag -a VX.X.X -m "Release VX.X.X"
git push origin VX.X.X
```

Tag format: uppercase `V` prefix (e.g. `V3.11.0`), not `v3.11.0`.

### Post-Tag Verification

1. [ ] Confirm CI triggered: `gh run list --workflow=release.yml`
2. [ ] Watch CI status: `gh run watch`
3. [ ] Verify GitHub Release was created: `gh release view VX.X.X --json tagName,url,assets`
4. [ ] Confirm npm workflow exists and is active: `gh workflow list --all | grep "Publish npm Package"`
5. [ ] Confirm npm Trusted Publishing triggered: `gh run list --workflow=npm-publish.yml`
6. [ ] Verify npm published the exact package: `npm view pake-cli@X.Y.Z version gitHead dist.tarball --json`
7. [ ] Verify latest now resolves to the release: `npm view pake-cli version`
8. [ ] Record Quality & Testing status separately: `gh run list --workflow=quality-and-test.yml --limit 3`

npm publishes through Trusted Publishing from `.github/workflows/npm-publish.yml`. Configure npm package settings with GitHub Actions, `tw93/Pake`, workflow file `npm-publish.yml`, and no environment. Local `npm publish` is only a fallback if CI or registry state blocks the trusted path.

Keep release surfaces separate in the final status:

- npm registry: the authority for `pake-cli` installability and CLI/npm issue closeout.
- GitHub Release/assets: the authority for app installers and popular-app artifact availability.
- Quality workflow: the authority for post-push CI health, but it can continue after npm has already shipped.
- Source/tag: the authority for what code was intended to ship.

Do not collapse these into "released" without naming which surface was verified. If GitHub Release assets are visible while `gh run list` still reports the release workflow as queued or in progress, trust `gh release view` for asset state and report the workflow state separately.

## Trusted Publishing Notes

- The first real Trusted Publishing test must use a new version and a new `V*` tag; do not retry an already-published version.
- npm package settings should use the strict publishing option: require two-factor authentication and disallow tokens. Trusted Publishing still works with this setting.
- If local fallback is unavoidable, prefer `npm exec --yes --package=pnpm@10.26.2 -- npm publish --registry=https://registry.npmjs.org` so `prepublishOnly` can find the pinned pnpm version.
- Do not reply to GitHub issues or close them as released until `npm view pake-cli@X.Y.Z version` returns the expected version. `npm view pake-cli version` alone is not enough because `latest` can point at a different commit than the fix under review.
- A `workflow_dispatch` run may execute on `main`; do not treat `headBranch`, run title, or compare UI as the release tag. Check the pushed tag and published package `gitHead`.
- If CI creates `chore: update contributors [skip ci]` after the tag is pushed, fast-forward local `main` after the release. Do not retag just to include generated contributor art.

## Build Commands (local only)

```bash
# Current platform
pnpm build

# macOS universal binary
pnpm build:mac
```

Cross-platform builds (Windows/Linux) are handled by CI, not locally.

## Safety Rules

1. **NEVER** auto-commit or auto-push without explicit user request
2. **NEVER** tag before all checks pass
3. **ALWAYS** verify the four version files are in sync before tagging
Loading