mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-10 15:52:14 +00:00
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>
2.1 KiB
2.1 KiB
Contributing to Parenthèse
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()fromfrontend/src/i18n/index.js, with the French text as the key and its English entry infrontend/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.