morluto/smokinggun
Help your agents find the smoking gun they're looking for. Optimization evidence for agents: find complexity hotspots.
项目介绍Project Overview
SmokingGun 是一款 DSH 工具类插件,通过静态扫描定位代码复杂度热点,帮助代理评估改动是否值得。其核心能力是区分静态发现、估算值、导入测量与行为证据,供代理决定下一步调查方向;输出支持 markdown 与 SARIF 格式。适用于性能或重构前的取证分析。注意:扫描结果仅为候选,需配合基准或测试证据才能得出结论。
SmokingGun is a DSH tools plugin that locates complexity hotspots via static scans and helps agents judge whether a proposed change is worth making. Its core capability is keeping static findings, estimates, imported measurements, and behavior evidence distinct, letting agents decide what to investigate next; reports support markdown and SARIF. Use it for pre-refactor or pre-optimization evidence gathering. Caveat: findings are candidates, not proof, and the static scan is read-only and offline, so benchmark evidence must be imported separately.
请帮我了解并安装插件:【smokinggun】【https://github.com/morluto/smokinggun】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:morluto/smokinggun
把 morluto/smokinggun 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
SmokingGun
Optimization evidence for agents: find complexity hotspots and test whether a proposed change is worth making.
It keeps static findings, estimates, imported measurements, and behavior evidence distinct so agents can decide what to investigate next.
Install the agent skill
The optional smokinggun skill teaches compatible agent hosts how to use the CLI. Install it with the shared Skills CLI:
npx skills add https://github.com/morluto/smokinggun --skill smokinggun
The Skills CLI owns skill placement, conflict handling, and updates. SmokingGun does not modify agent configuration or install skills itself.
Install the CLI
npm install -g smokinggun
Or bootstrap one scan without a global install:
npx --yes --package=smokinggun -- smokinggun scan .
This command may contact the npm registry. SmokingGun requires Node 22.18 or later.
Use the CLI
Scan a repository:
smokinggun scan .
smokinggun scan . --format markdown
smokinggun scan . --format sarif --output smokinggun.sarif
Reports include the hotspot, supporting evidence, coverage, assumptions, and the validation needed next.
Static scans are read-only, offline, and do not execute repository code or modify source files. Findings are candidates, not proof. SmokingGun imports measurement evidence from existing benchmark tools; it does not launch workloads or rewrite code.
Semantic scanners consume the captured source snapshot directly. External adapters run only with explicit authorization and an enforcing read-only sandbox; they receive captured source bytes rather than the live checkout. Benchmark, profile, and measurement artifacts cross an import boundary without granting workload-execution authority. See the authority architecture for the ownership rules behind these choices.
About
SmokingGun's authoritative path is immutable capture, snapshot-backed scanning, truthful coverage, content-addressed reports, and explicit evidence imports. SARIF, SCIP, benchmarks, profiles, and measurements remain external inputs. Missing or failed coverage stays visible instead of becoming a clean scan.
Development
Requires Node 22+ and pnpm 11.20.0.
pnpm install
pnpm typecheck && pnpm test && pnpm build
Quality gates: pnpm lint (oxlint), pnpm format:check (oxfmt), pnpm knip, pnpm check:boundaries, and pnpm test:coverage. Run pnpm changeset to record a release change intent. pnpm test:cli and pnpm test:package exercise the built package end-to-end.
ccch1mneyyy/working-activity
Ikalus1988/MisakaNet
morluto/rea
linhay/harmony-next.skills
zhoushoujianwork/easyeda-agent
Aisland-SJL/dsh-worktable
oil-oil/dsh-oil-creator