Skip to content

πŸ› οΈ 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-ESG GitHub organization.


πŸ†• Creating a New Repository

If you need to create a new repository:

  1. Make a request in the #eng-infra Slack channel or contact a GitHub admin.
  2. Ensure the following:
  3. Use lowercase with hyphens: example-service, data-collector
  4. Add a clear description and topics/tags
  5. Initialize with:
    • README.md
    • LICENSE (MIT or proprietary)
    • .gitignore
  6. Add a CONTRIBUTING.md if external collaboration is expected
  7. Set branch protection rules on main:
    • Require PR review
    • Require status checks to pass
  8. Add secrets or tokens via GitHub Actions Secrets

🌳 Branching Strategy

  • main β†’ Always production-ready
  • dev (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 #123 or Fixes #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

  1. Every PR must be reviewed by at least one other engineer.
  2. Use GitHub Suggestions to leave inline edits or improvements.
  3. Comment constructively: suggest, don’t dictate
  4. Approve only if:
  5. You understand the changes
  6. The logic looks sound
  7. Tests and documentation are adequate

GitHub Actions

  1. Each repository has CI workflows in .github/workflows/
  2. Workflows must pass for merging unless explicitly overridden.

πŸ” Security & Permissions

  1. Avoid hardcoding secrets or API keys β€” use GitHub Secrets / GCP Secrets Manager
  2. Don’t give write access to forks or unknown contributors
  3. Rotate personal access tokens used in automation every 90 days
  1. Darukaa Github Organization: Darukaa-ESG