webapp/channels/src/CLAUDE.OPTIONAL.md
channels/src/components, sass), data (actions, reducers, selectors, store), utilities, and feature-specific packages.components/ – feature folders for UI (see components/CLAUDE.md).actions/, reducers/, selectors/, store/ – Redux stack (each has its own CLAUDE).sass/ – theme variables and global styles.i18n/ – locale JSON plus helpers.utils/, types/ – shared helpers + local type definitions.packages/mattermost-redux/ – embedded redux package mirroring the standalone repo.Client4 directly; async work flows through actions → mattermost-redux → API packages.mattermost-redux/state.entities.*; UI/persisted state belongs in state.views.*.useSelector, useDispatch, custom hooks) over legacy HOCs.components may import selectors, utils, types, but not reducers or store.store/index.ts; persistence handled via redux-persist + localForage.makeGet...) should be memoized per component instance.mattermost-redux for server-backed data; add new entity fields there first, then expose selectors into this workspace.root.tsx and root.html) to understand bootstrapping and async chunk loading.module_registry.ts registers dynamically loaded views; ensure new routes/components are wrapped with makeAsyncComponent where appropriate.components or utils.webapp/STYLE_GUIDE.md → React Component Structure, Redux & Data Fetching.root.tsx (bootstrapping), module_registry.ts (async component wiring).