hermes-agent/scripts/lints
ethernet 3f867b2ca9 feat(lints): require an age-gated .npmrc beside every package-lock.json
npm reads the project's own .npmrc, $HOME, and the global config. It
does not walk up parent directories (npm/npm#11437 is still open), so
the root .npmrc gates the root install and nothing else. Two nested
projects were resolving with no supply-chain quarantine at all:
scripts/whatsapp-bridge and plugins/platforms/photon/sidecar. Both now
carry their own gate, and `npm ci` in each returns its lockfile
byte-identical.

A project is a directory holding both package-lock.json and
package.json -- the pair npm resolves against. A lockfile with no
manifest beside it is a vendored artifact; nix/ keeps one for a
hash-pinned fetch that never consults npm config.

The required floor is read from the root .npmrc instead of hardcoded,
so the standard is raised in one place. A nested project may be
stricter, never weaker.
2026-08-14 09:04:06 -04:00
..
__init__.py lints: add npmrc-stale-exclude (autofix, network) 2026-08-14 08:33:55 -04:00
engines_satisfiable.py lints: migrate tests + infographic workflow, add dep-specifier lints 2026-08-14 08:33:55 -04:00
no_ansi_erase_eol.py lints: adopt three AGENTS.md policies as enforced checks 2026-08-14 08:33:56 -04:00
no_committed_infographics.py lints: migrate tests + infographic workflow, add dep-specifier lints 2026-08-14 08:33:55 -04:00
no_hardcoded_hermes_home.py lints: adopt three AGENTS.md policies as enforced checks 2026-08-14 08:33:56 -04:00
no_shadowed_test_definitions.py lints: migrate tests + infographic workflow, add dep-specifier lints 2026-08-14 08:33:55 -04:00
npmrc_age_gate_coverage.py feat(lints): require an age-gated .npmrc beside every package-lock.json 2026-08-14 09:04:06 -04:00
npmrc_stale_exclude.py autofix: carve lockfiles out of the .json allowance; verify npmrc writes 2026-08-14 08:33:55 -04:00
packagejson_exact_versions.py feat(lints): hold package.json overrides to the exact-version rule 2026-08-14 08:59:56 -04:00
pyproject_dep_bounds.py lints: migrate tests + infographic workflow, add dep-specifier lints 2026-08-14 08:33:55 -04:00
run.py lints: bound each fixer by its own globs, not the union 2026-08-14 08:33:54 -04:00
skill_frontmatter_standards.py lints: adopt three AGENTS.md policies as enforced checks 2026-08-14 08:33:56 -04:00
subprocess_stdin.py add project-wide lint registry + runner 2026-08-14 08:33:54 -04:00
uv_stale_exclude.py fix(lints): anchor uv exclude-newer-package key edits to whole keys 2026-08-14 08:57:23 -04:00
windows_footguns.py add project-wide lint registry + runner 2026-08-14 08:33:54 -04:00
workflow_sha_pins.py lints: migrate tests + infographic workflow, add dep-specifier lints 2026-08-14 08:33:55 -04:00