Thank you for considering contributing to CrisisKit Lite! This project was born from real disaster response, and every contribution helps make crisis coordination more effective for communities worldwide.
If you find a bug, please open an issue with:
- Clear title: Describe the issue in one sentence
- Steps to reproduce: How can we see the bug?
- Expected behavior: What should happen?
- Actual behavior: What actually happens?
- Screenshots: If applicable
- Environment: Browser, OS, device type
Have an idea to make CrisisKit better? Open a feature request with:
- Use case: Why is this feature needed?
- Proposed solution: How should it work?
- Alternatives considered: What other approaches did you think about?
- Crisis context: How does this help in real emergencies?
Documentation is crucial for crisis tools! You can:
- Fix typos or unclear instructions
- Add missing setup steps
- Translate to other languages
- Add real-world use case examples
- Improve code comments
# Fork the repository on GitHub
# Clone your fork
git clone https://github.com/YOUR_USERNAME/crisiskit-lite.git
cd crisiskit-lite
# Install dependencies
npm install
# Create a branch for your feature
git checkout -b feature/your-feature-name
# Start development server
npm run dev- Test your changes thoroughly
- Follow existing code style (we use TypeScript + React best practices)
- Keep changes focused - one feature or fix per PR
- Update documentation if you changed functionality
- Write clear commit messages
- Push your branch to your fork
- Open a Pull Request with:
- Clear title: What does this PR do?
- Description: Why is this change needed?
- Testing: How did you test it?
- Screenshots: If UI changes
- Wait for review (we'll respond within 48 hours)
- Address any feedback
- Celebrate when merged! 🎉
- Use TypeScript for all new code
- Define types for props and data structures
- Avoid
any- use proper types
- Use functional components with hooks
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use Tailwind CSS utility classes
- Follow mobile-first responsive design
- Maintain accessibility (ARIA labels, keyboard navigation)
Remember these when contributing:
- ⏱ Speed over perfection - Every second counts in a crisis
- 📱 Mobile-first - Most crisis users are on phones
- 🧩 Minimal inputs - Reduce cognitive load
- 🔊 Broadcast-friendly - Links will be shared via WhatsApp/SMS
- 🧘 Emotional safety - UI should reduce panic, not increase it
We welcome translations! To add a new language:
- Create a new file in
/locales/[language-code].json - Copy the structure from
/locales/en.json - Translate all strings
- Test the UI in your language
- Submit a PR
- General questions: Open a Discussion
- Bugs/Features: Open an Issue
- Email: hello@sparksverse.com
This project is built to help communities in crisis. We pledge to:
- Be respectful and inclusive
- Welcome contributors of all backgrounds
- Focus on what's best for the community
- Show empathy and kindness
- Harassment or discriminatory language
- Trolling or insulting comments
- Political or personal attacks
- Publishing others' private information
Violations may result in temporary or permanent ban from the project. Report issues to hello@sparksverse.com.
All contributors will be:
- Listed in our README
- Acknowledged in release notes
- Part of a project that helps real communities
Thank you for helping build technology that matters! 💪
Every contribution, no matter how small, helps save time in the next crisis.