1.4 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
zzpyjenkins is a CLI tool to interact with Jenkins servers for building jobs. It wraps the python-jenkins library with a user-friendly CLI using Click and rich terminal output.
Development Commands
# Install dependencies
uv sync
# Run the CLI
uv run zzpyjenkins --help
# Format code
uv run ruff format .
# Lint
uv run ruff check .
# Run tests
uv run pytest
Architecture
-
src/zzpyjenkins/cli.py: Click-based CLI entry point. Defines commands (info,list,build,status,watch) and handles parameter parsing. Usesget_client()to createJenkinsClientfrom environment variables. -
src/zzpyjenkins/jenkins_client.py:JenkinsClientclass that wrapspython-jenkinslibrary. Handles all Jenkins API interactions and formats output using Rich (tables, colored status).
Configuration
Credentials are read from ~/.config/zzpyjenkins/config.toml. Create this file with your Jenkins server configurations:
[work]
url = "https://jenkins.work.com"
username = "myuser"
password = "mypassword"
[home]
url = "http://localhost:8080"
username = "admin"
password = "admin123"
Use -s/--server option to select which server to use:
zzpyjenkins -s work info
zzpyjenkins --server home list