Skip to content

feat(qoder-cn): hooks support - #145

Merged
RealZST merged 3 commits into
mainfrom
feat/qoder-cn-hooks
Sep 25, 2026
Merged

RealZST merged 3 commits into
mainfrom
feat/qoder-cn-hooks

Conversation

@RealZST

@RealZST RealZST commented Sep 25, 2026

Copy link
Copy Markdown
Owner

Closes #142

Adds hooks support for Qoder CN, the last piece of the first-PR scope agreed in #142.

What

  • Qoder CN keeps hooks under the hooks key of settings.json (user) and .qoder/settings.json (project). The shape and event names match Claude Code (hooks reference), so the adapter reuses the Claude parser and event table.
  • The Claude hooks parser moves into a shared read_claude_like_hooks(). Claude's behaviour is unchanged.
  • README: tick Hooks for Qoder CN, and drop the Devin Desktop sentence from the matrix footnote.

Checked against Qoder CLI CN 1.1.63

  • Qoder's own /hooks panel lists hooks written by HarnessKit, with the right event and matcher.
  • A user-level PreToolUse / Bash hook installed from HarnessKit fires when Qoder runs Bash.
  • A project-level UserPromptSubmit hook fires too. Folder trust does not gate it by default: the runtime reads security.folderTrust.enabled ?? false.
  • Enable/disable from HarnessKit removes and restores the entry in Qoder's settings.json, keeping mcpServers and other keys.

Testing

  • cargo test -p hk-core (709), npm test (312), biome and tsc pass.

Follow-ups still open from #142

  • International Qoder (~/.qoder), left for someone who can verify it on a real install.
  • Project-level MCP: merge .qoder/settings.json, .mcp.json and .qoder/settings.local.json in Qoder's documented order.
  • Honour QODERCN_CONFIG_DIR, which overrides ~/.qoder-cn.
  • qoder-knowledge/, as a config-file category on the agent page.

🤖 Generated with Claude Code

RealZST and others added 3 commits September 26, 2026 00:45
Move ClaudeAdapter's settings.json hooks reader into a crate-level
read_claude_like_hooks() so other agents with the same format can reuse it.
Behaviour is unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Qoder CN keeps hooks under the `hooks` key of settings.json (user) and
.qoder/settings.json (project), in the same shape and with the same event
names as Claude Code. Reuse the Claude parser and event table.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Tick the Hooks column for Qoder CN and drop the Devin Desktop sentence from
the support matrix footnote in both READMEs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@RealZST
RealZST merged commit 526de09 into main Sep 25, 2026
3 checks passed
@RealZST
RealZST deleted the feat/qoder-cn-hooks branch September 25, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Question: would you accept a Qoder adapter contribution?

1 participant