Skip to content

Latest commit

 

History

History
80 lines (51 loc) · 2 KB

File metadata and controls

80 lines (51 loc) · 2 KB

Contributing to LearnMate

Thank you for your interest in contributing to LearnMate. This document outlines the guidelines for contributing to this project.

Project Status

⚠️ Stabilization Phase

LearnMate is currently in a stabilization and hardening phase before archival. We are focused on fixing bugs, security issues, and technical debt — not adding new features.

Contribution Guidelines

What We Accept

  • 🐛 Bug fixes with clear reproduction steps
  • 🔒 Security patches (please follow responsible disclosure)
  • 📚 Documentation improvements
  • 🧹 Code quality improvements (linting, type safety, test coverage)

What We Do NOT Accept

  • ❌ New features
  • ❌ Major refactors
  • ❌ UI redesigns
  • ❌ Dependency upgrades without justification

How to Contribute

1. Open an Issue First

Before writing code, open an issue describing:

  • What problem you're solving
  • Your proposed approach
  • Expected impact

Wait for maintainer approval before proceeding.

2. Fork and Branch

git checkout -b fix/issue-number-short-description

3. Make Changes

  • Follow existing code style
  • Keep changes focused and minimal
  • Update documentation if needed

4. Submit PR

  • Reference the issue number
  • Fill out the PR template completely
  • Ensure CI passes

5. Review Process

  • Maintainer will review within 7 days
  • Address feedback promptly
  • Be patient — this is a volunteer project

6. CI Expectations

Pull requests must pass all required GitHub Actions checks (backend tests and frontend build).

Preview deployments (e.g. Vercel) are non-blocking and may fail due to missing authorization. These failures do not prevent merges.

Code Standards

  • Backend: Express.js conventions, async/await
  • Frontend: React functional components, hooks
  • AI Service: PEP 8, type hints welcome

Questions?

Open a Discussion or Issue. Do not email maintainers directly.


By contributing, you agree to the project's Code of Conduct.