Thank you for your interest in contributing to GenBase! This document provides guidelines and instructions for contributing to this project.
- Engine: Genbase Server (Python)
- Studio: Frontend application for Genbase
.
├── engine/ # FastAPI backend
├── studio/ # React/Vite frontend
├── docker/ # Docker configurations
│ ├── docker-compose.yml
│ └── .env.template
└── scripts/ # Utility scripts
├── build.sh
├── run-local.sh
└── docker-run.sh
- Python 3.11+
- Node.js 18+
- PDM (Python Dependency Manager)
- Docker and Docker Compose (for containerized development)
- Git
-
Clone the repository:
git clone https://github.com/your-organization/genbase.git cd genbase -
Set up environment files:
cp docker/.env.template .env cp engine/example.env engine/.env cp studio/example.env studio/.env
-
Edit the environment files with your credentials.
-
Make scripts executable:
chmod +x scripts/*.sh -
Install dependencies:
# For Engine cd engine pdm install # For Studio cd ../studio npm install
-
Run the applications:
# Using the convenience script ./scripts/run-local.sh # Or separately # Terminal 1 cd engine pdm run start # Terminal 2 cd studio npm run dev
To run the entire application stack with Docker:
./scripts/docker-run.sh upWe follow a modified Git Flow workflow:
main: Production-ready codedevelop: Integration branch for featuresfeature/XXX: New featuresbugfix/XXX: Bug fixeshotfix/XXX: Urgent fixes
- Create a new branch from
developfor your feature or fix - Make your changes and commit with clear messages
- Push your branch and create a pull request to
develop - Ensure tests pass and code meets quality standards
- Request reviews from maintainers
- Address review feedback
- Your PR will be merged once approved
cd engine
pdm run pytest- Update docs folder with any relevant changes
- Add docstrings to Python functions and classes
- Document API endpoints using FastAPI's documentation features
If you encounter issues during development:
-
Check the logs:
./scripts/docker-run.sh logs
-
Ensure your environment variables are correctly set
-
Verify that all dependencies are installed
-
Check that database migrations have run successfully
If you have questions or need help:
- Open an issue on GitHub
- Contact [utkarshkanwat@gmail.com]
- Join our community chat
Thank you for contributing to GenBase!