No description
  • TypeScript 97.7%
  • JavaScript 2.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
SikongJueluo d91ae12a55
feat(ai-judge): audit and complete the dialog advice surface
- emit a non-blocking ai-bash-judge auto-allowed notify with the judge
  reason whenever Enforce authority grants an ask without a dialog
- raise reason and focus caps from 180/120 to 600/240 code points so
  ordinary model reasons wrap completely instead of ending mid-sentence
- treat the cap as a pathological-output guard, not a display budget
- cover sanitization, disabled paths, and completeness in tests
2026-09-18 00:28:43 +08:00
.github/workflows ci(publish): add tag-driven npm publish workflow 2026-09-17 17:59:00 +08:00
.pi/skills/tui-replay chore(pi): remove local development permission configs 2026-09-16 20:57:43 +08:00
docs feat(pi-permission-inner-cmd): recognize bare time wrapper as transparent 2026-08-23 16:48:31 +08:00
packages feat(ai-judge): audit and complete the dialog advice surface 2026-09-18 00:28:43 +08:00
.editorconfig refactor(ai-judge): group src modules into domain directories 2026-08-22 01:34:29 +08:00
.fallowrc.json chore(fallow): adopt fallow and fix dead-code findings 2026-08-22 01:24:42 +08:00
.gitignore chore(fallow): adopt fallow and fix dead-code findings 2026-08-22 01:24:42 +08:00
AGENTS.md docs: add agent guidance and permission research docs 2026-08-09 00:23:24 +08:00
CONTEXT.md feat(ai-judge): rework enforce mode as user-assumed-risk contract 2026-08-21 23:11:40 +08:00
coverage-final.json refactor(ai-judge): split remaining hotspots and cover CRAP branches 2026-08-22 01:24:50 +08:00
LICENSE Initial commit 2026-08-08 18:14:37 +08:00
package.json ci(publish): add tag-driven npm publish workflow 2026-09-17 17:59:00 +08:00
pnpm-lock.yaml fix(ai-judge): truncate advice widget with visible-width awareness 2026-09-18 00:02:17 +08:00
pnpm-workspace.yaml fix(deps): adapt to pi-permission-system 32 session-keyed services 2026-09-16 20:57:55 +08:00
README.md ci(publish): add tag-driven npm publish workflow 2026-09-17 17:59:00 +08:00
README.zh-CN.md ci(publish): add tag-driven npm publish workflow 2026-09-17 17:59:00 +08:00
tsconfig.base.json feat(pi-permission-ai-judge): add deferring authorizer extension 2026-08-08 19:43:21 +08:00

pi-extensions

English | 简体中文

Personal extensions for the pi coding agent, focused on Bash permissions: unwrap, inspect, and re-adjudicate commands before they run.

Packages

Package npm Description
pi-permission-ai-judge @sikongjueluo/pi-permission-ai-judge AI judge — a model rules allow / deny / defer on each pending Bash ask; shadow logs only, enforce auto-approves
pi-permission-inner-cmd @sikongjueluo/pi-permission-inner-cmd Unwraps transparent Bash wrappers (timeout, time, …) and authorizes the inner command

Install

Per package from npm:

pi install npm:@sikongjueluo/pi-permission-ai-judge
pi install npm:@sikongjueluo/pi-permission-inner-cmd

Or the whole repo via git (both extensions mount through the root package.json pi.extensions manifest):

pi install git:github.com/SikongJueluo/pi-extensions

Either way, effective in any directory. Prerequisites:

  1. Enable @gotgenes/pi-permission-system ≥ 32
  2. Add the extensions to the authorizer chain — order is consultation order, UI sessions only:
// ~/.pi/agent/extensions/pi-permission-system/config.json
{ "authorizerChain": ["inner-cmd", "ai-bash-judge"] }

See the ai-judge README for modes, judge model, and guardrails.

Development

pnpm workspace, TypeScript + vitest.

pnpm install
pnpm check   # tsc --noEmit
pnpm test    # vitest run

Design decisions live in docs/adr/.

Release

Bump the version in packages/<pkg>/package.json, commit, then tag and push:

jj tag set @sikongjueluo/pi-permission-ai-judge@0.1.0 -r <rev>
jj git push   # pushes the bookmark and new tags

The publish workflow verifies the tag matches the package.json name and version, runs check and tests, then publishes to npm with provenance. Requires the NPM_TOKEN repository secret (granular token with publish rights on the @sikongjueluo scope, or a classic automation token).

License

GPL-3.0