Use this checklist before pushing or packaging.
git status --shortConfirm:
- no
node_modules/ - no
dist/ - no runtime
.codex-mailbox/INBOX.md,OUTBOX.md,RECEIPTS.md,STATE.json, orHOOK_STATE.json - no temporary screenshots/logs unless intentionally documented
- no private Codex references, project names, mailbox messages, or local user data in README assets
pnpm typecheck
pnpm test
pnpm buildAll must pass.
Run dev browser mode:
pnpm --filter @codexpigeon/desktop devVerify:
- page loads at
http://127.0.0.1:5173/ - thread list renders without horizontal overflow
- left rail collapse/expand works
- right inspector collapse/expand works
- focus mode works
Preview installshows install preview- right inspector scroll reaches
Apply install - enabling Repeat schedules an automation and the
Auto carrierscard can stop it
Run sanitized screenshot mode:
http://127.0.0.1:5173/?demo=1
Confirm:
- workspace paths use synthetic
/Users/demo/...values - mailbox messages are documentation-safe
- right inspector and automation rows have no horizontal overflow
Run Electron mode:
pnpm --filter @codexpigeon/desktop dev:electronVerify:
- native folder picker opens
renderer ready (desktop-api)appears in logs- sending a mailbox message updates
INBOX.md
Use a temp workspace:
tmp=$(mktemp -d)
git -C "$tmp" init
pnpm --filter @codexpigeon/cli start -- install --workspace "$tmp"
pnpm --filter @codexpigeon/cli start -- send --workspace "$tmp" "Release smoke test"
pnpm --filter @codexpigeon/cli start -- send --workspace "$tmp" --repeat-every 5s "Release repeat smoke"
sleep 6
pnpm --filter @codexpigeon/cli start -- automation run-due --workspace "$tmp"
pnpm --filter @codexpigeon/cli start -- automation list --workspace "$tmp"
pnpm --filter @codexpigeon/cli start -- snapshot --workspace "$tmp"Confirm:
AGENTS.mdexists.codex/hooks.jsonexists.codex-mailbox/INBOX.mdcontains one message- snapshot reports at least two inbox messages after repeat smoke
- automation list reports the scheduled automation
Confirm:
READ_ONLY_CODEX_METHODScontains only read/status/discovery methods.- Tests still cover rejection of
turn/steeror another mutating method. - Installer still preserves existing
AGENTS.md. - Installer still merges existing hooks.
Update docs when any of these change:
- mailbox file format
- installer output
- hook runtime behavior
- App Server method allowlist
- desktop launch/install process
- optional repeat sending behavior
- platform support
- UI reference screenshots
If refreshing the local installed development launcher:
pnpm build
pkill -f 'apps/desktop/dist/electron/main/main.js' || true
~/.local/bin/codexpigeon-desktopExpected:
[codexpigeon] renderer ready (desktop-api)
If refreshing the local installed development launcher:
pnpm build
pnpm install:mac -- --skip-build
codexpigeon doctor
codexpigeon-desktopExpected:
[codexpigeon] renderer ready (desktop-api)
Confirm CodexPigeon.app exists in /Applications when that directory is
writable, otherwise in ~/Applications. There should be only one installed app
bundle with the dev.codexpigeon.local bundle identifier.
Click the Dock icon, close the window, then click the same Dock icon again. The
second click should open a fresh CodexPigeon window without using Terminal.
After review:
git add .
git commit -m "Polish GitHub presentation"
git push origin main