React + TypeScript web app for checking KNCB player eligibility, dispensation triggers, Article 24 exceptions, and source-cited rules questions.
The app is source-locked to the supplied 2026 documents:
2026-Competition-Rules.pdf2026-Playing-Conditions-Mannen-Eendaagse-competities-Lagere-Klassen-2026-v.7mei26.pdf
Install dependencies:
npm installRun the local development server:
npm run dev -- --port 5173Open:
http://127.0.0.1:5173/
Create a production build:
npm run buildPreview the production build locally:
npm run preview -- --port 4173Open:
http://127.0.0.1:4173/
Check high and critical dependency vulnerabilities:
npm run security:auditFor the full JSON audit output:
npm run security:audit:jsonThe top-right CVE banner uses src/data/securitySummary.ts. Update that file after a new audit if high or critical findings appear.
Dispensation Checker: Enter player details, previous match history, and target match details. The app returnsDispensation Required,Dispensation Not Required, orManual Review Needed.Article 24 Exception: Separately checks the 7-calendar-day Saturday/Sunday ban and the youth or regular lower-team exceptions.Rules Q&A: Ask natural-language questions. Answers cite the Competition Rules or Playing Conditions and include formatted retrieved source sections.
src/
App.tsx
main.tsx
styles.css
data/
documentCorpus.ts
rules/
qaEngine.ts
ruleReferences.ts
rulesEngine.ts
public/
hjcc-logo.png
Before committing, run:
npm run buildCommit the source files, package.json, package-lock.json, and README.md. Do not commit node_modules or dist.
The rules logic is intentionally separated in src/rules/rulesEngine.ts so future KNCB rule changes can be updated without rewriting the UI.