Skip to content

Contributing

See CONTRIBUTING.md for the full contribution guide.

Quick Reference

Prerequisites

  • Java 21+
  • Maven 3.9+
  • Node.js 22+

Build and Test

# Full build
./build.sh

# Engine tests
cd engine && mvn test

# UI lint + tests
cd ui && npm run lint && npm test

Coding Standards

Engine (Java):

  • Pure Java library — no framework dependencies
  • Records for immutable data types
  • All engine methods return new state (never mutate input)
  • JUnit 5 for tests

UI (React/TypeScript):

  • Named exports, function declarations
  • TypeScript strict mode
  • Plain CSS with PatternFly CSS variables
  • ESLint with typescript-eslint + react-hooks
  • Vitest for tests

CI Checks

All PRs must pass:

  • Engine Build + Testmvn clean install
  • UI Lint + Build + Testnpm run lint, npm test, npm run build