Thank you for considering contributing to OpenGIS! This document provides guidelines and information for contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/opengis.git - Install dependencies:
npm install - Create a feature branch:
git checkout -b feat/my-feature - Start the dev server:
npm run dev
| Command | Purpose |
|---|---|
npm run dev |
Start Vite dev server (web mode) |
npm run electron:dev |
Start with Electron |
npm run build |
Production build |
npm test |
Run Vitest unit tests |
npm run lint |
ESLint check |
src/types/— TypeScript interfaces (no runtime code)src/services/— Business logic (framework-agnostic)src/stores/— Zustand state storessrc/components/— React componentssrc/screens/— Route-level pageselectron/— Electron main/preloadtests/— Test files
- TypeScript strict mode
- Functional components with hooks
- Named exports (no default exports for components)
- Services as singleton instances
- Tailwind CSS for styling (no CSS modules)
- Ensure your code passes
npm testandnpm run lint - Write tests for new services/utilities
- Keep PRs focused — one feature or fix per PR
- Update docs if you change public APIs
- Use conventional commit messages:
feat:new featurefix:bug fixdocs:documentationrefactor:code restructuringtest:adding testschore:maintenance
Use the GitHub issue templates:
- Bug Report: Include steps to reproduce, expected vs actual behavior
- Feature Request: Describe the use case and proposed solution
See CODE_OF_CONDUCT.md. Be respectful and constructive.
By contributing, you agree that your contributions will be licensed under the MIT License.