mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
* chore(ai-workflow): track repo-managed review tooling * fix(ai-workflow): remove repo-specific path assumptions Make shared workflow hooks and APK testing guidance resolve paths from the repo and contributor environment so the tooling works for all contributors, not just one machine.
1.9 KiB
1.9 KiB
name, description
| name | description |
|---|---|
| refactor-pass | Perform a refactor pass focused on simplicity after recent changes. Use when the user asks for a refactor/cleanup pass, simplification, dead-code removal, or says "refactor pass". |
Refactor Pass
Workflow
-
Review recent changes — identify simplification opportunities:
git difffor unstaged changesgit diff --cachedfor staged changesgit log --oneline -5for recent commits if no uncommitted changes
-
Apply refactors (in priority order):
- Remove dead code and unreachable paths
- Straighten convoluted logic flows
- Remove excessive parameters or intermediary variables
- Remove premature optimization (unnecessary
useMemo,useCallback, etc.) - Extract duplicated logic into custom hooks (
src/hooks/) or shared components (src/components/)
-
Verify — run all three checks:
yarn build && yarn lint && yarn type-check -
Optional suggestions — identify abstractions or reusable patterns only if they clearly improve clarity. Keep suggestions brief; don't refactor speculatively.
Project-Specific Patterns to Enforce
When refactoring, watch for these anti-patterns from AGENTS.md:
| Anti-pattern | Refactor to |
|---|---|
useState for shared state |
Zustand store in src/stores/ |
useEffect for data fetching |
bitsocial-react-hooks (useComment, useFeed, etc.) |
useEffect to sync derived state |
Calculate during render |
| Copy-pasted logic across components | Custom hook in src/hooks/ |
Boolean flag soup (isLoading, isError, isSuccess) |
State machine in Zustand |
| Prop drilling through many layers | Zustand store |
Rules
- Don't change behavior — refactors must be semantically equivalent
- Don't introduce new dependencies
- Format edited files with
npx oxfmt <file>after changes - If the build/lint/type-check fails after refactoring, fix it before finishing