# Development ## Prerequisites - Java 21 - Node.js and npm compatible with `frontend/package.json` - Docker Engine and Docker Compose for container testing ## Build and test From the repository root: ```bash cd backend ./gradlew clean build ``` This invokes the configured Gradle build, including frontend build tasks. ## Frontend development Frontend source code is located in `frontend/`. Install dependencies using the lockfile: ```bash cd frontend npm ci ``` Run the frontend development server using the project's configured npm scripts: ```bash npm start ``` If the project does not define a `start` script, inspect `frontend/package.json` and use its available script, such as `npm run`. ## Run the container From the repository root, after a successful build: ```bash docker compose up -d --build docker compose logs -f htop-web ``` ## Contribution guidelines - Keep changes focused and reviewable. - Do not commit generated build output or dependency directories. - Do not commit credentials, private keys, or local environment files. - Update documentation when build or runtime behavior changes. - Run the build before submitting changes.