--- description: Check project prerequisites, offer to install missing tools, and configure git hooks. --- ## User Input ```text $ARGUMENTS ``` You **MUST** consider the user input before proceeding (if not empty). ## Outline 1. Read the `README.md` to understand the project's requirements. 2. Check if the following tools are installed and report their status: - **Just** task runner — run `just --version` - **Java JDK 25** — run `java --version` - **Maven** (or `mvnw` wrapper) — run `./mvnw --version` from `etl/` - **Node.js 22+** — run `node --version` - **pnpm** — run `pnpm --version` - **Python 3.x** — run `python3 --version` or `python --version` - **uv** (Python package manager) — run `uv --version` - **pre-commit** — run `pre-commit --version` - **commitizen** — run `cz version` - **Podman** (or Docker) — run `podman --version` or `docker --version` - **docker-compose** — run `docker-compose --version` 3. Present a summary table to the user showing each tool, its required version, and whether it is installed (with detected version) or missing. 4. For any missing tools, suggest installation commands but do NOT install them without the user's approval. 5. After the user has confirmed prerequisites are met, run the setup: - Run `just setup` to install commitizen and pre-commit globally and configure git hooks. - If `just` is not available, run the equivalent commands manually: - `pnpm install -g commitizen` - `pnpm install -g pre-commit` - `pre-commit install` - `pre-commit install --hook-type commit-msg` - `pre-commit install --hook-type pre-push` 6. Verify hooks are installed: - Check that `.git/hooks/pre-commit` exists - Check that `.git/hooks/commit-msg` exists (required for commitizen conventional commit validation) - Check that `.git/hooks/pre-push` exists 7. Report the setup result to the user.