Thank you for your interest in contributing to AzLoFlows! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork locally
- Install dependencies:
npm install - Start the dev server:
npm run dev
- Create a
Releasebranch frommainfor your work - Open a pull request targeting
mainwhen ready - Do not commit directly to
main - Keep branches short-lived to minimise merge conflicts
- Type-check:
npx tsc -b - Build:
npm run build - Test:
npm test - Ensure the CI pipeline passes (ESLint, TypeScript, Vite build, Vitest)
- Include a clear description of the changes and the reason for them
- Reference any related issues (e.g. "Fixes #42")
- Keep PRs focused — one feature or fix per PR
| Folder | Purpose |
|---|---|
src/app/ |
App shell and layout |
src/components/ |
Shared UI components |
src/features/ |
Feature modules (canvas, export, inspector, etc.) |
src/lib/ |
Geometry, rendering, serialisation utilities |
src/state/ |
Zustand store and history |
src/types/ |
TypeScript type definitions |
public/ |
Static assets and predefined scenarios |
- TypeScript strict mode
- Functional React components with hooks
- Zustand for state management
- No direct DOM manipulation — use canvas rendering pipeline
- Use GitHub Issues with the provided templates
- Include browser version, OS, and screenshots where possible
- Provide steps to reproduce the problem
By contributing, you agree that your contributions will be licensed under the MIT License.