aguiddir/claude-config/tree/main/plugins/ci-watch
이 mod 소개
프롬프트 위 띠에서 현재 브랜치의 Jenkins 빌드를 단계별로 따라갑니다. Claude Code 2.1.287+와 내부 Jenkins/SonarQube 서비스에 대한 네트워크 접근이 필요합니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add aguiddir/claude-config claude plugin install ci-watch
원문 / README
claude-config
My Claude Code setup, tuned for Opus 5.5 / Sonnet 5.5.
git clone [email protected]:aguiddir/claude-config.git ~/PycharmProjects/claude-config
cd ~/PycharmProjects/claude-config
./install.sh --dry-run # see what would change
./install.sh # apply; safe to re-run
Needs claude, python3 and git. npm is optional (Playwright CLI). Skip parts with --skip-plugins, --skip-mcp, --skip-playwright.
Just the desktop notifications
A notification when Claude finishes, fails, asks for a permission or asks a question. In herdr it names the workspace and the agent session, and stays quiet for the pane you are looking at. Each session keeps a single notification, replaced in place, that leaves the screen after a few seconds. Linux only (D-Bus notifications, tested on GNOME); needs jq.
/plugin marketplace add aguiddir/claude-config
/plugin install notify@claude-config
Titles are in French: edit the case in plugins/notify/scripts/notify.sh to change them.
Just the replay
After a turn that edited files, a band above the prompt offers to replay them: press r in an empty prompt, or type /replay any time. The edits show one diff at a time above the prompt; n and p step, q closes, the mouse wheel scrolls a long diff. Only Edit and Write calls are recorded, not changes made through Bash. Needs Claude Code 2.1.287 or later (mods).
/plugin marketplace add aguiddir/claude-config
/plugin install replay@claude-config
Messages are in French: edit the strings in plugins/replay/hooks/register.tsx to change them.
Just the CI watch
For Vidal repos built on jenkins.vidal.net. A band above the prompt follows the Jenkins build of the current branch, or of its PR (PR-<n>) when the branch has no job of its own: a progress bar from Jenkins' estimated duration, the stage running, each stage's state, and a link to the build. When the build ends, a toast gives its result. Once the build's own SonarQube stage has run, the band shows the quality gate of the branch or PR with the conditions that failed, read 30 seconds after the end so that it is this build's analysis, and a toast says when it fails. A finished build stays on the band for 15 minutes after it ends or after /ci, whichever is later, so /ci shows the build it finds however old. When the build fails or its gate is red, f in an empty prompt (until the next prompt you send; after that, ctrl+x tab then f, or the band's button) puts the failure in the prompt box, to read, edit and send yourself: the failed stage, the console's error lines and the gate's broken conditions. Sending that prompt attaches the last 150 lines of the console, out of the box.
It reads the repo and branch of the directory Claude Code runs in and polls Jenkins every 10 seconds, anonymously, from the Vidal network. /ci 231, /ci #231 or /ci <PR URL> follows that PR's job whatever the branch, /ci <path> follows another repo, /ci alone goes back to the session's directory; each answers with the build it found. Needs gh (to find the PR) and, for the quality gate, the SonarQube MCP server connected in Claude Code. Needs Claude Code 2.1.287 or later.
/plugin marketplace add aguiddir/claude-config
/plugin install ci-watch@claude-config
The Jenkins host and job folder (team.software/github) are set at the top of plugins/ci-watch/hooks/jenkins.ts.
Just the PR comments
A band above the prompt lists the open PRs of the repo that have unresolved review threads, in two groups, so it works from main too: those to work on (yours, and the current branch's whoever wrote it) and those you review (asked or already reviewed): 💬 à traiter : #89 (9) · en relecture : #73 (10). c in an empty prompt (while new threads have come in and no prompt has been sent since; otherwise /pr-review, or /pr-review 89 for one PR) opens them in a pane, one thread at a time: the code it is about, as a diff, and its whole conversation, badged ↩ répondu when the PR's author has the last word and obsolète when it is about older code. In the pane:
| Key | Does |
|---|---|
| n / p | next / previous thread |
| t | next PR, when several have threads |
| x | mark the thread, for f |
| a | mark every thread, or none once they all are |
| f | puts the marked threads (or the one shown) in the prompt box, to read, edit and send to Claude; once sent they are badged → Claude. When the PR is not on the current branch, the prompt tells Claude to check it out first (or use a worktree if changes are in progress). On your own PR it asks for one --fixup commit per commit corrected, then a push; on anyone else's, a local fix with no commit and no push |
| r | writes a reply, posted to GitHub on Enter; Esc gives it up and keeps the pane, as the field takes every letter meanwhile |
| v | resolves the thread on GitHub |
| o | opens the thread in the browser |
| q / Esc | closes the pane |
The keys work while the pane holds the keyboard; if it opened without it, ctrl+x tab or a click gives it. Replies and resolutions go through gh with your account, with no confirmation beyond the key. GitHub is asked every minute for the list of PRs (1 point of its 5000 an hour), and a PR's threads only when it changed, after a write to it, or every ten minutes in case someone else resolved one. Needs gh, logged in, and Claude Code 2.1.287 or later.
/plugin marketplace add aguiddir/claude-config
/plugin install pr-comments@claude-config
What's inside
| Path | Installed as | What it does |
|---|---|---|
| claude/CLAUDE.md | ~/.claude/CLAUDE.md (symlink) | Global instructions: autonomy, long sessions, pre-review format |
| claude/rules/git-commit.md | ~/.claude/rules/ (symlink) | Commit message rules: why over what, fixup commits for review changes |
| claude/statusline-command.sh | ~/.claude/ (symlink) | 3-line status line: repo/git/PR, context/cost, rate limits |
| claude/settings.json | merged into ~/.claude/settings.json | Auto mode, status line, Opus effort, theme |
| plugins.txt | claude plugin install | Marketplaces and plugins |
| plugins/notify/ | plugin notify@claude-config | Desktop notification (D-Bus) per hook event: done, error, permission, question |
| plugins/replay/ | plugin replay@claude-config | /replay (or r after a turn) steps through the last turn's Edit/Write calls as diffs above the prompt (a mod) |
| plugins/ci-watch/ | plugin ci-watch@claude-config | Band above the prompt following the current branch's Jenkins build stage by stage, with its Sonar quality gate (a mod) |
| plugins/pr-comments/ | plugin pr-comments@claude-config | Band and pane for the PR's unresolved review threads: send some to Claude, reply, resolve (a mod) |
Symlinked files take effect as soon as you edit them here. settings.json is merged instead of linked because Claude Code rewrites it (/config, /model); existing keys and permission rules are kept, and the previous file is saved as .bak.<date>.
The installer also sets up:
- codebase-memory-mcp: code knowledge-graph MCP server, from the release tarball after a SHA-256 check, registered for Claude Code only.
- jq in
~/.local/bin, from the release binary after a SHA-256 check, when it is not already installed. The notify plugin needs it. - Playwright agent CLI with its skills, when
npmis available.
Sources
- Status line: https://code.claude.com/docs/en/statusline
- Instruction files and rules: https://code.claude.com/docs/en/memory
- Opus 5.5 guidance: https://claude.dev/blog/getting-the-most-out-of-opus-5-5/
- Inspired by https://github.com/jcgay/dotfiles
