# Task Completion Checklist When completing any development task in this project, follow these steps: ## 1. Code Quality Checks - [ ] **TypeScript Validation**: Run `npx tsc --noEmit` to check TypeScript types - [ ] **Build Test**: Run `npm run build` to ensure the project builds successfully - [ ] **Development Server**: Test with `npm run dev` to ensure functionality works locally ## 2. Rust/Native Code (if applicable) - [ ] **Rust Check**: Run `cargo check` in the church-core directory - [ ] **Native Build**: Run `npm run build:native` to ensure NAPI bindings compile - [ ] **Cargo Clippy**: Run `cargo clippy` for Rust linting (if available) ## 3. Frontend Testing - [ ] **Manual Testing**: Test all affected functionality in the browser - [ ] **Cross-browser Check**: Test in different browsers if UI changes were made - [ ] **Mobile Responsiveness**: Check mobile layout if UI changes were made ## 4. API Integration - [ ] **API Endpoints**: Test any modified API routes (`/api/*`) - [ ] **External API**: Verify integration with `https://api.rockvilletollandsda.church/api/` - [ ] **Error Handling**: Ensure proper error responses and user feedback ## 5. Documentation - [ ] **Code Comments**: Add comments for complex logic - [ ] **README Updates**: Update documentation if new features or requirements - [ ] **Memory Updates**: Update project memory files if architecture changes ## 6. Git Best Practices - [ ] **Commit Messages**: Use clear, descriptive commit messages - [ ] **Branch Management**: Work on feature branches when appropriate - [ ] **Clean History**: Squash commits if multiple small fixes ## 7. Performance & Security - [ ] **Bundle Size**: Check if changes affect build size significantly - [ ] **Security**: Ensure no sensitive data is exposed - [ ] **Caching**: Verify API caching headers are appropriate ## Common Issues to Watch For - **NAPI Bindings**: Ensure native code compiles on target platforms - **External API Dependency**: Handle cases where external API is unavailable - **Image Uploads**: Validate file sizes and types properly - **Form Validation**: Both client-side and server-side validation - **Recurring Events**: Special attention to date/time handling ## Pre-deployment Checklist - [ ] All TypeScript errors resolved - [ ] Production build succeeds - [ ] All features tested manually - [ ] External dependencies verified - [ ] Environment variables documented (if new ones added)