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

93 lines
4.3 KiB
Markdown

# 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](https://github.com/nvm-sh/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](https://fvm.app/)** 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:**
* **[Google Project IDX (Antigravity)](https://idx.google.com/)** or **VS Code**.
* **Essential Extensions:**
* Flutter & Dart
* Firebase
* Tailwind CSS IntelliSense
* ESLint & Prettier
**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.**
7. **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.
8. **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.
---
## 🔗 Useful Links
- **KROW Internal Launchpad:** [https://launchpad.krowwithus.com](https://launchpad.krowwithus.com)
- **Project Onboarding (Start Here):** [docs/05-project-onboarding-master.md](./05-project-onboarding-master.md) - Comprehensive guide covering architecture, domain logic, feature gap analysis, and development strategy
- **Project Vision:** [docs/00-vision.md](./00-vision.md)
- **Backend Specification (Legacy Reference):** [docs/01-backend-api-specification.md](./01-backend-api-specification.md) - Historical API spec from Digital Ocean stack
- **Codemagic Env Vars:** [docs/02-codemagic-env-vars.md](./02-codemagic-env-vars.md)