π Introduction
A fast Jenkins terminal companion β a rich interactive TUI plus focused scripting commands, with smart log highlighting and multi-server profiles.
jenkins-cli is a fast Jenkins terminal companion: a rich interactive TUI plus focused scripting commands, with smart log highlighting and multi-server profiles.
Target: Node >= 22, pure ESM.
β¨ Features
- Unified experience β quick one-liners plus an advanced full-screen explorer.
- Rich log intelligence β Docker, Git, JSON, diffs, test summaries, timestamps, levels, artifacts and more.
- Multi-server profiles with salvage of partially corrupted config.
- Incremental job traversal (BFS) with a safety cap (5000) for huge Jenkins instances.
- Smart emoji fallback on restricted terminals / CI.
- Zero heavy deps β just
commander,chalk,neo-blessed,highlight.js. - Modern β Node 22+, native fetch, ESM-first.
π¦ Install
npm i -g @kud/jenkins-cli # Global binary
# or project-local
npm i -D @kud/jenkins-cliBinary: jenkins
π Quick Start
# Configure once
jenkins config set --url https://ci.example.com --user alice --token $JENKINS_TOKEN
# See latest build status (pretty)
jenkins status my-pipeline --pretty
# Stream latest logs (follow)
jenkins logs my-pipeline -f
# Launch full-screen explorer (jobs | builds | logs)
jenkins --interactive
# Trigger with parameters
jenkins build my-pipeline --param BRANCH=feature-x --param CACHE=falseNeed JSON for scripts? Add --json. No icons / CI-safe? Set JENKINS_CLI_PLAIN=1.
π€ Why Another Jenkins CLI?
- Existing CLIs are bulky or incomplete for log exploration.
- Need fast traversal and multi-server context switching.
- Rich real-time log augmentation without external plugins.
- Modern Node (fetch, ESM) keeps the surface minimal.
πΊοΈ Roadmap Ideas
- In-log match navigation (cursor β exact line for search hits)
- Structured log export (JSON objects: timestamp, level, message)
- Richer pipeline / stage timing visualisation
- Inline artifact preview (JSON / text, maybe diff)
- Config encryption for tokens (optional)
Have a feature idea? Open an issue / PR.
Head to Usage for the full command reference.