# 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, especially for documentation updates (refer to `docs/06-maintenance-guide.md`).

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 Recommended Development Tools:**
    *   **IDE:** We recommend **VS Code** or **Vim/Neovim** for development.
    *   **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`
    *   *(Mobile app dependencies will be installed within their respective directories later.)*

- **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.**

7.  **Firebase Project Access Validation (CTO will provide access):**
    *   Confirm you have access to the `dev` Firebase/GCP project.
    *   Verify you can run `firebase login` and `gcloud auth login` successfully.

8.  **Understand the Monorepo Structure:**
    *   Familiarize yourself with the project layout 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, linked to a GitHub Issue.
    *   The `main` and `dev` branches are protected.

2.  **Commit Messages:**
    *   Use **Open Commit** for intelligent and standardized Git commit messages.

3.  **Code Standards:**
    *   Adhere to existing code style, formatting, and architectural patterns found in the codebase.
    *   Run linters and formatters before committing.

4.  **Documentation:**
    *   Refer to the **[Documentation Overview](./README.md#documentation-overview)** in the main `README.md` for all project documentation.
    *   For Base44 integration specifics, see **[06-maintenance-guide.md](./docs/06-maintenance-guide.md)**.

5.  **Diagrams:**
    *   All diagrams should be created using **Mermaid syntax** and stored in Markdown files.

---

## 🔗 Useful Links

-   **KROW Internal Launchpad:** *(Link will be provided after deployment to Firebase Hosting)*
-   **Project Vision:** [docs/00-vision.md](./docs/00-vision.md)
-   **Technical Roadmap:** [docs/04-strategy-technical-roadmap.md](./docs/04-strategy-technical-roadmap.md)
-   **Project Plan:** [docs/05-project-plan.md](./docs/05-project-plan.md)
