Thank you for your interest in contributing to NeoNest β your time and effort mean a lot to us! π Whether you're reporting a bug, suggesting an enhancement, or writing your first pull request β you're welcome here. Letβs build a supportive space for contributors of all experience levels. π
- π How to Contribute
- π§ Code Style Guidelines
- π File Naming Conventions
- β PR Review Process
- π¬ Community & Communication
- π Contribution Rules
- π― Points & Difficulty Levels
- π‘ Code of Conduct
- Open a new issue using the bug label.
- Include a clear title, a concise description, and the file name/line number if possible.
- Mention expected behavior vs actual behavior.
- Provide steps to reproduce the issue.
- Add screenshots or screen recordings to help us understand better.
- Open a new issue using the feature or docs label.
- Describe what youβre proposing and why it matters.
- Include UI mockups, screenshots, or API flow diagrams, if applicable.
- Keep ideas beginner-friendly and scalable.
Hereβs a quick overview of the contribution flow:
-
Star and Fork the repo.
-
Clone your fork:
git clone https://github.com/AditiGupta-tech/NeoNest.git- Install dependencies:
npm install --legacy-peer-deps- Create a new branch:
git checkout -b yourname/feature-name- Make your changes:
- Stick to the project structure.
- Use helpful commit messages, eg:
fix: corrected typo in LandingPage.jsxfeat: added baby sleep graph comparison
- Format your code:
npm run lint- Update
pnpm-lock.yamlfile using this command and push along with other commits:
pnpm install
-
Test everything! (Manual/automated if applicable)
-
Push your branch:
git push origin yourname/feature-name- Open a Pull Request (PR) from your fork:
- Reference related issue(s):
Fixes #<issue-number> - Add a clear title and summary.
To ensure consistency and maintainability, please adhere to these guidelines:
- Use camelCase for variables and function names.
- Component files should be PascalCase:
SleepTracker.jsx. - Run
npm run lintto follow our ESLint + Prettier rules. - Keep functions modular and reusable.
- Use descriptive variable names (
sleepDuration>temp123). - Avoid hardcoded values β use constants/configs where possible.
- π§© React Components: PascalCase (
BabyStats.jsx) - π Folders: kebab-case (
/baby-data,/user-profile) - πΌ Images/GIFs: kebab-case and descriptive (
baby-growth-graph.gif) - π Markdown/Docs: kebab-case (
getting-started.md,api-reference.md)
We aim to keep things smooth and transparent:
- Once your PR is submitted, a maintainer will review it.
- You may be asked to:
- Fix styling issues.
- Add missing documentation/tests.
- Break large PRs into smaller pieces.
- After approval:
- Your PR will be merged with a squash merge to keep history clean.
- Points will be awarded if part of GSSoC.
- Youβll receive feedback, even if the PR isnβt merged immediately.
- β Reviews may take 24β72 hours depending on activity. Thanks for your patience!
Weβre friendly and open β come say hi! π
Whether youβre stuck or want to share an idea, reach out through:
- π¬ GitHub Discussions
π§βπ« Mentorship & pairing sessions are available β just ask!
To ensure a smooth and fair contribution process:
- Always Star and Fork before contributing.
- Browse open issues and comment to get assigned.
- One PR per issue β stay focused and scoped.
- Donβt start work on an issue unless youβre assigned.
- If you raised an issue, youβll be assigned by default.
- Avoid making "drive-by PRs" or unrelated fixes β theyβll be closed.
Your contributions earn points that count toward GSSoC'25 and your NeoNest Leaderboard status!
| Difficulty | Points |
|---|---|
| Level 1 | 3 |
| Level 2 | 7 |
| Level 3 | 10 |
To maintain a respectful and inclusive environment for all, we follow a Code of Conduct for all contributors and community interactions.
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
This helps ensure that all contributions are open, consistent, and usable for the community.
- π£ Check out our Good First Issues to begin your journey.
- You can also read our Getting Started Guide to set up the project locally.
Letβs make NeoNest the go-to guide for new parents, together! π±
Weβre excited to see what youβll build.