A quality pipeline for React + TypeScript frontend and Java backend projects. Runs formatting, linting, type-checking, and tests locally and in CI.
├── Makefile # Local check commands
├── .github/workflows/quality-checks.yml # CI pipeline
├── engineering-workflow-and-quality-pipeline.md # Full workflow guide
└── input/
├── frontend/ # React + TypeScript project
└── backend/ # Java + Gradle project
Frontend
- Node.js 20+
- npm
- Project dependencies:
cd input/frontend && npm install
Backend
- Java 17+
- Gradle (via wrapper in
input/backend/)
make pr-readyThis runs the full pipeline in order:
| Step | Frontend | Backend |
|---|---|---|
| 1 | Prettier (auto-fix) | Spotless (auto-fix) |
| 2 | ESLint (auto-fix) | Compile |
| 3 | TypeScript type-check | Unit tests |
| 4 | Unit tests |
Frontend
make fe-format # Prettier auto-fix
make fe-lint # ESLint auto-fix
make fe-typecheck # TypeScript type-check
make fe-test # Unit testsBackend
make be-format # Spotless auto-fix
make be-compile # Compile
make be-test # Unit testsRun all checks for one side only
make frontend-checks
make backend-checksThe workflow at .github/workflows/quality-checks.yml triggers automatically on any push that changes files under input/.
It runs the same checks as local but in verify-only mode (no auto-fix). Frontend and backend checks run in parallel.
If all checks pass, the commit is tagged check-pass-<short-sha>.
No pull request is required.
See engineering-workflow-and-quality-pipeline.md for the full explanation of the branching model, check pipeline, and step-by-step walkthrough.