Skip to content

feat: add Trae hook support - #284

Merged
benym merged 1 commit into
rpamis:masterfrom
googs1025:feat/issue-269-trae-hooks
Aug 7, 2026
Merged

feat: add Trae hook support#284
benym merged 1 commit into
rpamis:masterfrom
googs1025:feat/issue-269-trae-hooks

Conversation

@googs1025

@googs1025 googs1025 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add Trae and Trae CN as hook-capable platforms using Trae hooks.json locations.
  • Install, inspect, uninstall, and bundle-distribute managed Hook Router entries for Trae hooks.
  • Bump release metadata to 0.4.0-beta.17 and document the user-visible change.

Test Plan

  • npx vitest run test/repository/release-metadata.test.ts test/app/cli-help.test.ts test/domains/bundle/bundle-platform.test.ts test/domains/bundle/bundle-distribute.test.ts test/domains/skill/skills.test.ts test/domains/skill/platform-inspect.test.ts test/domains/skill/uninstall.test.ts test/platform/detect.test.ts
  • pnpm lint
  • pnpm build
  • git diff --check

Notes

  • Full pnpm test was attempted locally but did not complete cleanly in this sandbox due to environment-sensitive failures unrelated to Trae hook paths: Git commit signing could not access ~/.gnupg, local 127.0.0.1 listen was denied, temporary path assertions differed by /private/var vs /var, and update tests resolved npm through an invalid local golint/npm path.
  • Comet-generated docs/comet runtime/archive artifacts are intentionally not included in this PR.

Summary by Sourcery

Add managed Trae and Trae CN hook support across install, inspect, uninstall, and bundle workflows.

New Features:

  • Support installing managed Trae and Trae CN hooks using platform hooks.json files with grouped PreToolUse commands and versioning.
  • Enable bundle compilation and distribution to plan and write Trae hook router entries with executable confirmation and timeouts.
  • Extend platform metadata and detection to recognize Trae hook capabilities and configuration directories, including distinct global config roots for Trae CN.

Enhancements:

  • Add Trae-specific hook inspection and removal logic that preserves user-owned hook configuration while managing Comet-installed commands.
  • Generalize platform config directory resolution to support separate global config roots via a new globalConfigDir field.

Documentation:

  • Document Trae hook support and version bump in the changelog for release 0.4.0-beta.17.

Tests:

  • Add install, uninstall, inspection, bundle, and detection tests covering Trae and Trae CN hook behavior, including malformed and invalid configuration cases.
  • Update CLI help and release metadata tests for the 0.4.0-beta.17 version bump.

Chores:

  • Bump package and manifest versions to 0.4.0-beta.17.

Summary by CodeRabbit

  • New Features

    • Added managed Hook Router support for Trae and Trae CN.
    • comet init, update, doctor, and uninstall now manage project and global Trae hook configurations.
    • Preserves user settings and unrelated hooks during installation, updates, and removal.
    • Adds reliable hook execution with a 30-second timeout.
  • Documentation

    • Added release notes for version 0.4.0-beta.17.
  • Chores

    • Updated the application version to 0.4.0-beta.17.

@sourcery-ai

sourcery-ai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds managed Trae / Trae CN hook support across install, bundle, inspect, and uninstall flows, including Trae-specific hook JSON handling and global vs project config routing, plus version bump to 0.4.0-beta.17.

Sequence diagram for Trae hook installation flow

sequenceDiagram
  actor User
  participant CometCLI
  participant PlatformInstall as installCometHooksForPlatform
  participant Platforms as getPlatformConfigDir
  participant TraeInstall as installTraeHooks
  participant Settings as readSettingsJsonObject
  participant HooksMerge as mergeHookGroups
  participant FS as writeFile

  User ->> CometCLI: run comet init/update
  CometCLI ->> PlatformInstall: installCometHooksForPlatform(baseDir, platform, scope, hooksConfig)
  PlatformInstall ->> Platforms: getPlatformConfigDir(platform, scope)
  Platforms -->> PlatformInstall: platformBase
  alt hookFormat is trae
    PlatformInstall ->> TraeInstall: installTraeHooks(baseDir, platformBase, skillsDir, hooksConfig, platform.name, context)
    TraeInstall ->> Settings: readSettingsJsonObject(hooksPath, platformName)
    Settings -->> TraeInstall: hooksFile
    TraeInstall ->> HooksMerge: mergeHookGroups(existingPreToolUse, preToolUseEntries, managedHookScriptPaths(hooksConfig))
    HooksMerge -->> TraeInstall: mergedGroups
    TraeInstall ->> FS: writeFile(hooksPath, JSON.stringify(hooksFile), utf-8)
    FS -->> TraeInstall: ok
    TraeInstall -->> PlatformInstall: { status: installed }
  else other hookFormat
    PlatformInstall ->> PlatformInstall: handle other formats
  end
  PlatformInstall -->> CometCLI: HookInstallResult
  CometCLI -->> User: report hook installation status
Loading

File-Level Changes

Change Details Files
Add Trae-specific hook installation, inspection, and uninstall logic using hooks.json PreToolUse groups with versioned settings and managed command entries.
  • Extend installCometHooksForPlatform to support a new 'trae' hookFormat and to allow global installs only for Trae via platform.globalConfigDir.
  • Implement installTraeHooks to read/merge hooks.json, group handlers by matcher into PreToolUse entries, set default version, and write managed command hooks with 30s timeouts.
  • Implement removeTraeHooks to remove only managed Trae commands from PreToolUse while preserving user-defined handlers, groups, and metadata, and to handle malformed or missing hooks.json safely.
  • Add countTraeHookMatches and Trae inspection wiring so inspectCometHooksForPlatform can detect managed Trae hooks using grouped PreToolUse handlers.
domains/skill/platform-install.ts
domains/skill/uninstall.ts
domains/skill/platform-inspect.ts
test/domains/skill/skills.test.ts
test/domains/skill/uninstall.test.ts
test/domains/skill/platform-inspect.test.ts
Wire Trae and Trae CN as hook-capable platforms with correct project/global config roots and bundle integration.
  • Extend Platform and PlatformInstallFile types to allow a 'trae' hookFormat and platform.globalConfigDir, and mark Trae / Trae CN as supportsHooks with hookFormat 'trae'.
  • Update getPlatformConfigDir to respect globalConfigDir for global installs, and ensure Trae CN uses .trae for project config and .trae-cn for global config.
  • Update bundle hookDestination and applyHookInstallFile to route Trae hooks to hooks.json under the platform root, merging PreToolUse groups and setting version/timeout.
  • Add bundle compiler and distribution tests to validate Trae hook planning, destination paths, verify.mjs command wiring, and executable confirmation behavior.
  • Extend platform detection tests to assert Trae CN hook support metadata, including configDir and globalConfigDir.
platform/install/platforms.ts
domains/bundle/bundle-platform.ts
domains/bundle/types.ts
test/domains/bundle/bundle-platform.test.ts
test/domains/bundle/bundle-distribute.test.ts
test/platform/detect.test.ts
Update tests and release metadata for Trae hook support and the 0.4.0-beta.17 version bump.
  • Add skills and uninstall tests covering Trae hook install behavior (versioned PreToolUse groups, Trae CN dual config roots, invalid JSON preservation) and uninstall behavior (removal of managed hooks only).
  • Update platform-inspect tests to cover Trae / Trae CN managed hook detection and removal behavior.
  • Bump package, manifest, and lockfile versions to 0.4.0-beta.17 and align CLI help and release metadata tests with the new version.
  • Add CHANGELOG entry documenting Trae hook support in comet init/update/doctor/uninstall.
test/domains/skill/skills.test.ts
test/domains/skill/uninstall.test.ts
test/domains/skill/platform-inspect.test.ts
assets/manifest.json
package.json
package-lock.json
test/app/cli-help.test.ts
test/repository/release-metadata.test.ts
CHANGELOG.md

Possibly linked issues

  • #feat: trae and trae cn hook support: PR fully implements the requested Trae/Trae CN hook support in comet init/update and related commands.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This change adds Trae and Trae CN Hook Router support. Installation, inspection, distribution, and uninstall manage grouped PreToolUse entries in project or global hooks.json files while preserving user-owned configuration.

Changes

Trae Hook Router lifecycle

Layer / File(s) Summary
Platform configuration and bundle generation
platform/install/platforms.ts, domains/bundle/*, domains/comet-entry/*, test/domains/bundle/*, test/domains/comet-entry/*, test/platform/detect.test.ts
Trae and Trae CN gain hook formats, project/global paths, bundle destinations, and runtime identifiers. Generated hooks use PreToolUse command entries with a 30-second timeout.
Hook installation and inspection
domains/skill/platform-install.ts, domains/skill/platform-inspect.ts, test/domains/skill/skills.test.ts, test/domains/skill/platform-inspect.test.ts
Installation merges managed Trae hooks into hooks.json. Inspection validates matchers, command types, commands, and positive timeouts.
Managed hook removal
domains/skill/uninstall.ts, test/domains/skill/uninstall.test.ts, test/domains/skill/platform-inspect.test.ts
Uninstall removes managed Trae entries while preserving user settings, unrelated hooks, and metadata. Shared grouped-hook filtering also supports Gemini cleanup.
Release metadata and validation
package.json, assets/manifest.json, CHANGELOG.md, test/app/cli-help.test.ts, test/repository/release-metadata.test.ts, assets/skills/comet/scripts/comet-hook-router.mjs
Version metadata changes to 0.4.0-beta.17, with a changelog entry and updated release checks.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Comet
  participant TraeConfig
  participant HookRouter
  Comet->>TraeConfig: Read hooks.json
  Comet->>TraeConfig: Merge managed PreToolUse entries
  TraeConfig->>HookRouter: Execute verify.mjs command
  Comet->>TraeConfig: Remove managed entries during uninstall
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.75% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: adding Trae hook support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch feat/issue-269-trae-hooks
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The new countTraeHookMatches logic is very similar to the existing grouped hook counters; consider reusing or extending the existing helpers (e.g., countGroupedHookMatches/collectGroupedCommands) to avoid format-specific duplication and keep inspection semantics consistent across platforms.
  • The removeTraeHooks implementation manually walks and filters PreToolUse groups instead of using the same grouping/merge utilities as installTraeHooks (e.g., asHookGroup, mergeHookGroups, managedHookScriptPaths), which may make Trae behavior diverge from other formats over time; factoring out a shared helper for grouped hook removal would simplify this and align it with install behavior.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new `countTraeHookMatches` logic is very similar to the existing grouped hook counters; consider reusing or extending the existing helpers (e.g., `countGroupedHookMatches`/`collectGroupedCommands`) to avoid format-specific duplication and keep inspection semantics consistent across platforms.
- The `removeTraeHooks` implementation manually walks and filters `PreToolUse` groups instead of using the same grouping/merge utilities as `installTraeHooks` (e.g., `asHookGroup`, `mergeHookGroups`, `managedHookScriptPaths`), which may make Trae behavior diverge from other formats over time; factoring out a shared helper for grouped hook removal would simplify this and align it with install behavior.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@googs1025
googs1025 force-pushed the feat/issue-269-trae-hooks branch from b695bbd to c6f1354 Compare August 6, 2026 07:13
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@benym benym linked an issue Aug 6, 2026 that may be closed by this pull request
1 task
@benym

benym commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Some modifications are required for the router hooking mechanism currently used by Comet:

  1. Add trae and trae-cn to the router allowlist.
  2. Update and build comet-entry-runtime.mjs and comet-hook-router.mjs.
  3. Add integration tests for Trae and Trae CN that actually invoke the router, rather than just verifying that the JSON has been written.

@googs1025
googs1025 force-pushed the feat/issue-269-trae-hooks branch from c6f1354 to 4694a72 Compare August 6, 2026 15:29
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/domains/skill/skills.test.ts`:
- Around line 1584-1612: Add parallel Trae CN removal coverage alongside the
existing Trae removal tests, using installCometHooksForPlatform with the trae-cn
platform. Verify project uninstallation removes .trae/hooks.json and global
uninstallation removes .trae-cn/hooks.json, while exercising removal through the
packaged router runtime.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fa666ed3-6635-4157-b4a9-26630b9edcbf

📥 Commits

Reviewing files that changed from the base of the PR and between e802d9f and 4694a72.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (21)
  • CHANGELOG.md
  • assets/manifest.json
  • assets/skills/comet/scripts/comet-hook-router.mjs
  • domains/bundle/bundle-platform.ts
  • domains/bundle/types.ts
  • domains/comet-entry/hook-adapter.ts
  • domains/skill/platform-inspect.ts
  • domains/skill/platform-install.ts
  • domains/skill/uninstall.ts
  • package.json
  • platform/install/platforms.ts
  • test/app/cli-help.test.ts
  • test/domains/bundle/bundle-distribute.test.ts
  • test/domains/bundle/bundle-platform.test.ts
  • test/domains/comet-entry/hook-adapter.test.ts
  • test/domains/comet-entry/hook-router-runtime.test.ts
  • test/domains/skill/platform-inspect.test.ts
  • test/domains/skill/skills.test.ts
  • test/domains/skill/uninstall.test.ts
  • test/platform/detect.test.ts
  • test/repository/release-metadata.test.ts
🚧 Files skipped from review as they are similar to previous changes (13)
  • package.json
  • domains/skill/platform-inspect.ts
  • domains/bundle/types.ts
  • test/repository/release-metadata.test.ts
  • assets/manifest.json
  • test/domains/bundle/bundle-platform.test.ts
  • test/platform/detect.test.ts
  • CHANGELOG.md
  • domains/bundle/bundle-platform.ts
  • test/domains/skill/platform-inspect.test.ts
  • platform/install/platforms.ts
  • domains/skill/uninstall.ts
  • domains/skill/platform-install.ts

Comment thread test/domains/skill/skills.test.ts Outdated
@googs1025
googs1025 force-pushed the feat/issue-269-trae-hooks branch from 4694a72 to c9a462b Compare August 6, 2026 15:52
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/domains/skill/uninstall.test.ts (1)

57-57: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add equivalent Trae CN uninstall coverage.

All new Trae cases exercise only trae. The PR also supports trae-cn. An incorrect Trae CN hook path or removal contract can pass this suite.

  • test/domains/skill/uninstall.test.ts#L57-L57: add a trae-cn malformed-JSON case.
  • test/domains/skill/uninstall.test.ts#L76-L76: add a trae-cn array-shaped JSON case.
  • test/domains/skill/uninstall.test.ts#L141-L145: add a trae-cn unreadable-configuration case.
  • test/domains/skill/uninstall.test.ts#L227-L256: add a trae-cn case that preserves user handlers and metadata.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/domains/skill/uninstall.test.ts` at line 57, Add equivalent Trae CN
uninstall coverage in test/domains/skill/uninstall.test.ts: at lines 57-57 add a
malformed-JSON case, at 76-76 add an array-shaped JSON case, at 141-145 add an
unreadable-configuration case, and at 227-256 add a case verifying user handlers
and metadata are preserved; use the existing Trae test structure while targeting
the trae-cn configuration and hook path.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/domains/skill/skills.test.ts`:
- Around line 1572-1621: Extend the Trae installation test around
installCometHooksForPlatform to execute
firstInstall.hooks.PreToolUse[1].hooks[0].command with the Native change
configured and Trae skills copied, then assert the command exits successfully.
Keep the existing hooks.json preservation and idempotency assertions unchanged,
and ensure this specifically validates the trae platform path rather than only
trae-cn routing.

---

Nitpick comments:
In `@test/domains/skill/uninstall.test.ts`:
- Line 57: Add equivalent Trae CN uninstall coverage in
test/domains/skill/uninstall.test.ts: at lines 57-57 add a malformed-JSON case,
at 76-76 add an array-shaped JSON case, at 141-145 add an
unreadable-configuration case, and at 227-256 add a case verifying user handlers
and metadata are preserved; use the existing Trae test structure while targeting
the trae-cn configuration and hook path.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 831315e0-983a-4555-8047-48562e54e6d4

📥 Commits

Reviewing files that changed from the base of the PR and between e802d9f and c9a462b.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (21)
  • CHANGELOG.md
  • assets/manifest.json
  • assets/skills/comet/scripts/comet-hook-router.mjs
  • domains/bundle/bundle-platform.ts
  • domains/bundle/types.ts
  • domains/comet-entry/hook-adapter.ts
  • domains/skill/platform-inspect.ts
  • domains/skill/platform-install.ts
  • domains/skill/uninstall.ts
  • package.json
  • platform/install/platforms.ts
  • test/app/cli-help.test.ts
  • test/domains/bundle/bundle-distribute.test.ts
  • test/domains/bundle/bundle-platform.test.ts
  • test/domains/comet-entry/hook-adapter.test.ts
  • test/domains/comet-entry/hook-router-runtime.test.ts
  • test/domains/skill/platform-inspect.test.ts
  • test/domains/skill/skills.test.ts
  • test/domains/skill/uninstall.test.ts
  • test/platform/detect.test.ts
  • test/repository/release-metadata.test.ts
🚧 Files skipped from review as they are similar to previous changes (16)
  • package.json
  • test/repository/release-metadata.test.ts
  • domains/bundle/bundle-platform.ts
  • domains/comet-entry/hook-adapter.ts
  • test/platform/detect.test.ts
  • test/domains/skill/platform-inspect.test.ts
  • CHANGELOG.md
  • test/domains/bundle/bundle-platform.test.ts
  • domains/skill/platform-inspect.ts
  • test/domains/comet-entry/hook-adapter.test.ts
  • assets/skills/comet/scripts/comet-hook-router.mjs
  • domains/skill/platform-install.ts
  • assets/manifest.json
  • platform/install/platforms.ts
  • domains/bundle/types.ts
  • domains/skill/uninstall.ts

Comment thread test/domains/skill/skills.test.ts
@googs1025
googs1025 force-pushed the feat/issue-269-trae-hooks branch from c9a462b to 6b557a1 Compare August 6, 2026 16:04
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@googs1025
googs1025 force-pushed the feat/issue-269-trae-hooks branch from 6b557a1 to 6439a41 Compare August 7, 2026 06:14
@benym

benym commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

LGTM

@benym
benym merged commit 2c9f36a into rpamis:master Aug 7, 2026
17 checks passed
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.

feat: trae and trae cn hook support

2 participants