Skip to main content
Version: 3.1.0 (Preview)

Developer Tools

Ambari development uses standard Git, Maven, Java, Python, and Node.js tooling. Select tools that can reproduce the repository’s configured versions and preserve the project’s checks.

Source Control

Use one branch for one coherent change, keep commits focused, and rebase from the intended upstream branch before review. Inspect status and the complete diff before committing so unrelated worktree changes are not included.

Useful aliases may be configured in .gitconfig:

[alias]
st = status
ci = commit
br = branch
co = checkout
lg = log --graph --decorate --oneline --all

Use the repository’s required JIRA key in branch, commit, and review metadata. Prefer non-interactive Git commands in scripts and automation.

Java and Maven

Use JDK 17 and the Maven wrapper or Maven version selected by the project. The root POM manages dependency and plugin versions. IDEs should import the Maven project rather than maintaining a separate dependency model.

Run a focused module or test while iterating, then run the appropriate broad verification before review. Keep generated targets and downloaded dependencies outside commits.

React Development

The primary UI in ambari-web/latest uses TypeScript, React 19, Vite, and Vitest. Use the package scripts for local development, production type/build checks, linting, and tests:

npm run dev
npm run build
npm run lint
npm run test

The Admin React application under ambari-admin/src/main/resources/ui/ambari-admin has its own package scripts and build lifecycle. Do not assume that a successful primary UI build verifies the Admin application.

Python Development

Agent Python dependencies and packaging are defined by the module pyproject.toml and lock files. Use the repository’s selected Python interpreter and locked dependencies; do not install ad hoc packages into the system interpreter or reintroduce removed vendored implementations.

Review Checks

Before review, run applicable Java, Python, React, and documentation checks; inspect licenses and dependency changes; and verify that credentials, private keys, cookies, and generated artifacts are absent. Record exact commands, skipped checks, and environment-dependent results in the review description.