loading…
Search for a command to run...
loading…
A MCP server for OneDev for CI/CD pipeline editing, issue workflow automation, and pull request review
A MCP server for OneDev for CI/CD pipeline editing, issue workflow automation, and pull request review
TOD (TheOneDev) is a powerful command-line tool for OneDev 15.1+ that streamlines your development workflow by letting you run CI/CD jobs against local changes, check out pull requests into a local working directory, query and edit issues/PRs/builds, and drive all of the above from AI agents via shipped skill files.
tod build run --local, --branch, or --tag).tod pr checkout)..onedev-buildspec.yml to the latest version
(tod build check-spec).tod.curl -fsSL https://code.onedev.io/onedev/tod/~raw/main/install.sh | bash
The script detects your platform and architecture, downloads the matching
binary, and installs it to a directory on your PATH (overwriting an existing
tod if one is already installed). To choose a different location, set
INSTALL_DIR:
INSTALL_DIR=~/bin curl -fsSL https://code.onedev.io/onedev/tod/~raw/main/install.sh | bash
irm https://code.onedev.io/onedev/tod/~raw/main/install.ps1 | iex
The script downloads tod.exe for your architecture and installs it to a
directory on your PATH (overwriting an existing install if found). To choose
a different location:
$env:INSTALL_DIR = "$HOME\bin"; irm https://code.onedev.io/onedev/tod/~raw/main/install.ps1 | iex
Requirements: Go 1.22.1 or higher.
git clone https://code.onedev.io/onedev/tod.git
cd tod
go build
Run tod config set to create or update the config file interactively. Each
property is prompted for in turn — the current server URL is shown in
[brackets] as a default (press Enter to keep it, or type a new value to
replace it), and the access-token prompt is always blank (press Enter to
keep the existing token, or type a new one to replace it):
tod config set
# OneDev server URL [https://onedev.example.com]: ...
# OneDev personal access token (press Enter to keep existing): ...
For scripts and other non-interactive setups, pass the property name and value positionally to update one property at a time without prompts:
tod config set server-url https://onedev.example.com
tod config set access-token your-personal-access-token
tod config get prints the active configuration (with the token redacted)
and tod config get <property name> prints a single property. Property
names are server-url and access-token. tod config path prints the
path being used.
The config file is searched at the following locations (first match wins):
$XDG_CONFIG_HOME/tod/config~/.config/tod/configIt uses INI format and is written with mode 0600:
server-url=https://onedev.example.com
access-token=your-personal-access-token
# Run CI job against your uncommitted changes
cd /path/to/onedev-git-repository
tod build run --local ci
# Run ci job against the main branch
tod build run --branch main ci
# Check out pull request PROJ-123 into the current working directory
tod pr checkout PROJ-123
# Query open issues assigned to you
tod issue list --query 'assignee is me and state is "Open"'
# Inspect the most recent failing build for a project
tod build list --query 'not(successful)' --count 1
tod build get <ref>
tod build get-log <ref>
See cli.md for the full command reference.
TOD ships nine tool-agnostic SKILL.md files under skills/ that
teach AI agents how to drive common OneDev workflows through the CLI:
using-tod — umbrella guide for any OneDev interaction via todedit-build-spec — create or edit .onedev-buildspec.ymlinvestigate-build-failure — debug a failing buildreview-pull-request — perform a structured pull request reviewgenerate-commit-message — compose a commit message that respects the
project's commit-message requirement and the active issuework-on-issue — create the issue branch on the server, switch the local
checkout to it, read the issue, and implement the worksubmit-issue-work — commit pending changes, push the issue branch, attach
to an existing open PR for the issue when one exists, otherwise open a pull
requestwork-on-pull-request — check out a PR on its source project, address
review or CI feedback locally, and draft push-dependent repliessubmit-pull-request-work — commit pending changes, push to update an
existing pull request, then post deferred replies so notifications match
visible commitsSee skills/README.md for how to install these into Claude
Code, Codex, Cursor, or any other agent that reads SKILL.md files.
If OneDev is running behind Nginx, disable HTTP buffering for log streaming:
location /~api/streaming {
proxy_pass http://localhost:6610/~api/streaming;
proxy_buffering off;
}
See the OneDev Nginx setup documentation for details.
If the job accesses job secrets, make sure the authorization field is cleared to allow all jobs. Setting authorization to allow all branches is not sufficient — local changes are pushed to a temporal ref that does not belong to any branch.
TOD is part of the OneDev ecosystem. For contributions, issues, and feature requests, visit the OneDev project.
See license.txt.
Выполни в терминале:
claude mcp add theonedev-tod -- npx pro-tip
Поставил theonedev/tod? Скажи Claude: «запомни почему я установил theonedev/tod и что хочу попробовать» — попадёт в твой Vault.
как это работает →CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.