- Add release-gate.yml: 11-job pipeline (lint, tests, Docker build/smoke, Trivy scan, dep audit, audit checks, e2e API+UI, PR summary comment) - Fix CI double-trigger on release branches (push + PR) - Add CODE_OF_CONDUCT.md, SECURITY.md, PR template - Add docs: git-workflow, architecture (ADR), release, operations, community - Add profiles/fastapi-vue for automated audit checks - Add docs/PROCESSES.md: index of 19 available processes
2.9 KiB
2.9 KiB
Onboarding Guide — First Contribution
Welcome! This guide helps you go from zero to your first merged PR.
Prerequisites
| Tool | Version | Check |
|---|---|---|
| Python | 3.12+ | python --version |
| Node.js | 20+ | node --version |
| Docker & Docker Compose | latest | docker compose version |
| Git | 2.x | git --version |
| Java (for e2e) | 17+ | java --version |
| Maven (for e2e) | 3.9+ | mvn --version |
Step 1 — Fork & Clone
# Fork on GitHub, then:
git clone https://github.com/<your-username>/Docling-Studio.git
cd Docling-Studio
git remote add upstream https://github.com/scub-france/Docling-Studio.git
Step 2 — Run the Stack
The fastest way to see the app running:
docker compose up -d --wait
open http://localhost:3000
Step 3 — Set Up for Development
Backend
cd document-parser
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt # remote mode (lightweight)
pip install ruff pytest pytest-asyncio httpx
uvicorn main:app --reload --port 8000
Frontend
cd frontend
npm install
npm run dev # http://localhost:5173
Step 4 — Pick Your First Issue
Look for issues labeled:
good-first-issue— small, well-scoped, mentoredhelp-wanted— we need help but it may be largerdocs— documentation improvements (great starting point)
Step 5 — Create a Branch
git checkout main && git pull upstream main
git checkout -b feature/my-change # or fix/my-fix
Follow the branching strategy.
Step 6 — Code
- Read the architecture docs to understand the codebase
- Follow the coding standards
- Write tests for your changes
Step 7 — Verify
# Backend
cd document-parser
ruff check . && ruff format --check .
pytest tests/ -v
# Frontend
cd frontend
npm run type-check
npx eslint src/
npm run test:run
Step 8 — Commit & Push
Follow commit conventions:
git add <files>
git commit -m "feat(scope): short description"
git push origin feature/my-change
Step 9 — Open a PR
- Target:
main(orrelease/*for pre-release fixes) - Fill in the PR template
- Add a line in
CHANGELOG.mdunder[Unreleased] - Wait for CI to pass, then request a review
What to Expect
- A maintainer will review your PR within 3 business days
- You may get feedback — this is normal and helpful
- Once approved, a maintainer will merge your PR
- Your contribution appears in the next release's changelog
Need Help?
- Open a Discussion on GitHub
- Check existing issues for similar questions
- Read the CONTRIBUTING guide for detailed rules