Skip to content

Commit 9f43e75

Browse files
mattobeeclaude
andcommitted
docs: enhance CLAUDE.md with architectural details and workflow guidance
Add important implementation details to help future Claude instances: - Edge function caching and event processing specifics - International vs. local event timezone handling logic - LocalStorage keys for filter and user preference persistence - Development workflow recommendations for testing and quality checks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 4f11af6 commit 9f43e75

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

CLAUDE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
8282
Located in `netlify/edge-functions/`:
8383

8484
- `get-events.ts`: Fetches and processes events from Sanity
85+
- Creates synthetic "Call for Speakers" deadline events from CFS dates
86+
- Implements 5-minute caching to reduce API calls
87+
- Handles timezone conversion for international vs. local events
8588
- `get-books.ts`: Fetches book releases
8689
- `get-user-info.ts`: User location/timezone detection
8790

@@ -116,3 +119,24 @@ Located in `netlify/edge-functions/`:
116119
- All pages must conform to WCAG 2.2 Level AA
117120
- Regular accessibility testing with automated and manual methods
118121
- Skip link implementation and proper semantic markup
122+
123+
## Important Project Specifics
124+
125+
### Event Processing Logic
126+
127+
- International events (with `internationalEvent: true`) use timezone-agnostic time display
128+
- Local events show times converted to user's selected timezone
129+
- "Call for Speakers" deadlines are automatically generated from CFS dates on events
130+
131+
### Filter State Persistence
132+
133+
- Filter selections persist in localStorage under `eventua11y-filters`
134+
- User preferences (theme, timezone) stored separately in `eventua11y-user`
135+
- Filter state includes: CFS status, attendance mode, cost filters, content type toggles
136+
137+
### Development Workflow
138+
139+
1. Use `netlify dev` when testing edge functions or full functionality
140+
2. Run `npm run check` before committing to ensure formatting compliance
141+
3. Test timezone functionality by changing browser timezone or using UI selector
142+
4. Verify accessibility with Playwright tests that include axe-core checks

0 commit comments

Comments
 (0)