Files
Krow-workspace/docs/03-contributing.md
bwnyasse 8916a4ac49 feat: add feature roadmap and tickets documentation
feat: add detailed feature roadmap and tickets documentation
feat: add roadmap overview diagram
feat: add roadmap p0 mvp diagram
feat: add roadmap p0 complete workflow diagram
feat: update diagrams config to include new roadmap diagrams
feat: add support for syncing source code for ai context
chore: update allowed hashes
feat: add jose.salazar@oloodi.com to iap-users.txt
feat: add fazulilahi@gmail.com to iap-users.txt
feat: add zouantchaw74@gmail.com to iap-users.txt
2026-01-12 11:44:26 -05:00

4.3 KiB

Contributing to KROW Workforce Platform

Welcome to the KROW Workforce development team! This guide will help you get set up and understand our development practices.


🚀 Getting Started & Setup Checklist

Follow these steps to set up your development environment and gain access to all necessary resources.

  1. Access Google Chat Space:

    • Ensure you have been invited to and joined our main Google Chat space for daily communication and quick questions.
  2. GitHub Access & SSH Key:

    • Confirm you have read/write access to this GitHub repository.
    • Configure your SSH key for GitHub. Ensure your commits are verified (GPG signing is recommended).
  3. Install & Configure Gemini CLI:

    • Install the Gemini CLI on your local machine.
    • Familiarize yourself with its usage for code assistance and documentation.
  4. Install & Configure Enpass:

    • Install Enpass (our team's shared password manager).
    • Ensure you have access to the shared KROW vault for all project credentials (API keys, service accounts, etc.).
  5. Install Required Development Tools:

    Before running the project, ensure you have the following installed:

    • Node.js (v20+): We recommend using nvm (Node Version Manager) to install and manage Node versions.
    • pnpm: Our preferred package manager for JavaScript projects. (npm install -g pnpm)
    • Flutter Version Management (FVM): We use FVM to manage Flutter SDK versions per project. Install it via Homebrew (brew install fvm) or Dart (dart pub global activate fvm).
    • Firebase CLI: Required for emulation and deployment. (npm install -g firebase-tools)
    • Google Cloud CLI (gcloud): Required for backend authentication and resource management.

    Recommended IDE:

    Diagramming:

    • Use MermaidChart.com for creating and editing diagrams (Mermaid syntax).
  6. Local Development Environment Setup:

    • Clone the monorepo: git clone git@github.com:Oloodi/krow-workforce.git
    • Navigate to the project root: cd krow-workforce
    • Install web frontend dependencies: make install
  • Install Git Hooks:
    • Run make install-git-hooks to set up local safeguards that prevent direct pushes to protected branches (main and dev). This is a mandatory step.
  1. Firebase Project Access Validation:

    • Confirm you have access to the dev Firebase/GCP project.
    • Verify you can run firebase login and gcloud auth login successfully.
  2. Understand the Monorepo Structure:

    • Familiarize yourself with the project layout (apps/, backend/, internal/) as described in the main README.md.

💡 Development Guidelines

  1. Branching Strategy:

    • We adopt a feature branch workflow. All code modifications must be done on a new branch.
    • The main and dev branches are protected.
  2. Commit Messages:

    • Use clear and descriptive commit messages (standardized via Open Commit if available).
  3. Code Standards:

    • Adhere to existing code style, formatting, and architectural patterns found in the codebase.
    • Run linters and formatters before committing.
  4. Documentation:

    • Keep documentation up to date in the docs/ directory.
  5. Diagrams:

    • All diagrams should be created using Mermaid syntax and stored in Markdown files.