# Contributing to TRAE Bao Thank you for helping improve TRAE Bao. ## Before opening an issue - Search existing issues. - Include your OS, DSH Desktop version, active profile, Node.js version, and exact install source. - For visual bugs, attach a screenshot or short recording after removing private conversation content. - Do not post credentials, `$DSH_HOME` secrets, private workspace paths, or personal conversation logs. ## Development setup TRAE Bao uses Node.js `^22.19.0 || >=24.0.0` and pnpm through Corepack. ```sh git clone https://github.com/susirial/dsh-traebao.git cd dsh-traebao corepack pnpm install --frozen-lockfile corepack pnpm run check ``` ## Pull requests Keep changes focused and explain the user-visible behavior. Before submitting: ```sh corepack pnpm run check git diff --check ``` Behavior changes should include tests. Changes to Host or Client bundles must include regenerated `lib/` artifacts from `corepack pnpm run build`. ## Adding pet or sound assets Every contributed media file must have: 1. a clear original source; 2. an explicit license that permits redistribution; 3. the required attribution text; 4. a corresponding update to `ASSETS.md`. Do not submit copyrighted game audio, characters, logos, or generated assets whose service terms prohibit redistribution. ## Design principles - Use official DSH services and slots rather than patching product DOM. - Keep Host builds, tests, and Loader smokes headless-safe. - Store user files under `$DSH_HOME`; never write into the installed package. - Validate untrusted HTTP and file inputs at the Host boundary. - Keep Electron optional so browser-only DSH deployments can still load the plugin.