π οΈ GitHub Usage Guidelines¶
At Darukaa, GitHub is our primary source control and collaboration platform. This guide outlines best practices and standard conventions to ensure smooth workflows across teams.
π Repository Structure¶
We maintain the following key repositories:
| Repository | Purpose |
|---|---|
| Product | Frontend web app |
| Product_backend | Backend services (FastAPI) |
| Darukaa.earth | Marketing website |
| Env Reporting | Environmental reporting |
β All repositories are public or private under the
Darukaa-ESGGitHub organization.
π Creating a New Repository¶
If you need to create a new repository:
- Make a request in the
#eng-infraSlack channel or contact a GitHub admin. - Ensure the following:
- Use lowercase with hyphens:
example-service,data-collector - Add a clear description and topics/tags
- Initialize with:
README.mdLICENSE(MIT or proprietary).gitignore
- Add a
CONTRIBUTING.mdif external collaboration is expected - Set branch protection rules on
main:- Require PR review
- Require status checks to pass
- Add secrets or tokens via GitHub Actions Secrets
π³ Branching Strategy¶
mainβ Always production-readydev(optional) β Used for staging-level work- Feature branches β
feature/<name> - Bugfix branches β
bugfix/<issue-id> - Hotfixes β
hotfix/<description>
Use short, semantic names:
βfeature/add-payment-page
βabhi-work-1
β PR Guidelines¶
Every pull request should follow these practices:
- Title: Clearly describe the change
- Description:
- What was changed?
- Why was it changed?
- Screenshots (if UI-related)
- Link issue: Use
Closes #123orFixes #bug - Checklist:
- [ ] Code follows our style guides
- [ ] Tests added or updated
- [ ] No console logs or commented-out code
- [ ] Ready for review
π PR Template¶
Each repo should include a .github/pull_request_template.md:
### π§ What does this PR do?
### πͺ Any background context or related tasks?
### πΈ Screenshots or Demo (if applicable)
### β
Checklist
- [ ] Code compiles and passes linting
- [ ] Tests added/updated
- [ ] Documentation updated (if required)
- [ ] Ready for review
¶
π Code Reviews¶
- Every PR must be reviewed by at least one other engineer.
- Use GitHub Suggestions to leave inline edits or improvements.
- Comment constructively: suggest, donβt dictate
- Approve only if:
- You understand the changes
- The logic looks sound
- Tests and documentation are adequate
GitHub Actions¶
- Each repository has CI workflows in
.github/workflows/ - Workflows must pass for merging unless explicitly overridden.
π Security & Permissions¶
- Avoid hardcoding secrets or API keys β use GitHub Secrets / GCP Secrets Manager
- Donβt give write access to forks or unknown contributors
- Rotate personal access tokens used in automation every 90 days
π Helpful Links¶
- Darukaa Github Organization: Darukaa-ESG