Files
parenthese/CONTRIBUTING.md
T
IliesAllaliandClaude Opus 5.5 6067cd0174 CONTRIBUTING, SECURITY et modèles GitHub en anglais, CHANGELOG 1.0.0
Les versions françaises passent dans CONTRIBUTING.fr.md et SECURITY.fr.md.
Convention mise à jour : tout texte visible passe par t() avec sa traduction.
Modèles d'issue et de pull request en anglais, le français reste accepté.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:18:37 +02:00

2.1 KiB

Contributing to Parenthèse

Version française

Parenthèse is maintained by one person. Feedback is welcome, and a few pointers save everyone time. You can write in English or in French.

Before writing code

  • A bug or an idea: open an issue with the matching template.
  • A security issue: no public issue, follow SECURITY.md.
  • For any change bigger than a fix, talk about it in an issue first. A pull request that wasn't discussed may be declined, even a careful one.
  • Prefer small, focused pull requests: one topic per PR, a diff that can be reviewed in a few minutes.

Running the project locally

Everything is in the "Development" section of the README.

Tests

Before opening a pull request, run what the CI checks:

npm --prefix frontend ci && npm --prefix frontend run lint && npm --prefix frontend test && npm --prefix frontend run build
npm --prefix landing ci && npm --prefix landing test && npm --prefix landing run build
npm --prefix backend ci && npm --prefix backend run prisma:generate && npm --prefix backend run build && npm --prefix backend test

The CI also checks that the Prisma migrations apply to an empty database and reproduce backend/prisma/schema.prisma exactly. Any schema change therefore comes with a migration (npm --prefix backend run prisma:migrate).

If you touch Docker or nginx, run docker compose up -d --build then bash tools/docker-smoke.sh http://localhost.

Conventions

  • The interface is in French and English. Every visible text goes through t() from frontend/src/i18n/index.js, with the French text as the key and its English entry in frontend/src/i18n/en/. A test fails if an English entry is missing.
  • No new heavy dependency (framework, UI library, external service) without discussing it in an issue.
  • The README promise holds: no ads, and no analytics turned on by default on a self-hosted instance.

License

Parenthèse is published under PolyForm Noncommercial 1.0.0. By submitting a contribution, you agree that it is published under the same license.