Cook Web Domain: store
This file adds local guidance for src/cook-web/src/store. Read the
repository root and src/cook-web/AGENTS.md first, then use this file for
domain-specific frontend ownership.
Scope
-
This domain owns shared frontend stores, store providers, and app-level state containers used by auth, i18n loading, and shifu flows.
-
Representative files in this subtree:
src/cook-web/src/store/useUserStore.ts,src/cook-web/src/store/useShifu.tsx,src/cook-web/src/store/useI18nLoadingStore.ts,src/cook-web/src/store/userProvider.tsx -
Keep durable frontend rules here only when they are more specific than the Cook Web-wide guidance in the parent directory.
-
Use focused frontend verification around
src/cook-web/src/store/before widening to global type and lint checks.
Do
-
Start from the local entry files and preserve how
storecurrently separates route code, shared logic, state, and utilities. -
Keep store state shape and exported actions stable because many components depend on these slices implicitly.
-
Preserve the boundary between store state and side-effect helpers so persistent logic stays testable.
-
Treat auth token handling and global providers as integration points shared across the whole frontend.
Avoid
-
Do not add page-specific derived state here when a local hook or component can own it safely.
-
Do not rename store fields without updating all selectors and hooks in the same task.
-
Do not duplicate token or session storage behavior outside the existing user-store path.
-
Avoid pushing domain-local rules up to shared docs unless another frontend subtree truly depends on the same constraint.
Commands
-
rg -n "store" src/cook-web/srcto locate call sites before editing this subtree. -
cd src/cook-web && npm run type-checkafter TypeScript, store, hook, request, or route-contract changes. -
cd src/cook-web && npm run lintbefore closing the task when shared frontend code or route files changed. -
cd src/cook-web && npm run test -- src/store/for focused Jest coverage when this subtree already has or gains tests.
Tests
-
Add or update focused tests closest to
src/cook-web/src/store/for the happy path and the most important regression or business-code error path. -
Rerun type-checking and linting when exported props, store fields, hook contracts, or route behavior move.
-
When a domain depends on shared request or normalization helpers, update those tests or add new ones in the same task.
-
Document skipped UI, browser, or provider-dependent verification in the task summary when local automation cannot cover it.
Related Skills
-
src/cook-web/skills/hook-contract-refactor-safety/SKILL.md
-
src/cook-web/SKILL.md -
SKILL.md -
Create a focused skill under
src/cook-web/skills/<topic>/SKILL.mdwhen the same debugging or migration workflow repeats.