Welcome! We're excited that you're interested in contributing to Tide Pool Kids. This educational game helps K-8 students explore Bay Area tide pools and ecosystems, and we'd love your help making it even better.
- Node.js 18 or higher
- npm or yarn
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/tide-pool-kids.git cd tide-pool-kids - Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser
- Fix bugs or implement new features
- Improve accessibility (we aim for WCAG 2.2 AAA)
- Optimize performance
- Write tests
- Add new locations with descriptions and fun facts
- Create quiz questions for existing locations
- Add new creatures to discover
- Write age-appropriate educational content (K-2, 3-5, or 6-8)
- Improve UI/UX
- Create new game assets
- Enhance animations and visual feedback
- Improve README or this guide
- Write tutorials
- Document code
- Report bugs with detailed reproduction steps
- Test on different devices and browsers
- Test with assistive technologies
good-first-issue— Great for newcomers, well-scoped taskshelp-wanted— We'd especially appreciate help herebug— Something isn't working correctlyenhancement— New feature or improvementcontent— Adding or improving educational contentaccessibility— Accessibility improvementsdocumentation— Documentation updates
- Create a new branch from
main:git checkout -b feature/your-feature-name
- Make your changes
- Ensure your code follows existing patterns and passes linting:
npm run lint
- Test your changes thoroughly
- Commit with a clear, descriptive message:
git commit -m "Add new tide pool location: Pillar Point" - Push to your fork and open a pull request
- Fill out the PR template with details about your changes
- We use TypeScript for type safety
- Follow existing code patterns and file organization
- Use meaningful variable and function names
- Keep components focused and reusable
- Add comments for complex logic
Locations are defined in src/data/locations.ts. Each location needs:
- Unique ID
- Name and coordinates
- Category (tide pools, beaches, forests, wetlands, infrastructure)
- Age-appropriate descriptions (K-2, 3-5, 6-8)
- Fun facts
- Associated creatures
- Quiz activities
Add creatures to the location's creatures array with:
- Name
- Description
- An emoji or icon
Add questions to the location's activities array:
- Question text (age-appropriate versions)
- Four answer options
- Correct answer index
- Explanation for feedback
We're committed to making this game accessible to all learners:
- All interactive elements must be keyboard navigable
- Images need descriptive alt text
- Use semantic HTML elements
- Ensure sufficient color contrast (4.5:1 minimum, 7:1 preferred)
- Support reduced motion preferences
- Test with screen readers
- Open a GitHub Discussion for questions
- Check existing issues before creating new ones
- Reach out to the Bay Tides team at baytides.org/contact
Be kind, respectful, and constructive. We're building something for kids, and we want our community to reflect the positive values we're teaching.
Thank you for helping make environmental education fun and accessible!