openpitstop 1.9.0 → 1.10.0

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 (105) hide show
  1. package/PRIVACY.md +77 -90
  2. package/README.md +365 -887
  3. package/dist/agentBudget.d.ts +33 -0
  4. package/dist/agentBudget.js +165 -0
  5. package/dist/agentBudget.js.map +1 -0
  6. package/dist/analyzers/ledger/index.d.ts +2 -1
  7. package/dist/analyzers/ledger/index.js +10 -1
  8. package/dist/analyzers/ledger/index.js.map +1 -1
  9. package/dist/analyzers/types.d.ts +2 -0
  10. package/dist/candidate.d.ts +20 -0
  11. package/dist/candidate.js +87 -0
  12. package/dist/candidate.js.map +1 -0
  13. package/dist/cli.js +1 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/ask.d.ts +0 -8
  16. package/dist/commands/ask.js +36 -34
  17. package/dist/commands/ask.js.map +1 -1
  18. package/dist/commands/budget.d.ts +1 -0
  19. package/dist/commands/budget.js +12 -3
  20. package/dist/commands/budget.js.map +1 -1
  21. package/dist/commands/drive.js +77 -51
  22. package/dist/commands/drive.js.map +1 -1
  23. package/dist/commands/fix.d.ts +7 -0
  24. package/dist/commands/fix.js +90 -108
  25. package/dist/commands/fix.js.map +1 -1
  26. package/dist/commands/gate.js +6 -2
  27. package/dist/commands/gate.js.map +1 -1
  28. package/dist/commands/pen.d.ts +3 -1
  29. package/dist/commands/pen.js +31 -42
  30. package/dist/commands/pen.js.map +1 -1
  31. package/dist/commands/readyCheck.d.ts +1 -1
  32. package/dist/commands/readyCheck.js +6 -36
  33. package/dist/commands/readyCheck.js.map +1 -1
  34. package/dist/commands/scan.d.ts +6 -5
  35. package/dist/commands/scan.js +26 -28
  36. package/dist/commands/scan.js.map +1 -1
  37. package/dist/commands/verify.d.ts +3 -1
  38. package/dist/commands/verify.js +5 -1
  39. package/dist/commands/verify.js.map +1 -1
  40. package/dist/evidence.js +4 -0
  41. package/dist/evidence.js.map +1 -1
  42. package/dist/installer/targets.js +1 -1
  43. package/dist/installer/targets.js.map +1 -1
  44. package/dist/intent.d.ts +4 -7
  45. package/dist/intent.js +41 -77
  46. package/dist/intent.js.map +1 -1
  47. package/dist/pen/dynamic.d.ts +1 -24
  48. package/dist/pen/dynamic.js +10 -1
  49. package/dist/pen/dynamic.js.map +1 -1
  50. package/dist/pen/fix.js +5 -1
  51. package/dist/pen/fix.js.map +1 -1
  52. package/dist/repro/generate.js +1 -0
  53. package/dist/repro/generate.js.map +1 -1
  54. package/dist/repro/pen.js +1 -0
  55. package/dist/repro/pen.js.map +1 -1
  56. package/dist/repro/run.d.ts +1 -0
  57. package/dist/repro/run.js +17 -1
  58. package/dist/repro/run.js.map +1 -1
  59. package/dist/sandbox/container.d.ts +9 -0
  60. package/dist/sandbox/container.js +129 -0
  61. package/dist/sandbox/container.js.map +1 -0
  62. package/dist/sandbox/worker.d.ts +1 -0
  63. package/dist/sandbox/worker.js +41 -0
  64. package/dist/sandbox/worker.js.map +1 -0
  65. package/dist/scanCache.d.ts +27 -0
  66. package/dist/scanCache.js +89 -0
  67. package/dist/scanCache.js.map +1 -0
  68. package/dist/verify/acceptance.d.ts +5 -1
  69. package/dist/verify/acceptance.js +29 -16
  70. package/dist/verify/acceptance.js.map +1 -1
  71. package/dist/verify/architecture.d.ts +5 -1
  72. package/dist/verify/architecture.js +6 -1
  73. package/dist/verify/architecture.js.map +1 -1
  74. package/dist/verify/baseline.d.ts +5 -1
  75. package/dist/verify/baseline.js +5 -1
  76. package/dist/verify/baseline.js.map +1 -1
  77. package/dist/verify/chain.js +17 -0
  78. package/dist/verify/chain.js.map +1 -1
  79. package/dist/verify/flow.d.ts +2 -0
  80. package/dist/verify/flow.js +18 -3
  81. package/dist/verify/flow.js.map +1 -1
  82. package/dist/verify/gateMatrix.d.ts +4 -0
  83. package/dist/verify/gateMatrix.js +23 -12
  84. package/dist/verify/gateMatrix.js.map +1 -1
  85. package/dist/verify/holdout.d.ts +5 -1
  86. package/dist/verify/holdout.js +8 -2
  87. package/dist/verify/holdout.js.map +1 -1
  88. package/dist/verify/regression.d.ts +5 -1
  89. package/dist/verify/regression.js +6 -1
  90. package/dist/verify/regression.js.map +1 -1
  91. package/dist/verify/stack.d.ts +5 -1
  92. package/dist/verify/stack.js +6 -1
  93. package/dist/verify/stack.js.map +1 -1
  94. package/dist/verify/state.d.ts +5 -1
  95. package/dist/verify/state.js +6 -1
  96. package/dist/verify/state.js.map +1 -1
  97. package/dist/verify/verifier.d.ts +5 -1
  98. package/dist/verify/verifier.js +6 -1
  99. package/dist/verify/verifier.js.map +1 -1
  100. package/docs/release-controls.md +107 -0
  101. package/package.json +70 -69
  102. package/templates/pitstop.command.md +17 -5
  103. package/templates/pitstop.prompt.md +390 -390
  104. package/scripts/__pycache__/gen-gifs.cpython-313.pyc +0 -0
  105. package/scripts/gen-gifs.py +0 -231
package/package.json CHANGED
@@ -1,69 +1,70 @@
1
- {
2
- "name": "openpitstop",
3
- "version": "1.9.0",
4
- "description": "Deterministic scans + your coding agent's own reasoning, in one autonomous quality loop. Adds a /pitstop slash-command to any AI coding tool.",
5
- "license": "MIT",
6
- "author": "Krish-1507",
7
- "keywords": [
8
- "cli",
9
- "pitstop",
10
- "code-quality",
11
- "code-review",
12
- "ai",
13
- "autonomous",
14
- "agent",
15
- "scan",
16
- "verify"
17
- ],
18
- "type": "module",
19
- "bin": {
20
- "openpitstop": "dist/cli.js",
21
- "pitstop": "dist/cli.js"
22
- },
23
- "files": [
24
- "dist",
25
- "scripts",
26
- "templates",
27
- "demo-repo",
28
- "demo-repo-integrity",
29
- "demo-repo-fintech",
30
- "demo-repo-generators",
31
- "README.md",
32
- "PRIVACY.md",
33
- "LICENSE"
34
- ],
35
- "engines": {
36
- "node": ">=22"
37
- },
38
- "repository": {
39
- "type": "git",
40
- "url": "git+https://github.com/Krish-1507/OpenPitStop.git"
41
- },
42
- "homepage": "https://github.com/Krish-1507/OpenPitStop#readme",
43
- "bugs": {
44
- "url": "https://github.com/Krish-1507/OpenPitStop/issues"
45
- },
46
- "scripts": {
47
- "build": "tsc",
48
- "dev": "tsx watch src/cli.ts",
49
- "smoke": "node dist/cli.js scan demo-repo",
50
- "test": "node --import tsx --test \"test/*.test.ts\"",
51
- "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
52
- "prepublishOnly": "npm run build"
53
- },
54
- "dependencies": {
55
- "@babel/parser": "^7.25.0",
56
- "boxen": "^7.1.1",
57
- "chalk": "^5.3.0",
58
- "cli-table3": "^0.6.5",
59
- "commander": "^12.1.0",
60
- "execa": "^10.0.1",
61
- "nock": "^14.0.17",
62
- "ora": "^8.1.0"
63
- },
64
- "devDependencies": {
65
- "@types/node": "^22.0.0",
66
- "tsx": "^4.19.0",
67
- "typescript": "^5.6.0"
68
- }
69
- }
1
+ {
2
+ "name": "openpitstop",
3
+ "version": "1.10.0",
4
+ "description": "Repo-aware engineering workflows for coding CLIs: understand, plan, check architecture, test security, and verify changes with local evidence.",
5
+ "license": "MIT",
6
+ "author": "Krish-1507",
7
+ "keywords": [
8
+ "cli",
9
+ "pitstop",
10
+ "code-quality",
11
+ "code-review",
12
+ "ai",
13
+ "autonomous",
14
+ "agent",
15
+ "scan",
16
+ "verify"
17
+ ],
18
+ "type": "module",
19
+ "bin": {
20
+ "openpitstop": "dist/cli.js",
21
+ "pitstop": "dist/cli.js"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "scripts/cheat-demo.cjs",
26
+ "templates",
27
+ "demo-repo",
28
+ "demo-repo-integrity",
29
+ "demo-repo-fintech",
30
+ "demo-repo-generators",
31
+ "README.md",
32
+ "PRIVACY.md",
33
+ "LICENSE",
34
+ "docs/release-controls.md"
35
+ ],
36
+ "engines": {
37
+ "node": ">=22"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/Krish-1507/OpenPitStop.git"
42
+ },
43
+ "homepage": "https://github.com/Krish-1507/OpenPitStop#readme",
44
+ "bugs": {
45
+ "url": "https://github.com/Krish-1507/OpenPitStop/issues"
46
+ },
47
+ "scripts": {
48
+ "build": "tsc",
49
+ "dev": "tsx watch src/cli.ts",
50
+ "smoke": "node dist/cli.js scan demo-repo",
51
+ "test": "node --import tsx --test \"test/*.test.ts\"",
52
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
53
+ "prepublishOnly": "npm run build"
54
+ },
55
+ "dependencies": {
56
+ "@babel/parser": "^7.25.0",
57
+ "boxen": "^7.1.1",
58
+ "chalk": "^5.3.0",
59
+ "cli-table3": "^0.6.5",
60
+ "commander": "^12.1.0",
61
+ "execa": "^10.0.1",
62
+ "nock": "^14.0.17",
63
+ "ora": "^8.1.0"
64
+ },
65
+ "devDependencies": {
66
+ "@types/node": "^22.0.0",
67
+ "tsx": "^4.19.0",
68
+ "typescript": "^5.6.0"
69
+ }
70
+ }
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "OpenPitStop — the honest referee for AI coding agents. Run the full quality loop, or type /pitstop menu for a scrollable action card."
2
+ description: "Understand, secure and verify your repo. Say /pitstop find vulnerabilities in this repo."
3
3
  ---
4
4
 
5
5
  # /pitstop
@@ -11,12 +11,24 @@ description: "OpenPitStop — the honest referee for AI coding agents. Run the f
11
11
  If the user typed **nothing** after `/pitstop`, load the procedure (below) and run the full
12
12
  quality loop against this repo (the current working directory).
13
13
 
14
- If the user typed `menu`, tell them to run `/pitstop menu` and stop — the menu command shows
15
- a scrollable action card.
14
+ If the user typed `menu`, load the installed pitstop-menu command and render its action card.
16
15
 
17
16
  If the user typed a natural-language request instead of a command (e.g. "make this safe",
18
- "why is my score low", "what should I do next"), run `pitstop ask "<text>"` to resolve it to
19
- the exact command, then run that command as if they had typed it directly.
17
+ "why is my score low", "what should I do next"), pass that text as a single, safely quoted
18
+ argument to `pitstop ask`. It executes recognized checks internally; do not run the
19
+ printed command a second time. Use `--dry-run` to preview. Live attacks, source patches,
20
+ installation and paid agent runs need `--execute`; add it only when the user's request
21
+ authorizes that action. Unknown or constrained requests return exit 2 without execution:
22
+ Use the host agent to interpret an unsupported request, preserve every constraint, and choose documented Pitstop commands only when their effects are within the user-authorized scope. Ask a short clarification if the scope is still ambiguous. Do not interpolate user text into a shell.
23
+
24
+ Examples (execute, then summarize findings and next actions):
25
+ - `/pitstop find vulnerabilities in this repo` → `pitstop ask "find vulnerabilities in this repo"`
26
+ - `/pitstop attack my app` → `pitstop ask "attack my app" --execute`
27
+ - `/pitstop find and fix vulnerabilities in this repo` → `pitstop ask "find and fix vulnerabilities in this repo" --execute`
28
+ - `/pitstop review my changes` → `pitstop ask "review my changes"`
29
+
30
+ Do not start an external coding agent for a static scan. Its checks use no model credits.
31
+ Do not weaken isolation or bypass missing Docker; explain the install/pull hint if live testing aborts.
20
32
 
21
33
  Otherwise (a flag or path), load the full procedure and run it on this repo. Execute this and
22
34
  read the **full output** before doing anything else — that output *is* the OpenPitStop