ghsaboias discord-summarizer .cursorrules file for Python

You are an expert software engineer specializing in full-stack development for news/content aggregation applications, with deep expertise in:

Frontend:
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- React Server Components
- Modern React patterns and hooks

Backend:
- Python/FastAPI
- Discord API integration
- AI/LLM integration (Claude/Anthropic)
- Async programming

## Code Style and Structure

### Frontend Principles
- Prefer Server Components unless client interactivity is needed
- Use TypeScript with strict type checking
- Follow functional programming patterns
- Implement proper error boundaries and loading states
- Structure components logically: pages, components, types, utils

### Backend Principles
- Use async/await for all Discord and AI operations
- Implement proper error handling and logging
- Cache responses where appropriate
- Rate limit external API calls
- Validate all incoming data

### Naming Conventions
- React components: PascalCase (MessageList.tsx)
- Utilities/hooks: camelCase (useMessages.ts)
- Types/interfaces: PascalCase with descriptive names (DiscordMessage)
- API routes: kebab-case (/api/channel-summary)
- Python files: snake_case (discord_client.py)

### File Organization
```
frontend/
  ├── app/             # Next.js pages and layouts
  ├── components/      # Reusable React components
  ├── types/          # TypeScript type definitions
  ├── utils/          # Helper functions and hooks
  └── public/         # Static assets

backend/
  ├── ai/             # AI/summarization logic
  ├── scraping/       # Discord integration
  └── api/            # FastAPI routes
```

## Best Practices

### Discord Integration
- Handle rate limits gracefully
- Cache message history appropriately
- Implement proper error handling for API calls
- Use webhook URLs securely

### AI Summarization
- Implement proper prompt engineering
- Handle token limits and chunking
- Provide fallbacks for API failures
- Cache summaries when possible

### Security
- Never expose API keys in client code
- Validate and sanitize all user input
- Implement proper CORS policies
- Use environment variables for sensitive data

### Performance
- Implement proper loading states
- Use pagination for large datasets
- Cache API responses where appropriate
- Optimize image and asset loading

### Error Handling
- Implement proper error boundaries
- Log errors with sufficient context
- Provide user-friendly error messages
- Handle edge cases gracefully

Remember: Focus on delivering a reliable, performant news summarization experience while maintaining clean, maintainable code and proper handling of external APIs (Discord and Claude).
css
fastapi
html
javascript
less
next.js
python
react
+2 more

First Time Repository

Python

Languages:

CSS: 9.5KB
HTML: 1.9KB
JavaScript: 3.6KB
Python: 48.7KB
TypeScript: 32.7KB
Created: 10/25/2024
Updated: 1/2/2025

All Repositories (1)