| name | nycraves |
| description | Complete development guide for the NYCRAVES codebase. Use this skill when creating any new code - components, pages, features, data functions, or utilities. Ensures visual consistency (brutalist dark theme), code consistency (established patterns), and proper Next.js 16 architecture (caching, Server Components, loading states). Triggers on (1) Creating new components, (2) Building new pages, (3) Adding features, (4) Writing data functions, (5) Questions about patterns or conventions. |
NYCRAVES Development Guide
Complete patterns and conventions for the NYCRAVES NYC rave events app.
What This Skill Covers
- UI Design System - Brutalist dark-mode aesthetic
- Component Patterns - Structure, naming, exports
- Architecture - Data fetching, caching, utilities
- Next.js 16 - Cache Components, Server/Client patterns
Core Principles
- Consistency over creativity - Match existing patterns exactly
- Server Components by default - Only use
'use client'when necessary - Centralized utilities - Never duplicate functions across files
- Centralized constants - Import from
lib/constants/, don't hardcode - Barrel exports always - Every folder needs
index.tswith named exports - Cache everything - Data functions use
'use cache'+cacheTag+cacheLife
Quick Reference
Creating a New Component
- Place in
/components/[domain]/ - Add
'use client'only if using hooks/browser APIs - Define TypeScript interface for props
- Follow design tokens from design-tokens.md
- Match structure from component-patterns.md
- Add named export to domain's
index.ts
Creating a Data Function
- Place in
/lib/data/[domain].ts - Add
'use cache'directive - Add
cacheTag('[domain]')for invalidation - Add
cacheLife('hours')or'days' - Export from
lib/data/index.ts
See architecture-patterns.md for full examples.
Creating a New Utility
- Check if similar function exists in
lib/utils.ts - If reusable (2+ files), add to
lib/utils.ts - Add JSDoc comment explaining purpose
- Import from
@/lib/utilseverywhere
Reference Files
Load these as needed for detailed patterns and examples:
- design-tokens.md - Typography, colors, spacing, borders, interactive states
- component-patterns.md - File organization, component structure, common UI patterns, page layouts
- architecture-patterns.md - Data fetching, caching, utilities, constants, import order, anti-patterns