redmine-cli
A command-line interface for Redmine project management.
English ·
简体中文 ·
日本語
Installation ·
Getting Started ·
AI Agents
## Installation
### Homebrew (macOS & Linux)
```bash
brew tap aarondpn/tap
brew install redmine
```
This also installs shell completions for bash, zsh, and fish.
### Quick Install Script
```bash
curl -fsSL https://raw.githubusercontent.com/aarondpn/redmine-cli/main/install.sh | bash
```
Auto-detects your OS and architecture, downloads the latest release with checksum verification, and installs to `~/.local/bin`. If a recent [GitHub CLI](https://cli.github.com) is installed and logged in, it also verifies the release's build attestation with `gh attestation verify` and refuses to install if that fails. Without such a `gh`, it installs after the checksum check only and prints a warning with the command to verify the release yourself. Set `REDMINE_CLI_VERSION=` to install a specific release; releases older than v2.11.2 have no attestations, so pinning one of them with a logged-in `gh` also needs `REDMINE_CLI_SKIP_ATTESTATION=1`. See the [installation docs](https://redmine-cli.dev/getting-started/installation/) for details.
### Install with Go
```bash
go install github.com/aarondpn/redmine-cli/v2/cmd/redmine@latest
```
### Manual Download
Grab the latest release for your platform from [GitHub Releases](https://github.com/aarondpn/redmine-cli/releases/latest):
| Platform | Architecture | Download |
|---------------|-------------|----------|
| Linux | x86_64 | `redmine-cli-linux-amd64.tar.gz` |
| Linux | ARM64 | `redmine-cli-linux-arm64.tar.gz` |
| macOS | Intel | `redmine-cli-darwin-amd64.tar.gz` |
| macOS | Apple Silicon | `redmine-cli-darwin-arm64.tar.gz` |
| Windows | x86_64 | `redmine-cli-windows-amd64.zip` |
### Updating
```bash
redmine update
```
Downloads the latest release and verifies its SHA256 checksum and its GitHub artifact attestation (SLSA provenance from this repository's release workflow, verified via Sigstore) before replacing the binary. The update is refused if either check fails; `--skip-attestation` falls back to checksum-only verification with a warning.
## Getting Started
```bash
# Configure your Redmine server and API key
redmine auth login
# List issues
redmine issues list
# View a specific issue
redmine issues view 123
# Log time
redmine time log
# Script it: JSON output filtered with the built-in --jq
redmine issues list --project myproject --jq '.[].id'
redmine issues get 123 --jq '.status.name'
```
Run `redmine --help` to see all available commands.
`-o json` prints machine-readable JSON, and `-q/--jq ` filters it (strings are printed raw, everything else as JSON). Errors always go to stderr; in JSON mode they are a single-line `{"error": {...}}` envelope on the last line of stderr, stdout stays empty and the exit code is non-zero. See [Output formats](https://redmine-cli.dev/guides/output-formats/).
## Using with AI Agents
redmine-cli ships an [Agent Skill](https://agentskills.io) (the open `SKILL.md` standard, supported by 35+ agents) and a built-in MCP server. Both are vendor-neutral - pick the one-liner that matches your tool:
| Tool | One-line install |
|---|---|
| **Any agent (skill)** | `npx skills add aarondpn/redmine-cli` |
| **Any MCP host** | `redmine mcp serve` (then add to host config) |
| **Docker (MCP only)** | `docker run -i --rm -e REDMINE_SERVER -e REDMINE_API_KEY ghcr.io/aarondpn/redmine-mcp` |
| **Claude Code** | `/plugin marketplace add aarondpn/redmine-cli` then `/plugin install redmine` |
| **Codex CLI** | `codex plugin marketplace add aarondpn/redmine-cli` then `/plugins` (install **Redmine** from the added marketplace) |
| **Gemini CLI** | `gemini extensions install https://github.com/aarondpn/redmine-cli` |
The skill teaches the agent the non-obvious parts of the CLI (output formats, name resolution, pagination, common workflows). The MCP server exposes the same operations as typed tool calls, read-only by default, with per-group / per-tool allow- and deny-lists.
Full configuration, host-specific snippets (Claude Desktop, Cursor, Zed, VS Code), and write-tool gating: see the [AI Agent Integration guide](https://redmine-cli.dev/guides/ai-agents/).
## Development
Local E2E testing against a real Redmine instance (Docker, supported on Redmine `4.2`, `5.1`, `6.1`, `7.0`): see [e2e/README.md](e2e/README.md).