Thanks for your interest in contributing to EUDIPLO – your help is highly appreciated! 🎉
This guide will walk you through the steps to report issues, suggest features, and contribute code or documentation.
If you find a bug, glitch, or unclear behavior:
- Search existing issues to avoid duplicates.
- If not found, open a new issue and include:
- A short description
- Steps to reproduce
- Your environment (OS, Docker version, etc.)
- Logs or screenshots if possible
Have an idea to improve EUDIPLO?
- Check if a feature request already exists
- Open a new issue with a
feature requestlabel and describe:- The problem you want to solve
- The proposed solution
- Alternatives considered (if any)
Looking for a good first contribution? Here are some places to start:
Check our GitHub issues labeled good first issue for beginner-friendly tasks.
Our SonarCloud dashboard shows code quality issues that make excellent first contributions:
- Code Smells – Small improvements to code readability and maintainability
- Bugs – Potential issues detected by static analysis
- Security Hotspots – Areas that need security review
These issues are self-contained, have clear guidance, and help you learn the codebase while improving code quality.
-
Fork the repo and clone it locally:
git clone https://github.com/your-username/eudiplo.git cd eudiplo -
Install dependencies for the entire workspace:
corepack enable pnpm install -
Set up your environment for development:
cp .env.example .env # Optional: Set up Python environment for documentation pnpm run setup -
Start the application(s) you want to work on:
# Start just the backend pnpm --filter @eudiplo/backend run start:dev # Start just the client pnpm --filter @eudiplo/client run dev # Or start both with Docker Compose docker compose up -d
If you can't or don't want to install Node.js locally, use VS Code Dev Containers:
-
Prerequisites: Install Docker and VS Code with the Dev Containers extension
-
Clone and open in VS Code:
git clone https://github.com/your-username/eudiplo.git cd eudiplo code .
-
Reopen in Container: Press
F1→ "Dev Containers: Reopen in Container" -
Start development: Dependencies install automatically, then run
pnpm dev
See .devcontainer/README.md for more details.
This project uses Biome for code formatting and linting:
# Format your code
pnpm run format
# Check for linting issues
pnpm run lint
# Fix linting issues automatically
pnpm run lint:fixSee Code Quality Standards for detailed guidelines.
Before submitting:
- Code is tested and builds without errors
- Code formatting passes (
pnpm run format:check) - Linting passes (
pnpm run lint) - You've added/updated documentation as needed
- PR is focused on a single topic
Please create your PR against the main branch.
Documentation is in the docs/ folder and uses MkDocs. To work with documentation:
# Set up Python environment for documentation (one-time setup)
pnpm run setup:python
# Build documentation
pnpm run doc:build
# Serve documentation with live reload
pnpm run doc:watchThe documentation includes:
- User guides in
docs/getting-started/ - Developer guides in
docs/development/ - API documentation generated from code
- Architecture documentation
We follow a Code of Conduct to foster an inclusive and respectful environment. Please be kind and constructive.
- Open a discussion or issue on GitHub
- Contact the maintainers for guidance
Thanks for helping improve EUDIPLO!