Preface

In the DSH community plugin ecosystem, plugins usually register tools with a profile for agents to call during tasks. The tool registered by dsh-code-impact is code_impact, with a clear purpose: to perform a read-only impact analysis on a specific TypeScript or JavaScript Git change.

It does not replace test execution, nor does it maintain a long-term repository index. A single call temporarily builds a reverse module dependency graph and then returns changed declarations, affected files, propagation paths, evidence locations, and ranked test candidates. Below is an introduction to its positioning, installation method, typical usage, and security boundaries.

What is this

dsh-code-impact is a standalone DeepSeek Harness community plugin, positioned as:

Read-only TypeScript and JavaScript change-impact analysis for DeepSeek Harness

Key information verified from available sources:

  • Plugin name: dsh-code-impact
  • Maintainer: baidd1011
  • License: MIT
  • Version: 0.2.0
  • GitHub repository: https://github.com/baidd1011/dsh-code-impact

It reads Git metadata, Git objects, and files via DSH services. It does not checkout, write to the index, create a worktree, run tests, edit files, or access the network.

The DSH community directory is a separate site and is not equivalent to the official app store; this article introduces it as a community plugin.

Core Features

One-time Read-only Impact Analysis

code_impact works on a specific change. It performs a read-only analysis first, then returns verifiable materials:

  1. changed declarations
  2. affected files
  3. propagation paths
  4. evidence locations
  5. ranked test candidates

The plugin reuses unchanged snapshot content within a single call but does not maintain a long-term repository index.

Comparison Modes

The plugin supports three comparison modes:

  • workspace
  • staged
  • refs

TypeScript/JavaScript Parsing

The plugin uses the TypeScript Compiler API to handle the following file types:

.ts
.tsx
.mts
.cts
.js
.jsx
.mjs
.cjs

Version 0.2.0 also handles these project configurations and module resolution hints:

  • JSONC project configuration
  • tsconfig.json / jsconfig.json
  • extends
  • project references
  • path aliases
  • package exports / imports

Non-TypeScript/JavaScript files are still retained in the change results but will not receive fictitious symbol-level impact.

Configuration Validation

When the plugin loads, it uses Schemastery to validate configuration fields.

Version Boundaries

Version 0.2.0 does not include the following capabilities:

  • LSP
  • call graph
  • cross-language analysis
  • persistent index
  • PR API
  • test execution
  • risk score
  • dedicated web panel

Installation and Enablement

Compatible Versions

Target compatible versions given by verified sources:

Node: ^22.19.0 || >=24.0.0
Cordis: 4.0.1
dsh-fs: 0.0.1-rc.1
dsh-subprocess: 0.0.1-rc.1
dsh-tools: 0.0.1-rc.1

DSH peer versions are exact matches.

Adding the Plugin

The add command given by verified sources:

dsh plugin --profile demo add dsh-code-impact

Typical Usage

code_impact accepts JSON parameters.

workspace

{"mode":"workspace"}

Compares HEAD with the current working tree, including staged, unstaged, and unignored untracked files.

staged

{"mode":"staged"}

Compares HEAD with the Git index.

refs

{"mode":"refs","base_ref":"origin/main","head_ref":"feature/payment"}

The plugin verifies the two refs and compares the merge-base to head_ref.

Security Boundaries and Limits

  • Git is called via argv, not through a shell.
  • refs are verified using rev-parse --verify --end-of-options.
  • symlinks, binary files, submodules, unresolved related imports, incorrect project configurations, and traversal limits pointing outside the workspace will generate explicit warnings and set complete: false.
  • Repository-level scale limits may return CODE_IMPACT_REPOSITORY_TOO_LARGE.
  • A single very large file will generate a warning and result in an incomplete report.
  • The result array is limited by maxResultChars, resulting in truncation when exceeded.

Applicable Scenarios and Notes

Suitable for:

  • TypeScript/JavaScript repositories using a DSH profile.
  • Requiring one-time read-only change impact analysis.
  • Only needing module dependency-level impact scope, not requiring LSP, call graph, cross-language analysis, persistent index, PR API, test execution, risk score, or dedicated web panel.

Notes before installation:

  • The plugin runs with the permissions of the current dsh process.
  • You should check the source code, MIT license, Node and DSH peer exact versions, and the content of the baidd1011/dsh-code-impact repository.

Conclusion

With the above steps, dsh-code-impact provides a clearly bounded read-only tool: converting a single TS/JS change into changed declarations, affected files, propagation paths, evidence locations, and candidate tests, while maintaining no modification of the workspace, no test execution, and no network access.

GitHub: https://github.com/baidd1011/dsh-code-impact
Current verified sources do not provide a directory page URL, so it is not listed for now.