Clock in your dev work — sync GitLab activity to Jira worklogs with interactive confirmation
npx claudepluginhub ighost-p/punchClock in your dev work. Reads GitLab commits, MRs, code reviews, and issues — then logs time to Jira with your approval.
◯ ─────────── ◯
P U N C H
◯ ─────────── ◯
Clock in your dev work.
A Claude Code plugin that reads your GitLab activity and syncs it to Jira — worklogs, status transitions, comments. One command. Your approval.
Developers shouldn't be timekeepers. Your Git history already knows what you did.
Punch bridges the gap between where you work (GitLab) and where you report (Jira). It reads your commits, MRs, reviews, and issue activity — then proposes a complete Jira sync. Nothing writes without your explicit OK.
Most developers log worklogs at end-of-day from memory. Punch does it from evidence.
GitLab Jira
commits --> worklogs
merge requests --> status transitions
code reviews --> comments
issue activity |
v
+-----------+
| PREVIEW |
| you edit |
| you OK |
+-----------+
One preview. Three types of updates. Full control.
/punch:sync today
What just happened?
/punch:sync -> Fetched 7 commits, 2 MRs, 3 reviews
-> Detected PROJ-101, PROJ-205, PROJ-310
-> Learned your Korean freetext worklog style
-> Proposed 3 worklogs, 2 transitions, 1 comment
-> You approved with "확인"
-> Done. 5h 30m logged across 3 issues.
Step 1 — Install the plugin (in your terminal):
claude plugin marketplace add IGhost-P/punch
claude plugin install punch@punch
Step 2 — Run setup (inside a Claude Code session):
/punch:setup
Setup detects your existing tools first. Already have GitLab/Jira MCP? Punch uses them as-is — no extra tokens, no extra servers. If tools are missing, setup automatically registers them in your MCP config.
Step 3 — Sync your day:
/punch:sync today
Punch detects and uses whatever GitLab/Jira tools are available. MCP first, REST API fallback for GitLab:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Punch Setup — Tool Detection
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GitLab [✓] ready via Cursor GitLab plugin
Jira [✓] ready via Confluence MCP
Both tools available — no setup needed!
If nothing is found, setup auto-registers the MCP servers:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MCP 서버 등록 완료
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GitLab [✓] ~/.cursor/mcp.json 에 추가됨
Jira [-] 이미 존재 (mcp-atlassian)
| Source | GitLab | Jira | Notes |
|---|---|---|---|
| MCP tools (any source) | ✓ | ✓ | Richest integration |
| REST API (curl) | ✓ | — | Always works with token |
| Cursor MCP settings | ✓ | ✓ | uvx-based |
| Claude Code MCP | ✓ | ✓ | uvx-based |
GitLab REST API is a first-class method. MCP servers can error due to process spawning issues. REST API (curl + token) is 100% reliable.
This is what you see before anything is written:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Punch Sync — 2026-03-12
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Worklogs:
├─ 1 PROJ-101 3h 45m 5 commits, MR !42 merged
│ "Dashboard 위젯 구현 및 MR !42 머지"
│
├─ 2 PROJ-205 1h 30m 2 commits
│ "API 응답 처리 수정"
│
└─ 3 PROJ-310 15m 1 issue comment
"성능 튜닝 이슈 코멘트"
Issue Updates:
├─ 4 PROJ-101 In Progress → Done MR !42 merged
└─ 5 PROJ-310 To Do → In Progress branch created
Comments:
└─ 6 PROJ-101 MR !42 merged → main (+230/-45)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3 worklogs · 2 transitions · 1 comment
Total: 5h 30m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
이대로 진행할까요?
Your options:
| Input | What happens |
|---|---|
| "확인" / "yes" | Execute all |
| "1번 2시간으로" | Adjust time for entry #1 |
| "#5 빼줘" | Remove entry #5 |
| "워크로그만" | Execute only worklogs section |
| "코멘트 빼줘" | Skip all comments |
| "취소" | Abort — nothing is written |
All commands run inside a Claude Code session. Run
/punch:setupafter installation to verify tools.
Open Design — local-first design app exposed to coding agents over MCP. Install once with your agent's plugin command and projects/files/skills are reachable through stdio.
Claude Code plugins for the Slidev presentation framework
Bundled plugins for actuating and debugging the Chrome browser.