Skip to content

Contributing

Thank you for your interest in contributing to IncLearn!

Ways to Contribute

  1. Spread the word - Share on social media
  2. Provide accessibility feedback - Help us improve accessibility
  3. Contribute code - Fix bugs, add features

Prerequisites

  • Python 3.13+
  • Node.js 24+
  • Docker & Docker Compose 2.30+
  • bun
  • uv
  • lefthook

Development Setup

See Setup for detailed setup instructions.

Pull Request Guidelines

Branch Naming

Use descriptive branch names with prefixes:

  • feat/ - New features
  • fix/ - Bug fixes
  • docs/ - Documentation
  • refactor/ - Code refactoring
  • test/ - Tests
  • chore/ - Maintenance

Commit Messages

Follow conventional commits:

feat: add user authentication
fix: resolve login redirect issue
docs: update API documentation

Before Submitting

  1. Run lint and format checks:
# Server
cd server && uv run ruff check src/

# Web
cd web && bun run check
  1. Pre-commit hooks will run automatically; ensure they pass.

  2. Test your changes locally.

PR Description

  • Summarize the changes made
  • Link related GitHub issues
  • Describe testing done

Documentation

The documentation is built with MkDocs and zensical CLI.

Commands

  • zensical serve - Start live-reloading docs server
  • zensical build - Build the documentation site

Docs Location

  • Source: docs/docs/
  • Configuration: docs/mkdocs.yml

Code of Conduct

Please read our Code of Conduct before contributing.