# Project Permissions - You have permission to read, write, and edit any files in this project - No need to ask for approval before making code changes - Focus on implementing solutions efficiently # Development Commands - `bun dev` - Start development server - `bun run build` - Build for production - `bun run lint` - Run linting - `bun run check` - Run lint and TypeScript checks # Project Notes This is a React/TypeScript NAO (Network of Authentic Others) community management application with features for: - Contact management with NAO membership status - Group management and invitations - Vouch/praise system for reputation - Network visualization - Content feeds and messaging ## General instructions - Always write production code - Always fix the root problem - Never do manual kludges, workarounds, hacks or "just to make it work" code - Always completely implement any functionality as requested. - Do not hallucinate, or pretend - Always use the most up to date official documentation for libraries or techniques - prefer zustand stores above useState when we have more than 3 useState - use LDO and nextgraphauth.session for persistent data (contacts for example), consider this to be our "database" # Code Style - Use react hooks: useMemo, useCallback, and other standard hooks - Ensure iterative displays have a key= attribute (for..of, map, etc) - Avoid array index as or within key= for iterative displays (for..of, map, etc) - TypeScript with strict typing and explicit type annotations - Imports: Organized imports with path aliases (@/components, @/hooks, etc.) - Formatting: eslint & prettier with 2-space indentation, 100 char line width - Components: Functional components with named exports - Naming: PascalCase for components/types, camelCase for variables/functions - Comments: No comments about changes or removals, only absolutely necessary comments in any case. - YOU MUST FOLLOW ALL ESLINT RULES, NO EXCEPTIONS.