Skip to content

v3.1.0: friendlier execution policy and installer profile/allow commands - #5

Merged
lefos13 merged 1 commit into
mainfrom
feat/friendlier-policy
Oct 14, 2026
Merged

lefos13 merged 1 commit into
mainfrom
feat/friendlier-policy

Conversation

@lefos13

@lefos13 lefos13 commented Oct 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Broader standard profile: common validation runners (tsc, vitest, jest, mocha, playwright test, eslint, prettier --check, biome check, pytest, mypy, pyright, ruff check, cargo, go, dotnet, mvn, gradle) with validating subcommands only; the same JS tools via npx/pnpm exec/bunx only when installed in node_modules/.bin; read-only inspection (git status|log|show|diff|blame|ls-files|grep, branch listing, ls, cat, head, tail, wc, grep, rg, find). --fix/--write, package installs, Git mutations, and arbitrary scripts stay out.
  • False positives fixed: secret files matched by basename (.env, keys, *.pem, .npmrc, ...); .env.example and paths like credential-store.test.js allowed; single-quoted $ is literal.
  • Hardening: git log|show run with --no-ext-diff --no-textconv, git blame with --no-textconv.
  • policyHint on blocked results, with an allowCommand when only the profile blocks the command.
  • Installer: interactive profile prompt (typed confirmation for unrestricted), --profile, profile and allow (--list, --remove) commands.
  • Setup skill: interviews the user (provider, profile, extra allows, default-on, clients) before installing.

Verification

  • npm test: 376/376 · npm run test:security: 65/65
  • npm run verify:generated: GENERATED_ASSETS_CURRENT
  • npm run release:preflight -- --allow-no-tag: RELEASE_PREFLIGHT_PASSED (3.1.0, latest)
  • End-to-end install with --profile safe, reinstall preserves it, uninstall clean.

…s (v3.1.0)

- Standard profile recognizes common validation runners (tsc, vitest, jest,
  pytest, cargo, go, eslint, ruff, ...) with validating subcommands only, the
  same JS tools via npx/pnpm exec/bunx when installed locally, and read-only
  inspection (git status/log/show/blame, ls, cat, grep, rg, find).
- Secret detection matches secret files by basename; single-quoted `$` is
  literal. Paths that merely mention credentials/secrets are no longer blocked.
- git log/show/blame run with repository diff helpers disabled.
- Blocked results carry policyHint (reason, fix, and an allow command when the
  profile is the only obstacle).
- Installer: interactive profile choice with typed confirmation for
  unrestricted, --profile flag, `profile` and `allow` commands.
- Setup skill interviews the user (provider, profile, extra allows,
  defaults, clients) before installing.
@lefos13
lefos13 merged commit 02cf00c into main Oct 14, 2026
8 checks passed
@lefos13
lefos13 deleted the feat/friendlier-policy branch October 14, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants