# Contributing Thanks for considering a contribution. This project follows the official [DeepSeek Harness plugin development guide](https://deepseek-harness.github.io/deepseek-harness/develop/basic/) and the [awesome-dsh-plugin collection rules](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin). ## Development ```sh pnpm install pnpm build pnpm watch ``` Plugin layout (see `package.json` `dsh` manifest and `cordis.patch.yml`): - `src/index.ts` — host half: workspace-gated fs/git HTTP routes and the system-prompt announcement. - `src/client/index.ts` — browser half: explorer column, source control panel (section-header bulk actions), editor view. - `lib/` — build output (git-ignored, generated by `pnpm build` / `pnpm install`'s `prepare` script). ## Submitting to awesome-dsh-plugin To have the plugin listed on [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin), open a PR adding one file to that repository: `data/plugins/xiaoksio__dsh-solution-explorer.yml`. The content lives in `xiaoksio__dsh-solution-explorer.yml` at this repo root — copy it over and keep `url` / `name` matching the repository exactly. ### Requirements (CI + maintainer review) 1. **`dsh.bundle` manifest** — declared in `package.json` (this repo does: `"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }`). A package that only declares `dsh.client` is rejected. 2. **Real, working code** — this plugin ships a runnable host half and browser half; no placeholder or README-only repos are accepted. 3. **Repo age ≥ 1 day and ≥ 10 commits** — checked automatically by CI. 4. **`dsh-plugin` topic** — add it on the GitHub repo's Topics page. 5. **Accurate description** — the `description` in the YAML is read as a claim about the plugin and checked against the code. Keep it factual and free of superlatives. ### Recommended - **npm** — already published as `dsh-solution-explorer@0.1.0`; the `repository` field auto-links it to this repo (storefronts show download counts). Do NOT add a hand-written `npm:` key to the YAML — it is rejected; the mapping is picked up from the registry automatically. - **`tarball:` field** — the YAML carries a prebuilt-tarball URL pointing at the GitHub Release asset. Update it whenever the release asset filename changes (it is versioned: `dsh-solution-explorer-0.1.0.tgz`). - **Screenshots (optional)** — images live in `assets/` in this repo (`screenshot-1-file-explorer.png` etc.). When submitting, add `data/screenshots.json` to the awesome repo keyed by `https://github.com/xiaoksio/dsh-solution-explorer`: ```json { "https://github.com/xiaoksio/dsh-solution-explorer": [ "https://raw.githubusercontent.com/xiaoksio/dsh-solution-explorer/main/assets/screenshot-1-file-explorer.png", "https://raw.githubusercontent.com/xiaoksio/dsh-solution-explorer/main/assets/screenshot-2-source-control.png", "https://raw.githubusercontent.com/xiaoksio/dsh-solution-explorer/main/assets/screenshot-3-diff.png" ] } ``` - One PR adds at most 3 entries; update only your own entry. ## License MIT