Thank you for your interest in contributing to the Metascience Platform! This project was developed by Kernel Science SRL for FQXI.
We welcome contributions from everyone, whether you're fixing a bug, improving documentation, or suggesting new features.
The Metascience Platform is a comprehensive open-source research analysis platform designed to help academics and researchers understand scientific literature through AI-driven insights. It was originally developed by Kernel Science SRL for FQXI.
To contribute effectively, you'll need to set up both the frontend and backend components.
- Node.js: 18.x or higher
- Python: 3.11+ or 3.13+
- pnpm (recommended) or npm/yarn
The backend is a FastAPI application.
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
cp .env.example .env
# Edit .env to add your API keys
uvicorn app.main:app --reloadThe frontend is a Next.js application.
cd frontend
pnpm install
cp .env.example .env.local
# Edit .env.local as needed
pnpm devNavigate to the backend directory:
pytestNavigate to the frontend directory:
pnpm testPlease use GitHub Issues to report bugs or suggest features. Provide as much detail as possible, including steps to reproduce or clear use cases.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes following Conventional Commits.
- Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
- Python: Follow PEP 8 and use
blackfor formatting.- Formatting:
black backend/app/ - Linting:
flake8 backend/app/ --max-line-length=100 - Type Checking:
mypy backend/app/
- Formatting:
- JavaScript/TypeScript: Follow the project's ESLint and Prettier configurations.
When adding new features to the backend:
- Routes (
backend/app/routes/) - HTTP handlers only. - Services (
backend/app/services/) - Business logic. - Models - Use Pydantic for request/response validation.
- Config (
backend/app/config.py) - Environment variables.
By participating in this project, you agree to abide by our Code of Conduct.
If you discover a security vulnerability, please follow the instructions in our Security Policy.
Thank you for helping us build the future of metascience!