4 Commits

  • fix(trae): strip trailing slash so skill manifest entries are single-slash (#2126)
    The Trae installer recorded nested skill files with a doubled slash
    (e.g. `skills/skill-comply//pyproject.toml`). The skills loop used the
    glob variable `$d`, which carries a trailing slash, both as the `find`
    root and as the prefix removed from each file path. Under bash, BSD
    `find` with a trailing-slash argument emits `.../skill-comply//file`, so
    `${source_file#$d}` left a leading slash, producing double-slash manifest
    entries that did not match the single-slash paths uninstall.sh expects.
    
    Strip the trailing slash from `$d` and remove the `$d/` prefix so `find`
    emits clean paths and manifest entries are single-slash. Fixes the
    previously failing test in tests/scripts/trae-install.test.js
    ("records nested skill files and the full rules tree in the manifest").
    
    Co-authored-by: affaan-m <tamiraw808@gmail.com>
    Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
  • fix: harden Trae install ownership (#1013)
    * fix: harden trae install ownership
    
    * fix: unblock unicode safety CI lint
    
    * fix: unblock shared CI regressions
    
    * test: isolate package-manager dependent hooks and formatter tests
  • feat: add .trae directory with install/uninstall scripts
    - Add install.sh for Trae IDE integration
    - Add uninstall.sh with manifest-based safe removal
    - Add README.md (English)
    - Add README.zh-CN.md (Chinese)
    - Support local and global installation
    - Support TRAE_ENV=cn for CN environment
    - Non-destructive installation (won't overwrite existing files)
    - Manifest-based uninstallation (preserves user files)
    
    Change-Id: I9870874e272fffd9e1966d9bc40d20142314b969