@diegopetrucci/pi-extensions 0.1.80 → 0.1.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +6 -1
  2. package/extensions/agent-workflow-audit/index.ts +47 -25
  3. package/extensions/agent-workflow-audit/package.json +1 -1
  4. package/extensions/brrr/index.ts +21 -15
  5. package/extensions/brrr/package.json +1 -1
  6. package/extensions/code-reviewer/index.ts +52 -19
  7. package/extensions/code-reviewer/package.json +1 -1
  8. package/extensions/contrarian/index.ts +17 -17
  9. package/extensions/contrarian/package.json +1 -1
  10. package/extensions/developer/.pi-fleet-tested-version +1 -0
  11. package/extensions/developer/README.md +70 -0
  12. package/extensions/developer/index.ts +906 -0
  13. package/extensions/developer/package.json +40 -0
  14. package/extensions/diff-summarizer/.pi-fleet-tested-version +1 -0
  15. package/extensions/diff-summarizer/README.md +75 -0
  16. package/extensions/diff-summarizer/index.ts +1585 -0
  17. package/extensions/diff-summarizer/package.json +40 -0
  18. package/extensions/dirty-repo-guard/index.ts +5 -2
  19. package/extensions/dirty-repo-guard/package.json +1 -1
  20. package/extensions/fast/README.md +1 -5
  21. package/extensions/fast/index.ts +13 -76
  22. package/extensions/fast/package.json +1 -1
  23. package/extensions/inline-bash/index.ts +1 -0
  24. package/extensions/inline-bash/package.json +1 -1
  25. package/extensions/librarian/index.ts +10 -0
  26. package/extensions/librarian/package.json +1 -1
  27. package/extensions/minimal-footer/index.ts +5 -1
  28. package/extensions/minimal-footer/package.json +1 -1
  29. package/extensions/notify/index.ts +7 -2
  30. package/extensions/notify/package.json +1 -1
  31. package/extensions/oracle/index.ts +17 -17
  32. package/extensions/oracle/package.json +1 -1
  33. package/extensions/permission-gate/README.md +6 -11
  34. package/extensions/permission-gate/index.ts +11 -54
  35. package/extensions/permission-gate/package.json +1 -3
  36. package/extensions/project-mcp-json/README.md +4 -3
  37. package/extensions/project-mcp-json/package.json +1 -1
  38. package/extensions/repo-scout/.pi-fleet-tested-version +1 -0
  39. package/extensions/repo-scout/README.md +74 -0
  40. package/extensions/repo-scout/index.ts +1575 -0
  41. package/extensions/repo-scout/package.json +40 -0
  42. package/extensions/test-runner/.pi-fleet-tested-version +1 -0
  43. package/extensions/test-runner/README.md +70 -0
  44. package/extensions/test-runner/index.ts +798 -0
  45. package/extensions/test-runner/package.json +40 -0
  46. package/extensions/triage-comments/index.ts +66 -16
  47. package/extensions/triage-comments/package.json +1 -1
  48. package/extensions/web-scout/.pi-fleet-tested-version +1 -0
  49. package/extensions/web-scout/README.md +67 -0
  50. package/extensions/web-scout/index.ts +1204 -0
  51. package/extensions/web-scout/package.json +41 -0
  52. package/package.json +7 -2
  53. package/extensions/permission-gate/powershell-safety.ts +0 -1053
@@ -42,9 +42,10 @@ mirroring the logic Pi uses for its own `.pi/` config resources.
42
42
  ### Decision order (evaluated each session)
43
43
 
44
44
  1. **Project not trusted** (`/trust` has not been granted) → skip silently.
45
- 2. **Project has Pi resources** (e.g. `.pi/mcp.json`, `.pi/extensions/`,
46
- `.agents/skills/` in the project or an ancestor) → Pi already made a
47
- genuine trust decision for this project; load `.mcp.json` as well.
45
+ 2. **Project has Pi resources** (e.g. `.pi/mcp.json` or `.pi/extensions/` in
46
+ the project directory itself, or `.agents/skills/` in the project or an
47
+ ancestor, excluding `~/.agents/skills/`) → Pi already made a genuine trust
48
+ decision for this project; load `.mcp.json` as well.
48
49
  3. **Saved trust decision** — check `~/.pi/agent/trust.json` for the nearest
49
50
  ancestor of the project directory:
50
51
  - `true` → load.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diegopetrucci/pi-project-mcp-json",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "A pi extension that reads Claude Code-style .mcp.json files and registers the configured servers with pi.registerMcpServer.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -0,0 +1,74 @@
1
+ # repo-scout
2
+
3
+ Adds a `repo_scout` subagent tool that adapts The Last Harness [`repo-scout`](https://github.com/diegopetrucci/the-last-harness/blob/main/agents/subagents/repo-scout.md) prompt into a standalone pi extension.
4
+
5
+ Use it to quickly orient in an unfamiliar repository before planning or implementing. The subagent uses read-only built-in tools plus any configured MCP tools, detects the stack from evidence, and reports conventions, validation commands, hotspots, and open questions with evidence paths. Blockers are reported in the final result; the subagent cannot ask follow-up questions.
6
+
7
+ ## Install
8
+
9
+ ### Standalone npm package
10
+
11
+ ```bash
12
+ pi install npm:@diegopetrucci/pi-repo-scout
13
+ ```
14
+
15
+ ### Collection package
16
+
17
+ ```bash
18
+ pi install npm:@diegopetrucci/pi-extensions
19
+ ```
20
+
21
+ ### GitHub package
22
+
23
+ ```bash
24
+ pi install git:github.com/diegopetrucci/pi-extensions
25
+ ```
26
+
27
+ Then reload pi:
28
+
29
+ ```text
30
+ /reload
31
+ ```
32
+
33
+ ## `repo_scout` tool behavior
34
+
35
+ The tool accepts:
36
+
37
+ - `task` — optional focus for the scan (for example the area the caller is about to work on); when omitted, a general orientation report is produced
38
+ - `cwd` — optional working directory (repository) to scan; defaults to the current session directory
39
+
40
+ The subagent runs in-process in an isolated child session with:
41
+
42
+ - the current session model (no automatic model selection and no persisted `/config` commands);
43
+ - `medium` thinking, clamped to the model's supported levels;
44
+ - read-only built-in tools: `read`, `grep`, `find`, `ls`, and guarded `bash`;
45
+ - configured MCP tools (run without confirmation in the subagent; may have side effects; use for evidence gathering only; requires host Pi >=1.0.4; older hosts degrade to no MCP, no error); the global `mcp.json` always applies; a project `.pi/mcp.json` is loaded only when the host session has already trusted the project;
46
+ - a local-checkout path guard for file inspection;
47
+ - a bash guard that allows only direct read-only `git`, `gh`, or `pwd` invocations.
48
+
49
+ The output is a single markdown report: detected stack, conventions, commands, project hotspots, do/don't patterns, and open questions. The tool appends a run-details suffix with the model, effective thinking level, turn count, tool calls, duration, working directory, and tools used.
50
+
51
+ ## Read-only guarantees
52
+
53
+ - The subagent is explicitly instructed not to modify anything.
54
+ - Runtime guards block write/edit tools, shell control operators, pipelines, redirection, path traversal outside the checkout, mutating `git`/`gh` commands, `npm`/publish commands, and other filesystem mutation.
55
+ - Runtime guards apply to built-in tools only; configured MCP tools pass the guard, run without confirmation, and are limited only by prompt guidance.
56
+ - Built-in file-inspection tools are preferred over shell commands for local files.
57
+
58
+ ## Example
59
+
60
+ ```text
61
+ Use repo_scout to orient me in this repository before I add a new command:
62
+ ```
63
+
64
+ ```json
65
+ {
66
+ "task": "Where do CLI commands live and how are they tested?"
67
+ }
68
+ ```
69
+
70
+ ## Limitations
71
+
72
+ - The subagent has an 8-turn and 8-minute budget; tool use is disabled on the final turn so it can answer.
73
+ - The report samples representative files only; it is an orientation aid, not an exhaustive review.
74
+ - `gh`-based inspection is available only when GitHub CLI is installed and authenticated; the tool works on local repositories without it.