Commit graph

13 commits

Author SHA1 Message Date
Lawrence Chen
716a97420c
Add contributor credits to release skills (#319)
Release changelogs now credit contributors inline (Bun-style):
- Per-entry "thanks @user!" for community code contributions
- Per-entry "thanks @user for the report!" for bug reporters
- "Thanks to N contributors!" summary section at bottom of each release
- Core team (lawrencecchen, austinywang) excluded from per-entry callouts
2026-02-22 16:18:44 -08:00
Lawrence Chen
fc1de08561
Fix homebrew SHA mismatch race condition (#111)
Root cause: update-homebrew.yml triggered on release:published, which fires
before softprops/action-gh-release finishes uploading assets. The workflow
downloaded a 404 page instead of the DMG and committed its SHA.

Fix:
- Change trigger from release:published to workflow_run (fires after the
  release workflow completes, guaranteeing assets are uploaded)
- Add download validation with retries and file size checks
- Add SHA verification step before committing to the cask
- Add homebrew cask update to build-sign-upload.sh for local releases
- Add regression test (tests/test_homebrew_sha.sh)
- Update /release and /release-local skills with homebrew verification steps

Fixes #110
2026-02-19 17:44:00 -08:00
Lawrence Chen
41639d226c Add /pull skill and remove auto-push from /sync-branch
- New /pull command: pulls main and updates submodules locally
- sync-branch: never pushes automatically, asks user first
- No pushing to submodules; all changes land via PRs
2026-02-19 17:28:49 -08:00
Lawrence Chen
09a85e93d2 Extract build/sign/notarize into scripts/build-sign-upload.sh 2026-02-19 04:33:42 -08:00
Lawrence Chen
fb85b690d5
Add /release-nightly skill and fix release skills (#85)
- New /release-nightly: end-to-end version bump + local build + release
- Fix /release-local: source secrets directly, use signing hash to avoid
  keychain ambiguity, correct create-dmg --codesign flag, export
  SPARKLE_PRIVATE_KEY for appcast generation
- Add `say` notification on completion/failure to all release skills
2026-02-18 20:14:17 -08:00
Lawrence Chen
51a67e31fd
Socket access control: process ancestry check (#58)
* Socket access control: process ancestry check + file permissions

Redesign socket control modes from (off, notifications, full) to
(off, cmuxOnly, allowAll):

- cmuxOnly (default): uses LOCAL_PEERPID + sysctl process tree walk to
  verify the connecting process is a descendant of cmux. External
  processes (SSH, other terminals) are rejected.
- allowAll: hidden mode accessible only via CMUX_SOCKET_MODE=allowAll
  env var, skips ancestry check. Legacy "full"/"notifications" env
  values map here for backward compat.
- off: disables socket entirely.

Security hardening:
- Server: chmod 0600 on socket after bind (owner-only access)
- CLI: stat() ownership check before connect (reject fake sockets)

Removes per-command allow-list (isCommandAllowed) — once a process
passes the ancestry check, all commands are available.

Includes migration for persisted UserDefaults values and env var
aliases (cmux_only, cmux-only, allow_all, allow-all).

* Add /sync-branch skill for submodule + main sync
2026-02-18 01:09:24 -08:00
Lawrence Chen
60978d4d8b Update secrets path from cmux.env to cmuxterm.env 2026-02-18 01:03:03 -08:00
Lawrence Chen
bc7cdb2c10 Add /release-local skill and direnv setup
Add a local release skill that builds, signs, notarizes, and uploads
releases without GitHub Actions. Set up direnv to load Apple signing
secrets from ~/.secrets/cmuxterm.env.
2026-02-17 21:33:11 -08:00
Lawrence Chen
6d6efb6b60 Reversion all 1.x.x to 0.x.x for pre-launch versioning 2026-02-17 18:31:05 -08:00
Lawrence Chen
9817d131f8
Release v1.23.0 (#31)
* Rename cmuxterm to cmux across entire codebase

- Rename GitHub repos: manaflow-ai/cmuxterm -> manaflow-ai/cmux,
  manaflow-ai/homebrew-cmuxterm -> manaflow-ai/homebrew-cmux
- Rename bundle IDs: com.cmuxterm.app -> com.cmux.app
- Rename CLI: CLI/cmuxterm.swift -> CLI/cmux.swift
- Rename homebrew submodule: homebrew-cmuxterm -> homebrew-cmux
- Update all socket paths: /tmp/cmuxterm*.sock -> /tmp/cmux*.sock
- Update all GitHub URLs, DMG names, Sparkle URLs
- Update all source files, scripts, tests, docs, CI workflows

* Bump version to 1.23.0
2026-02-09 15:30:43 -08:00
Lawrence Chen
e6975bd39b Focus release changelog on end-user visible changes
Update release skill to exclude internal/developer changes like
setup scripts, CI, docs, and tests from the changelog. Only
user-facing features, bug fixes, and UI changes should be included.
2026-01-30 16:58:29 -08:00
Lawrence Chen
f622dff0a4 Update release skill to use PR workflow with CI monitoring 2026-01-29 18:52:39 -08:00
Lawrence Chen
ad86227571 Add changelog and release command
- Add CHANGELOG.md with version history
- Add changelog page to docs site
- Add /release command for preparing releases
2026-01-29 17:58:10 -08:00