| name | project-pull-request |
| description | Use only when the user asks to create, update, or review a GPT-Voice pull request. |
GPT-Voice Pull Request
Use this workflow for pull requests in swimmwatch/gpt-voice.
Before Staging
- Inspect
git status -sb, the current branch, its upstream, and the diff against origin/main.
- Do not open a PR from
main. Target main unless the user specifies another base.
- If the working tree contains unrelated changes, ask which files belong in the PR. Do not use
git add -A without that confirmation.
- Read
.github/PULL_REQUEST_TEMPLATE.md and CONTRIBUTING.md before drafting the body.
- Use Conventional Commit subjects. Keep one logical change per PR.
Required Checks
Run after final edits and before the commit:
npm run format:check
npm run lint
npm run typecheck
npm run test:types
npm test
npm run validate:dependabot
npm run audit:prod
npm run build:prod
For CloakBrowser, ChatGPT Web, or Google Translate changes, also run:
npm run prepare:cloakbrowser
npm run smoke:cloakbrowser
Record existing warnings separately from errors. Do not claim a skipped check passed.
Security Review
State whether the PR changes Electron IPC, session/cookie handling, browser automation, local storage, clipboard/audio behavior, logging, or packaging. Confirm that no credentials, tokens, browser data, transcripts, prompts, audio, or generated artifacts are staged.
Create Or Update
- Stage only the confirmed files and inspect
git diff --staged.
- Commit with a Conventional Commit message.
- Push the branch with tracking.
- Create or update the PR through
gh. If an open PR already uses the branch, update it instead of creating a duplicate.
- Use the repository pull-request template without placeholder comments. Include the user-facing behavior, root cause where relevant, desktop impact, security notes, validation commands, and screenshots for UI changes when available.
- Assign the authenticated GitHub user unless the user asks otherwise.
Create a ready-for-review PR by default. Use a draft only when the user requests one.