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