JohnXu22786/command-scout ↗★ 0
dsh-command-scout
Scans the project workspace at startup and exposes its declared build commands (Makefile targets, package.json scripts, just recipes, deno tasks) as callable agent tools.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnXu22786/command-scout说明文档
阅读完整 README ↗Configuration
Configuration is supplied through the plugin row's config (in
cordis.patch.yml or the profile patch). All fields have defaults; the
example below shows every option:
- insert:
- id: command-scout
name: dsh-command-scout/adapter
config:
root: '.' # directory scanned, relative to process cwd
collectors:
makefile:
enabled: true
scripts:
enabled: true
runner: auto # auto | npm | yarn | pnpm | bun
lockfilePriority: # probed in order by runner: auto
- pnpm-lock.yaml
- yarn.lock
- bun.lockb
- bun.lock
- package-lock.json
justfile:
enabled: true
deno:
enabled: true
naming:
style: scoped # scoped | flat
execution:
timeoutMs: 120000 # per-command hard budget
Runner detection (scripts)
runner: auto resolves in this order:
- the
packageManagerfield of package.json ("pnpm@9.1.0"→ pnpm), - the first lockfile present, in
lockfilePriorityorder, - npm as fallback.
The resolved runner also names the tools (pnpm_dev vs npm_dev), so two
projects using different runners never collide.
Naming
scoped(default):make_build,pnpm_dev,just_lint,deno_serve.flat: bare names (build,dev); on collision the first recipe keeps the bare name and later ones get numeric suffixes (dev_2).
Tool names only ever contain lowercase letters, digits and underscores
(names with no such characters at all, e.g. CJK-only script names, get a
deterministic task_ form), and the reserved harness name run_code
is never produced.