Add trusted tooling and leverage guidance
This commit is contained in:
@@ -62,6 +62,26 @@ Do not ask "can I install dependencies?" without the exact package, scope and re
|
||||
workers while the answer is pending. If the user declines, record the reduced scope and the checks
|
||||
that will be `not_run`.
|
||||
|
||||
## Tool acquisition and trust
|
||||
|
||||
Build tools when they remove repeated work: a test runner, fixture generator, screenshot harness,
|
||||
log parser or profiler wrapper. Keep them small, project-local, documented and tested; a tool that
|
||||
nobody uses is just another dependency.
|
||||
|
||||
When installing something:
|
||||
|
||||
- prefer the existing toolchain, project-local installs and lockfiles;
|
||||
- use official package managers/registries and pinned versions/commits;
|
||||
- check the publisher, repository, license, release notes and checksum/signature where available;
|
||||
- inspect install scripts before running them; never `curl | sh`;
|
||||
- no unpinned “latest”, random binaries from chat/SEO pages, or packages whose source you cannot see;
|
||||
- run untrusted tools in a disposable container/VM, without secrets or network if possible;
|
||||
- global/system installs (`sudo`, `apt`, `dnf`, `brew`, global npm/pip) need explicit user approval;
|
||||
- record the exact version/commit and install command in the brief or lockfile.
|
||||
|
||||
Workers do not install. If a worker needs a tool, it returns `blocked` with the exact command and
|
||||
source; the lead verifies and installs it once.
|
||||
|
||||
## Record the result
|
||||
|
||||
Write `.swarm/prerequisites.md` and set `state.json.prerequisites` to `passed`, `needs_user`, or
|
||||
|
||||
Reference in New Issue
Block a user