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
93 lines
4.3 KiB
Markdown
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)
|
|
|