lemonxiny55/dsh-lint-loop ↗★ 3
dsh-lint-loop
Regression-aware, zero-config lint feedback loop for DeepSeek Harness — model-visible lint_diagnostics / lint_workspace_errors / lint_fix tools (eslint / biome / ruff / golangci-lint / cargo clippy, auto-detected) plus an auto-injected post-edit findings section, closing the edit → lint → fix loop without replaying historical lint debt. 适合需要在会话中让模型自动运行代码检查并修复报错的开发者。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lemonxiny55/dsh-lint-loopドキュメント
README 全文を読む ↗Zero configuration
The plugin probes the repo root for what is already there and routes by extension:
| Config found | Linter | Files |
|---|---|---|
eslint.config.{js,mjs,cjs,ts} or .eslintrc.{js,cjs,json,yml} | eslint | .ts .tsx .mts .cts .js .jsx .mjs .cjs |
biome.json / biome.jsonc | biome | same JS family |
ruff.toml / .ruff.toml / pyproject.toml with [tool.ruff] | ruff | .py .pyi |
.golangci.yml / .golangci.yaml / .golangci.toml / .golangci.json | golangci-lint | .go |
Cargo.toml | cargo clippy | .rs |
- Multiple configs coexist? JS-family files go to eslint by default; biome only when a biome config exists WITHOUT an eslint config. Force the set with the
lintersconfig key. - Repo-local installs work:
npm i -D eslintputs the binary innode_modules/.bin— the plugin resolves it beforePATH. - Nothing configured? The plugin stays quiet; calling a tool returns the init hint (
npx eslint --init/biome init/ ruff / a.golangci.yml/ aCargo.toml) instead of an error. - Config file changes (adding
biome.jsonmid-session, say) are observed and re-probed automatically.
Example (input → output):
lint_diagnostics { file_path: "src/extract.ts" }
## Configuration
Options are passed as the plugin row's `config` in the profile patch (or defaults are used if absent):
```yaml