This document outlines the development process and best practices for the ninjasaas team. As a paid developer on this project, you are expected to adhere to these guidelines to ensure efficient collaboration and high-quality code output.
-
Task Assignment
- Tasks are assigned through our project management tool.
- If you identify additional work, discuss with the team lead before creating a new task.
-
Branching Strategy
- Our main branch is
main
. - For each feature or bug fix, create a new branch from
main
. - Use the following naming convention:
- Features:
feature/issue-number-short-description
- Bug fixes:
bugfix/issue-number-short-description
- Example:
feature/123-add-user-authentication
- Features:
- Our main branch is
-
Coding Standards
- Adhere to our established coding standards (refer to our internal style guide).
- Use TypeScript for type safety.
- Ensure your code is properly formatted using Prettier.
- Follow React best practices and hooks guidelines.
-
Committing Code
- Make small, focused commits.
- Use meaningful commit messages that explain the "why" behind changes.
- Reference the issue number in your commit messages.
-
Pull Requests
- Create a Pull Request (PR) when your feature or fix is ready for review.
- Fill out the PR template with all necessary information.
- Request reviews from at least two team members.
- Address all comments and suggestions from reviewers.
-
Code Review
- Review PRs promptly when assigned.
- Provide constructive feedback.
- Approve only when all concerns have been addressed.
-
Testing
- Write unit tests for new features and bug fixes.
- Ensure all existing tests pass before submitting a PR.
- Update or add integration tests as necessary.
-
Documentation
- Update relevant documentation with any changes.
- Include inline comments for complex logic.
- Update the README if there are significant changes to the project setup or workflow.
-
Merging
- PRs can be merged once they have two approvals and all checks pass.
- Use "Squash and merge" to keep the main branch history clean.
-
Deployment
- Our CI/CD pipeline will automatically deploy changes to the staging environment after merging to
main
. - Production deployments are manually triggered after QA approval.
- Our CI/CD pipeline will automatically deploy changes to the staging environment after merging to
- Keep PRs small and focused on a single issue or feature.
- Regularly pull from
main
to keep your feature branches up-to-date. - Communicate early and often about your work, especially if you encounter blockers.
- Use our team communication channels for discussions and questions.
- Daily stand-ups at [specify time]
- Weekly team meetings on [specify day and time]
- Use [specify tool, e.g., Slack] for quick questions and discussions
- Important decisions should be documented in [specify location]
- We use [specify tools] for monitoring code quality and performance
- Aim to maintain or improve our current metrics with each contribution
- Stay updated with the latest in our tech stack
- Share interesting findings or learnings with the team
- Participate in code review to learn from others and share your knowledge
Remember, as a paid member of the ninjasaas development team, your contributions directly impact the success of our product. Maintain high standards in your work and collaborate effectively with your teammates.
For any questions or concerns about this workflow, please speak with your team lead or project manager.