- No
Co-Authored-Byin commits. Ever. - Never interact with the Electron app or iOS simulator (screenshots, driving UI, debug ports) without asking first. The user drives and takes screenshots.
- "Was working before" = base branch, not previous commit. Base branch is almost always
nojima/HOTPOT-next-670-clean-2(notmaster). Always rungh pr view --json baseRefNameto confirm before anygit difforgit logcomparison. - Never use
npm. Alwaysyarn. - Never silently drop features/behavior — ask first, present options.
- In tests/stories, use
testuser/testuser-macas placeholder usernames — never real usernames likechrisnojima. - No DOM elements (
<div>,<span>, etc.) in plain.tsxfiles — useKb.*. Guard desktop-only DOM withStyles.isMobile. - Temp files go in
/tmp/. - Remove unused code when editing: styles, imports, vars, params, dead helpers.
- Comments: no refactoring notes; only add when context isn't obvious from code.
- Exact versions in
package.json(no^/~). - Keep
react,react-dom,react-native,@react-native/*in sync with Expo SDK. - When updating deps: edit
package.json→yarn→yarn ios:pod:install. - When updating
electron: runshared/desktop/extract-electron-shasums.sh <version>.
Repo root is client/. TS source lives in shared/. Always use absolute paths for file ops. For Bash: always cd shared/ first.
- Plans created by superpowers skills go into
plans/at the repo root.
After TS changes (from shared/): yarn lint then yarn tsc. When debugging visually, skip until fix is confirmed. Never delete the ESLint cache.