You are very welcome! 🚀 Here are the rules, standards and agreements to ensure that everyone can collaborate in an organized, light and productive way.
Tasks are organized into cards/issues, which can be divided into sub-issues, when necessary, for better distribution of work.
-
The employee comments on the existing issue/card, stating that he or she is interested in taking on the task.
-
A project owner will:
- Evaluate the request
- Officially assign the collaborator to the issue/card
- Define or validate the delivery deadline
- If necessary, the employee can request an extension of the deadline, exclusively via a comment on the issue/card itself.
This flow guarantees control, equity in the distribution and traceability of responsibilities.
- Clearly state that you want to take on the task.
- Wait for formal assignment by a responsible person.
- Once assigned, respect the agreed deadline.
- Assess your availability before committing.
- Task assigned = responsibility assumed.
- Don't leave tasks idle without updating.
- If you realize that you will not be able to meet the deadline, let us know as soon as possible via comment.
- If you have any doubts, ask.
- If someone asks for help, help.
main: stable version ready for production.
develop: where we integrate all the features before going tomain.
feat/feature-name: new functionality (Ex:feat/criar-login)fix/descricao-da-correcao: bug fix (Ex:fix/erro-no-formulario)docs/descricao: change in documentationstyle/descricao: formatting without code changesrefactor/descricao: refactoring without changing behaviortest/description: tests added or correctedchore/description: maintenance (dependencies, configs, etc.)
-
Fork the project via GitHub. If you don't know how, see this tutorial.
-
Update the
developbranch on your computer:
git checkout develop
git pull origin develop- Create a new branch for your work:
git checkout -b feat/feature-name-
Work, make clear commits (use Husky for this)
-
When finished:
git push origin feat/your-feature-name- Open a Pull Request (PR) to the
developbranch of the organization's repository.
To help maintain the quality of our code and give you quick feedback even before you submit your Pull Request, we use a Code Review robot powered by Gemini artificial intelligence!
It will read the files you changed and generate a super organized report in the docs/codereview_reports/ folder pointing out security, performance and best practices improvements.
- Creating your API Key (Free) Don't worry, you don't have to pay anything to use this artificial intelligence in your project!
-
Access the [Google AI Studio] website (https://aistudio.google.com/api-keys).
-
Log in using any regular Google (Gmail) account.
-
In the side or top menu, look for and click the "Get API key" button.
-
Click on "Create API Key" and then on "Create API key in new project".
-
A large sequence of letters and numbers will appear. Click the button to copy this key and save it (do not close the page before copying!).
- Configuring your Environment Variables The project needs to know what your key is to be able to talk to Gemini.
-
Open your
.env.localfile (which you created following the README step by step). -
Add the following line (replacing the code you copied from the Google website):
GEMINI_API_KEY=Paste_Your_Key_Here_Without_Quotes
- Running the Code Review With everything configured, now it's easy! Whenever you want to review your code, open the terminal at the root of the project and type:
npm run reviewThe terminal will give you 3 really cool options:
-
[1] Only the changed files: Perfect to run before sending your code to us! It only reviews what you have changed and that has not yet been committed.
-
[2] Choose a specific folder/module: Great for when you want to study or review an entire folder (like src/app or src/components).
-
[3] The entire project: It will read the entire project, dividing it into small batches so the AI doesn't crash.
Open the file generated in the docs/codereview_reports/ folder to see tips from your virtual Senior Reviewer! 🚀
- Create the branch → Work on it → Commit → Push
- Open PR of your branch to
develop - Describe what was done clearly
- Someone does the proofreading
- PR approved → merge to
develop
When everything is ready for production, we do develop → main.
We use standardized commit messages. Examples:
feat: create project registration screenfix: fix login bugdocs: update READMEstyle: format code with Prettierrefactor: improve form structuretest: add authentication testschore: update dependencies
Use the command:
npm run commitThis will open the Commitizen, which guides you step by step. You don't need to memorize the patterns, the wizard helps with everything.
If the commit is related to an open issue, add at the end:
- For reference only:
Refs: #42 - To close automatically:
Fixes: #42
Example in long description:
Update login button. Cool: #42
Husky runs automatic checks before you commit or push, ensuring that:
- Your code is formatted correctly (with Prettier)
- Didn't break any tests (with Jest)
- The commit message follows the pattern (with Commitlint)
This way, we prevent bugs or non-standard code from entering the database.
No need to worry, everything runs automatically!
If necessary, you can bypass the hooks with:
git commit --no-verify- In the community group Discord
- Opening an issue on GitHub
- People > Technology
- Commitment > technical knowledge.
- No one walks alone: ask and help.
- Quality over quantity.
- Communication always.
- Responsibility with assumed deadlines.
To ensure that all employees are recognized, follow these instructions:
- Comment on the issue or PR:
@all-contributors please add @usuario for code, doc
Replace
@userwith the contributor's GitHub username. You can add multiple contribution types, separated by commas (code,doc,test, etc.).
- The bot will automatically update:
- The file
CONTRIBUTORS.mdwith the contributor - The contributor count badge in the README
To see all the contribution emoji options, check out the All Contributors emoji key.