This file serves as the primary source of truth for AI agents working on the WorldOfTech project. It provides architectural context, directory structures, and established development patterns.
| Core Stack | Technology |
|---|---|
| Framework | React 18.3+ |
| UI Library | Chakra UI v3 |
| State Management | Zustand v5 |
| Routing | React Router v7 |
| Styling | Vanilla CSS + Chakra UI v3 (Panda CSS) |
| Language | TypeScript 5.x |
| Testing | Jest + React Testing Library (v16+) + Cypress |
| Markdown | @uiw/react-markdown-preview |
| Package Manager | Yarn 4 (Berry) |
| Aesthetic | Utilitarian Minimalism / Terminal-Luxury |
| Brand Colors | Charcoal (#15111e) & Violet (#8b5cf6) |
- Theme: Dark mode by default. High contrast with subtle grain textures and glassmorphic overlays.
- Typography: Geist (Sans-serif) for primary UI, Geist Mono for technical data and code.
- Components: Crisp border-based separation and interactive micro-animations.
The platform organizes resources into 2 primary sections comprising 11 verticals:
- Information Library: Foundational knowledge (Media, AI, Downloading, Educational, Mobile, Desktop, Reading, Gaming, Privacy, Audio)
- Information Tools: Technical utility (System, File, Internet, Social, Text, Gaming, Image, Video, Audio, Educational, Developer Tools)
/
├── .claude/ # Agent skills and settings
├── .github/ # CI/CD Workflows (Main, Deploy, Release)
├── public/ # Static assets and index.html
├── src/
│ ├── assets/ # Images, Global Icons, Fonts
│ ├── components/ # Reusable UI components
│ │ ├── MdPreview/ # Markdown rendering components
│ │ ├── TableOfContents/# Sticky navigation for docs
│ │ └── Theme/ # Chakra UI v3 theme configuration & tokens
│ ├── data/ # Static data and mock JSONs
│ ├── docs/ # Source Markdown guides and documentation
│ │ ├── information_library/ # Foundational library docs (organized by category)
│ │ └── information_tools/ # Engineering tool documentation (organized by category)
│ ├── hooks/ # Global custom React hooks
│ ├── localization/ # i18next configuration and locales (en/main.json)
│ ├── providers/ # Context Providers (Theme, Localization, Router, Query)
│ ├── routes/ # Route definitions and Lazy-loaded screen exports
│ ├── screens/ # Page-level screen components
│ ├── store/ # Zustand state management
│ │ ├── app/ # Application-level business logic
│ │ └── ui/ # UI-specific state (Modals, Loading, etc.)
│ ├── testUtils/ # Test wrappers and custom render functions
│ ├── App.tsx # Main application entry point
│ └── index.tsx # React DOM bootstrap
├── scripts/ # Task-specific bash scripts
├── tsconfig.json # TS configuration (Target: ES2022, ModuleResolution: Bundler)
├── jest.js # Critical polyfills (TextEncoder/Decoder) for RRv7
└── .yarnrc.yml # Yarn 4 configuration (installStatePath inside node_modules)
- Selectors: Always use
useShallowwhen selecting multiple state variables to prevent unnecessary re-renders. - Testing: State updates within tests MUST be wrapped in
act()from@testing-library/react. - Resetting: Stores should implement a
resetpattern for test isolation (see__mocks__/zustand.ts).
- Compound Components: Use the standard v3 pattern (e.g.,
<Dialog.Root>,<Menu.Content>). - Icons: Centralized in
src/assets/icons/. Use theWorldOfTechIconenum system. - Theme: Tokens are managed in
src/components/Theme/theme.ts. Avoid hardcoded colors. - Responsiveness: Use responsive design tokens for spacing, padding, layouts, and components (e.g.
flexDirection={{ base: 'column', md: 'row' }}). Ensure search bars and category filters are compact and wrap or align center on mobile for optimal ergonomics.
- Use standard
<Link>anduseNavigate. - Note:
TextEncoderandTextDecoderpolyfills injest.jsare required for RRv7 compatibility in JSDOM environments.
- Screen: Use the
LegalScreencomponent for all compliance-related pages (Privacy, Terms). - Structure: Content is driven by
translationKeypointing toLegal.{Key}.sectionsinmain.json. - UI: Adheres to formal ergonomic standards with vertical primary accent bars and responsive spacing.
- Rendering: Uses
MdPreviewfor safe and styled markdown rendering. - Navigation: Uses
TableOfContentsfor automatic heading extraction andSubcategorySideBarfor contextual tools navigation. - Interactivity:
LinkPreviewprovides hover-based URL metadata for external resource links.
- Persistence: Favorite state is managed by the persistent
appStoreand synced tolocalStorage. - UI: Toggled via the star icon in
ContentViewerand accessed through theFavoritesModalin theTopNavBar.
- Trigger: Automatic release generation occurs only when a Pull Request is successfully merged into the
productionbranch. - Mechanism: Uses
conventional-changelog-actionto determine version bumps and generate changelogs based on commit history. - Verification: Releases are published to GitHub, which then triggers the
Deploy job(deploy.yaml).
- All files use
.tsor.tsx. - Strictly adhere to path aliases defined in
tsconfig.path.json(e.g.,@screens,@components,@store).
- Unit/Integration:
yarn test- Snapshots are located in
__snapshots__directories adjacent to tests. - RTL
renderHookis natively imported from@testing-library/react.
- Snapshots are located in
- E2E:
yarn cy:open - Sitemap:
node scripts/generate-sitemap.js(Run to compile dynamic categories and re-generatesitemap.xmlandrobots.txt). - Build:
yarn build(Always verify build compatibility after dependency updates).
- Content Search: Prefer
git grepoverrgorgrep. - File Discovery: Prefer
git ls-filesoverfind. - Reference: See .claude/rules/TOOLS.md for details.
- Understand: Review this file and .claude/CLAUDE.md.
- Verify: Always run
node scripts/generate-sitemap.js,yarn lint:fix, andyarn testbefore declaring a task complete. - Documentation: Always update
README.md,CLAUDE.md, andAGENT.mdfor every change. - Testing: Always write tests for new files and changes in existing files.
- Governance: Follow Conventional Commits and link all changes to the
WOTJira project usingprefix/WOT-XXXbranch naming.
© 2026 WorldOfTech | Confidential and Proprietary