nerftools 1.4.0__tar.gz → 2.1.0__tar.gz

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 (981) hide show
  1. nerftools-2.1.0/.claude/agents/nerftool-manifest-reviewer.md +228 -0
  2. nerftools-2.1.0/.cspell-version +1 -0
  3. nerftools-2.1.0/.cspell.json +51 -0
  4. nerftools-2.1.0/.github/agents/nerftool-manifest-reviewer.md +230 -0
  5. nerftools-2.1.0/.github/dependabot.yml +53 -0
  6. nerftools-2.1.0/.github/workflows/ci.yml +121 -0
  7. nerftools-2.1.0/.github/workflows/release-please.yml +93 -0
  8. nerftools-2.1.0/.github/workflows/release.yml +66 -0
  9. nerftools-2.1.0/.gitignore +77 -0
  10. nerftools-2.1.0/.markdownlint-cli2-version +1 -0
  11. nerftools-2.1.0/.markdownlint-cli2.jsonc +16 -0
  12. nerftools-2.1.0/.node-version +1 -0
  13. nerftools-2.1.0/.prettier-version +1 -0
  14. nerftools-2.1.0/.prettierignore +17 -0
  15. nerftools-2.1.0/.release-please-manifest.json +3 -0
  16. nerftools-2.1.0/.rulesync/subagents/nerftool-manifest-reviewer.md +229 -0
  17. nerftools-2.1.0/.rulesync-version +1 -0
  18. nerftools-2.1.0/CHANGELOG.md +264 -0
  19. nerftools-2.1.0/CONTRIBUTING.md +134 -0
  20. nerftools-2.1.0/PKG-INFO +13 -0
  21. nerftools-2.1.0/README.md +202 -0
  22. nerftools-2.1.0/docs/nerf-manifest.md +905 -0
  23. nerftools-2.1.0/docs/sdd/2026-04-04-nerf-refactor/frd.md +400 -0
  24. nerftools-2.1.0/docs/sdd/2026-04-04-nerf-refactor/hla.md +530 -0
  25. nerftools-2.1.0/docs/sdd/2026-04-04-nerf-refactor/manifest-spec.md +1010 -0
  26. nerftools-2.1.0/docs/sdd/2026-04-04-nerf-refactor/plan.md +228 -0
  27. nerftools-2.1.0/nerf.yaml +25 -0
  28. nerftools-2.1.0/nerftools/__init__.py +82 -0
  29. nerftools-2.1.0/nerftools/builder.py +960 -0
  30. nerftools-2.1.0/nerftools/cli.py +235 -0
  31. nerftools-2.1.0/nerftools/config.py +437 -0
  32. nerftools-2.1.0/nerftools/default_manifests/README.md +15 -0
  33. nerftools-2.1.0/nerftools/default_manifests/az-account.yaml +50 -0
  34. nerftools-2.1.0/nerftools/default_manifests/az-aks.yaml +295 -0
  35. nerftools-2.1.0/nerftools/default_manifests/az-boards.yaml +683 -0
  36. nerftools-2.1.0/nerftools/default_manifests/az-cosmosdb.yaml +135 -0
  37. nerftools-2.1.0/nerftools/default_manifests/az-devops.yaml +35 -0
  38. nerftools-2.1.0/nerftools/default_manifests/az-keyvault.yaml +173 -0
  39. nerftools-2.1.0/nerftools/default_manifests/az-monitor.yaml +154 -0
  40. nerftools-2.1.0/nerftools/default_manifests/az-network.yaml +604 -0
  41. nerftools-2.1.0/nerftools/default_manifests/az-pipelines.yaml +410 -0
  42. nerftools-2.1.0/nerftools/default_manifests/az-postgres.yaml +105 -0
  43. nerftools-2.1.0/nerftools/default_manifests/az-repos.yaml +473 -0
  44. nerftools-2.1.0/nerftools/default_manifests/az-resource.yaml +113 -0
  45. nerftools-2.1.0/nerftools/default_manifests/az-role.yaml +121 -0
  46. nerftools-2.1.0/nerftools/default_manifests/az-storage.yaml +104 -0
  47. nerftools-2.1.0/nerftools/default_manifests/gh.yaml +535 -0
  48. nerftools-2.1.0/nerftools/default_manifests/git.yaml +1165 -0
  49. nerftools-2.1.0/nerftools/default_manifests/kubectl.yaml +451 -0
  50. nerftools-2.1.0/nerftools/default_manifests/nx.yaml +90 -0
  51. nerftools-2.1.0/nerftools/default_manifests/pkgrun.yaml +62 -0
  52. nerftools-2.1.0/nerftools/default_manifests/stdutils.yaml +158 -0
  53. nerftools-2.1.0/nerftools/default_manifests/tf.yaml +68 -0
  54. nerftools-2.1.0/nerftools/default_manifests/tg.yaml +159 -0
  55. nerftools-2.1.0/nerftools/default_manifests/uv.yaml +70 -0
  56. nerftools-2.1.0/nerftools/formats.py +997 -0
  57. nerftools-2.1.0/nerftools/manifest.py +937 -0
  58. nerftools-2.1.0/nerftools/nerf_report/script.sh +109 -0
  59. nerftools-2.1.0/nerftools/nerfctl/claude/grant-allow.sh +176 -0
  60. nerftools-2.1.0/nerftools/nerfctl/claude/grant-by-threat.sh +307 -0
  61. nerftools-2.1.0/nerftools/nerfctl/claude/grant-deny.sh +170 -0
  62. nerftools-2.1.0/nerftools/nerfctl/claude/grant-list.sh +113 -0
  63. nerftools-2.1.0/nerftools/nerfctl/claude/grant-reset.sh +161 -0
  64. nerftools-2.1.0/nerftools/outdir.py +118 -0
  65. nerftools-2.1.0/nerftools/skill.py +212 -0
  66. nerftools-2.1.0/out/claude-plugin/.claude-plugin/plugin.json +18 -0
  67. nerftools-2.1.0/out/claude-plugin/.nerf-build-manifest +1 -0
  68. nerftools-2.1.0/out/claude-plugin/hooks/hooks.json +26 -0
  69. nerftools-2.1.0/out/claude-plugin/hooks/nerf-bash-hint +156 -0
  70. nerftools-2.1.0/out/claude-plugin/hooks/nerf-session-start +27 -0
  71. nerftools-2.1.0/out/claude-plugin/scripts/nerfctl-grant-allow +176 -0
  72. nerftools-2.1.0/out/claude-plugin/scripts/nerfctl-grant-by-threat +307 -0
  73. nerftools-2.1.0/out/claude-plugin/scripts/nerfctl-grant-deny +170 -0
  74. nerftools-2.1.0/out/claude-plugin/scripts/nerfctl-grant-list +113 -0
  75. nerftools-2.1.0/out/claude-plugin/scripts/nerfctl-grant-reset +161 -0
  76. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-account/SKILL.md +59 -0
  77. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-list +45 -0
  78. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-set +75 -0
  79. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-show +45 -0
  80. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/SKILL.md +167 -0
  81. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-command-invoke +106 -0
  82. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials +100 -0
  83. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials-admin +100 -0
  84. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-versions +83 -0
  85. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-list +58 -0
  86. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-list +94 -0
  87. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-show +105 -0
  88. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-show +94 -0
  89. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/SKILL.md +226 -0
  90. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-area-list +163 -0
  91. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-comment +245 -0
  92. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-list +159 -0
  93. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-show +221 -0
  94. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-update +236 -0
  95. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-add-parent +235 -0
  96. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-comment +225 -0
  97. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-create +245 -0
  98. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-list +193 -0
  99. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-show +203 -0
  100. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-update +238 -0
  101. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-cosmosdb/SKILL.md +86 -0
  102. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-database-list +94 -0
  103. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-list +58 -0
  104. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-network-rule-list +94 -0
  105. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-show +94 -0
  106. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-devops/SKILL.md +29 -0
  107. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-devops/scripts/nerf-az-devops-set-default-project +75 -0
  108. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/SKILL.md +103 -0
  109. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-list +58 -0
  110. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-network-rule-list +88 -0
  111. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-list +83 -0
  112. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-stats +124 -0
  113. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-show +88 -0
  114. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-monitor/SKILL.md +73 -0
  115. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-activity-log +119 -0
  116. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-diagnostic-settings-list +83 -0
  117. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-metrics-list +132 -0
  118. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/SKILL.md +341 -0
  119. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nic-show +94 -0
  120. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-list +58 -0
  121. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-show +94 -0
  122. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-list +94 -0
  123. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-show +105 -0
  124. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-record-list +94 -0
  125. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-list +58 -0
  126. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-show +94 -0
  127. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-list +58 -0
  128. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-show +94 -0
  129. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-link-resource-list +83 -0
  130. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-list +58 -0
  131. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-show +94 -0
  132. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-route-table-show +94 -0
  133. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-subnet-show +105 -0
  134. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-list +58 -0
  135. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-list +94 -0
  136. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-show +105 -0
  137. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-show +94 -0
  138. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/SKILL.md +132 -0
  139. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-check +203 -0
  140. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-list +163 -0
  141. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-log +311 -0
  142. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-show +203 -0
  143. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-timeline +256 -0
  144. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-runs +163 -0
  145. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-postgres/SKILL.md +68 -0
  146. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-firewall-rule-list +94 -0
  147. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-list +58 -0
  148. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-show +94 -0
  149. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/SKILL.md +163 -0
  150. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-comments +223 -0
  151. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-create +279 -0
  152. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-edit +229 -0
  153. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-list +202 -0
  154. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-set-status +234 -0
  155. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-show +203 -0
  156. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-vote +234 -0
  157. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-resource/SKILL.md +80 -0
  158. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-group-list +53 -0
  159. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-group-show +83 -0
  160. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-list +68 -0
  161. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-show +83 -0
  162. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-role/SKILL.md +74 -0
  163. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-by-id +83 -0
  164. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-list +79 -0
  165. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-definition-list +69 -0
  166. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-storage/SKILL.md +67 -0
  167. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-list +58 -0
  168. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-network-rule-list +94 -0
  169. nerftools-2.1.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-show +94 -0
  170. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/SKILL.md +309 -0
  171. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-comment +97 -0
  172. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-create +93 -0
  173. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-list +87 -0
  174. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-view +75 -0
  175. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-copilot-review-status +101 -0
  176. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-create +99 -0
  177. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-diff +75 -0
  178. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-inline-comments +85 -0
  179. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-list +93 -0
  180. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-ready +82 -0
  181. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-request-copilot-review +75 -0
  182. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-review-comments +117 -0
  183. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-reviews +109 -0
  184. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comment +97 -0
  185. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comments +85 -0
  186. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-view +75 -0
  187. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-run-list +87 -0
  188. nerftools-2.1.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-run-view +92 -0
  189. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/SKILL.md +689 -0
  190. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-add +154 -0
  191. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-blame +168 -0
  192. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-checkout-remote +206 -0
  193. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-current +134 -0
  194. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-delete-merged +195 -0
  195. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-list-local +134 -0
  196. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-list-remote +134 -0
  197. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-cherry-pick +194 -0
  198. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-commit +193 -0
  199. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-commit-amend +212 -0
  200. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-create-branch +174 -0
  201. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-diff +201 -0
  202. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-fetch +174 -0
  203. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-log +190 -0
  204. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-ls-remote +200 -0
  205. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-merge-no-ff +194 -0
  206. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-mv +194 -0
  207. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-pull +174 -0
  208. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-push-branch +194 -0
  209. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-push-main +174 -0
  210. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-abort +134 -0
  211. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-continue +134 -0
  212. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-unpushed +200 -0
  213. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-reflog +134 -0
  214. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-remote-list +134 -0
  215. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-reset-hard-last +154 -0
  216. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-reset-unpushed +206 -0
  217. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-restore-staged +154 -0
  218. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-restore-worktree +154 -0
  219. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-revert +164 -0
  220. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rm +154 -0
  221. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-show +168 -0
  222. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-stash-drop +174 -0
  223. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-stash-list +134 -0
  224. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-stash-pop +168 -0
  225. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-stash-push +139 -0
  226. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-status +134 -0
  227. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-submodule-status +134 -0
  228. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-switch +174 -0
  229. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-tag +202 -0
  230. nerftools-2.1.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-tag-push +206 -0
  231. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/SKILL.md +292 -0
  232. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-resources +63 -0
  233. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-versions +45 -0
  234. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-cluster-info +45 -0
  235. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-current-context +45 -0
  236. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-get-contexts +45 -0
  237. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-use-context +85 -0
  238. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-describe +137 -0
  239. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-exec +130 -0
  240. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-explain +92 -0
  241. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get +151 -0
  242. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get-secrets +113 -0
  243. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-logs +139 -0
  244. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-port-forward +158 -0
  245. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-rollout-restart +103 -0
  246. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-nodes +53 -0
  247. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-pods +74 -0
  248. nerftools-2.1.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-version +45 -0
  249. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/SKILL.md +86 -0
  250. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-affected +47 -0
  251. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-graph +47 -0
  252. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-reset +47 -0
  253. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-run +87 -0
  254. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-show-project +87 -0
  255. nerftools-2.1.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-show-projects +47 -0
  256. nerftools-2.1.0/out/claude-plugin/skills/nerf-pkgrun/SKILL.md +56 -0
  257. nerftools-2.1.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-cspell +78 -0
  258. nerftools-2.1.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-markdownlint +78 -0
  259. nerftools-2.1.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-prettier +78 -0
  260. nerftools-2.1.0/out/claude-plugin/skills/nerf-report/SKILL.md +49 -0
  261. nerftools-2.1.0/out/claude-plugin/skills/nerf-report/scripts/nerf-report +109 -0
  262. nerftools-2.1.0/out/claude-plugin/skills/nerf-stdutils/SKILL.md +92 -0
  263. nerftools-2.1.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-find +59 -0
  264. nerftools-2.1.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-find-cwd +59 -0
  265. nerftools-2.1.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-grep +124 -0
  266. nerftools-2.1.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-grep-recursive-cwd +108 -0
  267. nerftools-2.1.0/out/claude-plugin/skills/nerf-tf/SKILL.md +49 -0
  268. nerftools-2.1.0/out/claude-plugin/skills/nerf-tf/scripts/nerf-tf-fmt +165 -0
  269. nerftools-2.1.0/out/claude-plugin/skills/nerf-tf/scripts/nerf-tf-validate +56 -0
  270. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/SKILL.md +155 -0
  271. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-fmt +56 -0
  272. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-fmt-all +56 -0
  273. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-hcl-validate +60 -0
  274. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-init +52 -0
  275. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-init-all +52 -0
  276. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-output +45 -0
  277. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-output-all +45 -0
  278. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-plan +45 -0
  279. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-plan-all +45 -0
  280. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-validate +45 -0
  281. nerftools-2.1.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-validate-all +45 -0
  282. nerftools-2.1.0/out/claude-plugin/skills/nerf-uv/SKILL.md +68 -0
  283. nerftools-2.1.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-mypy +59 -0
  284. nerftools-2.1.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-pytest +59 -0
  285. nerftools-2.1.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-check +59 -0
  286. nerftools-2.1.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-fix +59 -0
  287. nerftools-2.1.0/out/claude-plugin/skills/nerftools/SKILL.md +45 -0
  288. nerftools-2.1.0/out/codex-plugin/.codex-plugin/plugin.json +18 -0
  289. nerftools-2.1.0/out/codex-plugin/.nerf-build-manifest +1 -0
  290. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-account/SKILL.md +59 -0
  291. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-list +45 -0
  292. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-set +75 -0
  293. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-show +45 -0
  294. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/SKILL.md +167 -0
  295. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-command-invoke +106 -0
  296. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials +100 -0
  297. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials-admin +100 -0
  298. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-versions +83 -0
  299. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-list +58 -0
  300. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-list +94 -0
  301. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-show +105 -0
  302. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-show +94 -0
  303. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/SKILL.md +226 -0
  304. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-area-list +163 -0
  305. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-comment +245 -0
  306. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-list +159 -0
  307. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-show +221 -0
  308. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-update +236 -0
  309. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-add-parent +235 -0
  310. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-comment +225 -0
  311. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-create +245 -0
  312. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-list +193 -0
  313. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-show +203 -0
  314. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-update +238 -0
  315. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-cosmosdb/SKILL.md +86 -0
  316. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-database-list +94 -0
  317. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-list +58 -0
  318. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-network-rule-list +94 -0
  319. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-show +94 -0
  320. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-devops/SKILL.md +29 -0
  321. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-devops/scripts/nerf-az-devops-set-default-project +75 -0
  322. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/SKILL.md +103 -0
  323. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-list +58 -0
  324. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-network-rule-list +88 -0
  325. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-list +83 -0
  326. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-stats +124 -0
  327. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-show +88 -0
  328. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-monitor/SKILL.md +73 -0
  329. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-activity-log +119 -0
  330. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-diagnostic-settings-list +83 -0
  331. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-metrics-list +132 -0
  332. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/SKILL.md +341 -0
  333. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nic-show +94 -0
  334. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-list +58 -0
  335. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-show +94 -0
  336. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-list +94 -0
  337. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-show +105 -0
  338. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-record-list +94 -0
  339. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-list +58 -0
  340. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-show +94 -0
  341. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-list +58 -0
  342. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-show +94 -0
  343. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-link-resource-list +83 -0
  344. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-list +58 -0
  345. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-show +94 -0
  346. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-route-table-show +94 -0
  347. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-subnet-show +105 -0
  348. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-list +58 -0
  349. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-list +94 -0
  350. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-show +105 -0
  351. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-show +94 -0
  352. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/SKILL.md +132 -0
  353. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-check +203 -0
  354. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-list +163 -0
  355. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-log +311 -0
  356. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-show +203 -0
  357. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-timeline +256 -0
  358. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-runs +163 -0
  359. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-postgres/SKILL.md +68 -0
  360. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-firewall-rule-list +94 -0
  361. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-list +58 -0
  362. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-show +94 -0
  363. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/SKILL.md +163 -0
  364. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-comments +223 -0
  365. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-create +279 -0
  366. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-edit +229 -0
  367. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-list +202 -0
  368. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-set-status +234 -0
  369. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-show +203 -0
  370. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-vote +234 -0
  371. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-resource/SKILL.md +80 -0
  372. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-group-list +53 -0
  373. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-group-show +83 -0
  374. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-list +68 -0
  375. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-show +83 -0
  376. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-role/SKILL.md +74 -0
  377. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-by-id +83 -0
  378. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-list +79 -0
  379. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-definition-list +69 -0
  380. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-storage/SKILL.md +67 -0
  381. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-list +58 -0
  382. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-network-rule-list +94 -0
  383. nerftools-2.1.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-show +94 -0
  384. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/SKILL.md +309 -0
  385. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-comment +97 -0
  386. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-create +93 -0
  387. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-list +87 -0
  388. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-view +75 -0
  389. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-copilot-review-status +101 -0
  390. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-create +99 -0
  391. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-diff +75 -0
  392. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-inline-comments +85 -0
  393. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-list +93 -0
  394. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-ready +82 -0
  395. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-request-copilot-review +75 -0
  396. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-review-comments +117 -0
  397. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-reviews +109 -0
  398. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comment +97 -0
  399. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comments +85 -0
  400. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-view +75 -0
  401. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-run-list +87 -0
  402. nerftools-2.1.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-run-view +92 -0
  403. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/SKILL.md +689 -0
  404. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-add +154 -0
  405. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-blame +168 -0
  406. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-checkout-remote +206 -0
  407. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-current +134 -0
  408. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-delete-merged +195 -0
  409. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-list-local +134 -0
  410. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-list-remote +134 -0
  411. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-cherry-pick +194 -0
  412. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-commit +193 -0
  413. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-commit-amend +212 -0
  414. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-create-branch +174 -0
  415. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-diff +201 -0
  416. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-fetch +174 -0
  417. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-log +190 -0
  418. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-ls-remote +200 -0
  419. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-merge-no-ff +194 -0
  420. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-mv +194 -0
  421. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-pull +174 -0
  422. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-push-branch +194 -0
  423. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-push-main +174 -0
  424. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-abort +134 -0
  425. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-continue +134 -0
  426. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-unpushed +200 -0
  427. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-reflog +134 -0
  428. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-remote-list +134 -0
  429. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-reset-hard-last +154 -0
  430. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-reset-unpushed +206 -0
  431. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-restore-staged +154 -0
  432. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-restore-worktree +154 -0
  433. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-revert +164 -0
  434. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rm +154 -0
  435. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-show +168 -0
  436. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-stash-drop +174 -0
  437. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-stash-list +134 -0
  438. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-stash-pop +168 -0
  439. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-stash-push +139 -0
  440. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-status +134 -0
  441. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-submodule-status +134 -0
  442. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-switch +174 -0
  443. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-tag +202 -0
  444. nerftools-2.1.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-tag-push +206 -0
  445. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/SKILL.md +292 -0
  446. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-resources +63 -0
  447. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-versions +45 -0
  448. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-cluster-info +45 -0
  449. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-current-context +45 -0
  450. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-get-contexts +45 -0
  451. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-use-context +85 -0
  452. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-describe +137 -0
  453. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-exec +130 -0
  454. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-explain +92 -0
  455. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get +151 -0
  456. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get-secrets +113 -0
  457. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-logs +139 -0
  458. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-port-forward +158 -0
  459. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-rollout-restart +103 -0
  460. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-nodes +53 -0
  461. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-pods +74 -0
  462. nerftools-2.1.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-version +45 -0
  463. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/SKILL.md +86 -0
  464. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-affected +47 -0
  465. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-graph +47 -0
  466. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-reset +47 -0
  467. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-run +87 -0
  468. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-show-project +87 -0
  469. nerftools-2.1.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-show-projects +47 -0
  470. nerftools-2.1.0/out/codex-plugin/skills/nerf-pkgrun/SKILL.md +56 -0
  471. nerftools-2.1.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-cspell +78 -0
  472. nerftools-2.1.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-markdownlint +78 -0
  473. nerftools-2.1.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-prettier +78 -0
  474. nerftools-2.1.0/out/codex-plugin/skills/nerf-report/SKILL.md +49 -0
  475. nerftools-2.1.0/out/codex-plugin/skills/nerf-report/scripts/nerf-report +109 -0
  476. nerftools-2.1.0/out/codex-plugin/skills/nerf-stdutils/SKILL.md +92 -0
  477. nerftools-2.1.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-find +59 -0
  478. nerftools-2.1.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-find-cwd +59 -0
  479. nerftools-2.1.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-grep +124 -0
  480. nerftools-2.1.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-grep-recursive-cwd +108 -0
  481. nerftools-2.1.0/out/codex-plugin/skills/nerf-tf/SKILL.md +49 -0
  482. nerftools-2.1.0/out/codex-plugin/skills/nerf-tf/scripts/nerf-tf-fmt +165 -0
  483. nerftools-2.1.0/out/codex-plugin/skills/nerf-tf/scripts/nerf-tf-validate +56 -0
  484. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/SKILL.md +155 -0
  485. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-fmt +56 -0
  486. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-fmt-all +56 -0
  487. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-hcl-validate +60 -0
  488. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-init +52 -0
  489. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-init-all +52 -0
  490. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-output +45 -0
  491. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-output-all +45 -0
  492. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-plan +45 -0
  493. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-plan-all +45 -0
  494. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-validate +45 -0
  495. nerftools-2.1.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-validate-all +45 -0
  496. nerftools-2.1.0/out/codex-plugin/skills/nerf-uv/SKILL.md +68 -0
  497. nerftools-2.1.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-mypy +59 -0
  498. nerftools-2.1.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-pytest +59 -0
  499. nerftools-2.1.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-check +59 -0
  500. nerftools-2.1.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-fix +59 -0
  501. nerftools-2.1.0/out/codex-plugin/skills/nerftools/SKILL.md +45 -0
  502. nerftools-2.1.0/pyproject.toml +64 -0
  503. nerftools-2.1.0/rulesync.jsonc +11 -0
  504. nerftools-2.1.0/rulesync.local.jsonc.example +14 -0
  505. nerftools-2.1.0/scripts/_common.sh +75 -0
  506. nerftools-2.1.0/scripts/generate-plugins.sh +61 -0
  507. nerftools-2.1.0/scripts/lint-files.sh +140 -0
  508. nerftools-2.1.0/scripts/rulesync-upgen.sh +48 -0
  509. nerftools-2.1.0/tests/__init__.py +0 -0
  510. nerftools-2.1.0/tests/test_builder.py +1317 -0
  511. nerftools-2.1.0/tests/test_config.py +371 -0
  512. nerftools-2.1.0/tests/test_formats.py +816 -0
  513. nerftools-2.1.0/tests/test_manifest.py +1033 -0
  514. nerftools-2.1.0/tests/test_nerf_report.py +251 -0
  515. nerftools-2.1.0/tests/test_skill.py +437 -0
  516. nerftools-2.1.0/uv.lock +384 -0
  517. nerftools-1.4.0/.cspell.json +0 -53
  518. nerftools-1.4.0/.github/workflows/ci.yml +0 -63
  519. nerftools-1.4.0/.github/workflows/release-please.yml +0 -80
  520. nerftools-1.4.0/.github/workflows/release.yml +0 -66
  521. nerftools-1.4.0/.gitignore +0 -45
  522. nerftools-1.4.0/.markdownlint-cli2.jsonc +0 -16
  523. nerftools-1.4.0/.release-please-manifest.json +0 -3
  524. nerftools-1.4.0/CHANGELOG.md +0 -178
  525. nerftools-1.4.0/CONTRIBUTING.md +0 -90
  526. nerftools-1.4.0/PKG-INFO +0 -13
  527. nerftools-1.4.0/README.md +0 -202
  528. nerftools-1.4.0/docs/nerf-manifest.md +0 -772
  529. nerftools-1.4.0/docs/sdd/2026-04-04-nerf-refactor/frd.md +0 -401
  530. nerftools-1.4.0/docs/sdd/2026-04-04-nerf-refactor/hla.md +0 -530
  531. nerftools-1.4.0/docs/sdd/2026-04-04-nerf-refactor/manifest-spec.md +0 -1032
  532. nerftools-1.4.0/docs/sdd/2026-04-04-nerf-refactor/plan.md +0 -227
  533. nerftools-1.4.0/nerf.yaml +0 -22
  534. nerftools-1.4.0/nerftools/__init__.py +0 -35
  535. nerftools-1.4.0/nerftools/builder.py +0 -951
  536. nerftools-1.4.0/nerftools/cli.py +0 -193
  537. nerftools-1.4.0/nerftools/config.py +0 -399
  538. nerftools-1.4.0/nerftools/default_manifests/README.md +0 -15
  539. nerftools-1.4.0/nerftools/default_manifests/az-account.yaml +0 -48
  540. nerftools-1.4.0/nerftools/default_manifests/az-aks.yaml +0 -293
  541. nerftools-1.4.0/nerftools/default_manifests/az-boards.yaml +0 -478
  542. nerftools-1.4.0/nerftools/default_manifests/az-cosmosdb.yaml +0 -133
  543. nerftools-1.4.0/nerftools/default_manifests/az-devops.yaml +0 -33
  544. nerftools-1.4.0/nerftools/default_manifests/az-keyvault.yaml +0 -171
  545. nerftools-1.4.0/nerftools/default_manifests/az-monitor.yaml +0 -152
  546. nerftools-1.4.0/nerftools/default_manifests/az-network.yaml +0 -602
  547. nerftools-1.4.0/nerftools/default_manifests/az-pipelines.yaml +0 -295
  548. nerftools-1.4.0/nerftools/default_manifests/az-postgres.yaml +0 -103
  549. nerftools-1.4.0/nerftools/default_manifests/az-repos.yaml +0 -299
  550. nerftools-1.4.0/nerftools/default_manifests/az-resource.yaml +0 -110
  551. nerftools-1.4.0/nerftools/default_manifests/az-role.yaml +0 -119
  552. nerftools-1.4.0/nerftools/default_manifests/az-storage.yaml +0 -102
  553. nerftools-1.4.0/nerftools/default_manifests/gh.yaml +0 -410
  554. nerftools-1.4.0/nerftools/default_manifests/git.yaml +0 -603
  555. nerftools-1.4.0/nerftools/default_manifests/kubectl.yaml +0 -449
  556. nerftools-1.4.0/nerftools/default_manifests/nx.yaml +0 -88
  557. nerftools-1.4.0/nerftools/default_manifests/pkgrun.yaml +0 -58
  558. nerftools-1.4.0/nerftools/default_manifests/stdutils.yaml +0 -158
  559. nerftools-1.4.0/nerftools/default_manifests/tf.yaml +0 -38
  560. nerftools-1.4.0/nerftools/default_manifests/tg.yaml +0 -107
  561. nerftools-1.4.0/nerftools/default_manifests/uv.yaml +0 -68
  562. nerftools-1.4.0/nerftools/formats.py +0 -542
  563. nerftools-1.4.0/nerftools/manifest.py +0 -873
  564. nerftools-1.4.0/nerftools/nerfctl/claude/grant-allow.sh +0 -170
  565. nerftools-1.4.0/nerftools/nerfctl/claude/grant-by-threat.sh +0 -307
  566. nerftools-1.4.0/nerftools/nerfctl/claude/grant-deny.sh +0 -164
  567. nerftools-1.4.0/nerftools/nerfctl/claude/grant-list.sh +0 -107
  568. nerftools-1.4.0/nerftools/nerfctl/claude/grant-reset.sh +0 -155
  569. nerftools-1.4.0/nerftools/skill.py +0 -210
  570. nerftools-1.4.0/out/claude-plugin/.claude-plugin/plugin.json +0 -18
  571. nerftools-1.4.0/out/claude-plugin/scripts/nerfctl-grant-allow +0 -170
  572. nerftools-1.4.0/out/claude-plugin/scripts/nerfctl-grant-by-threat +0 -307
  573. nerftools-1.4.0/out/claude-plugin/scripts/nerfctl-grant-deny +0 -164
  574. nerftools-1.4.0/out/claude-plugin/scripts/nerfctl-grant-list +0 -107
  575. nerftools-1.4.0/out/claude-plugin/scripts/nerfctl-grant-reset +0 -155
  576. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-account/SKILL.md +0 -57
  577. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-list +0 -39
  578. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-set +0 -69
  579. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-account/scripts/nerf-az-account-show +0 -39
  580. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/SKILL.md +0 -165
  581. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-command-invoke +0 -100
  582. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials +0 -94
  583. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials-admin +0 -94
  584. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-versions +0 -77
  585. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-list +0 -52
  586. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-list +0 -88
  587. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-show +0 -99
  588. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-show +0 -88
  589. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/SKILL.md +0 -210
  590. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-area-list +0 -47
  591. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-comment +0 -131
  592. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-list +0 -45
  593. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-show +0 -107
  594. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-update +0 -125
  595. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-add-parent +0 -119
  596. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-comment +0 -109
  597. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-create +0 -129
  598. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-list +0 -77
  599. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-show +0 -87
  600. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-update +0 -122
  601. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-cosmosdb/SKILL.md +0 -84
  602. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-database-list +0 -88
  603. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-list +0 -52
  604. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-network-rule-list +0 -88
  605. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-show +0 -88
  606. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-devops/SKILL.md +0 -27
  607. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-devops/scripts/nerf-az-devops-set-default-project +0 -69
  608. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/SKILL.md +0 -101
  609. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-list +0 -52
  610. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-network-rule-list +0 -82
  611. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-list +0 -77
  612. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-stats +0 -118
  613. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-show +0 -82
  614. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-monitor/SKILL.md +0 -71
  615. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-activity-log +0 -113
  616. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-diagnostic-settings-list +0 -77
  617. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-metrics-list +0 -126
  618. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/SKILL.md +0 -339
  619. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nic-show +0 -88
  620. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-list +0 -52
  621. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-show +0 -88
  622. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-list +0 -88
  623. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-show +0 -99
  624. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-record-list +0 -88
  625. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-list +0 -52
  626. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-show +0 -88
  627. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-list +0 -52
  628. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-show +0 -88
  629. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-link-resource-list +0 -77
  630. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-list +0 -52
  631. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-show +0 -88
  632. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-route-table-show +0 -88
  633. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-subnet-show +0 -99
  634. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-list +0 -52
  635. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-list +0 -88
  636. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-show +0 -99
  637. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-show +0 -88
  638. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/SKILL.md +0 -121
  639. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-check +0 -87
  640. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-list +0 -47
  641. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-log +0 -197
  642. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-show +0 -87
  643. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-timeline +0 -142
  644. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-runs +0 -47
  645. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-postgres/SKILL.md +0 -66
  646. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-firewall-rule-list +0 -88
  647. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-list +0 -52
  648. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-show +0 -88
  649. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/SKILL.md +0 -147
  650. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-comments +0 -110
  651. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-create +0 -123
  652. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-edit +0 -99
  653. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-list +0 -86
  654. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-set-status +0 -118
  655. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-show +0 -87
  656. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-vote +0 -118
  657. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-resource/SKILL.md +0 -78
  658. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-group-list +0 -47
  659. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-group-show +0 -77
  660. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-list +0 -62
  661. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-show +0 -77
  662. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-role/SKILL.md +0 -72
  663. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-by-id +0 -77
  664. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-list +0 -73
  665. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-role/scripts/nerf-az-role-definition-list +0 -63
  666. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-storage/SKILL.md +0 -65
  667. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-list +0 -52
  668. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-network-rule-list +0 -88
  669. nerftools-1.4.0/out/claude-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-show +0 -88
  670. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/SKILL.md +0 -261
  671. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-comment +0 -91
  672. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-create +0 -87
  673. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-list +0 -81
  674. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-issue-view +0 -69
  675. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-create +0 -93
  676. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-diff +0 -69
  677. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-inline-comments +0 -79
  678. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-list +0 -87
  679. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-review-comments +0 -111
  680. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-reviews +0 -99
  681. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comment +0 -91
  682. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comments +0 -79
  683. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-pr-view +0 -69
  684. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-run-list +0 -81
  685. nerftools-1.4.0/out/claude-plugin/skills/nerf-gh/scripts/nerf-gh-run-view +0 -79
  686. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/SKILL.md +0 -417
  687. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-add +0 -148
  688. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-checkout-remote +0 -200
  689. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-delete-merged +0 -189
  690. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-list-local +0 -128
  691. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-branch-list-remote +0 -128
  692. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-commit +0 -171
  693. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-commit-amend +0 -188
  694. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-create-branch +0 -168
  695. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-diff +0 -128
  696. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-diff-staged +0 -128
  697. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-fetch +0 -168
  698. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-log +0 -128
  699. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-pull +0 -168
  700. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-push-branch +0 -188
  701. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-push-main +0 -168
  702. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-abort +0 -128
  703. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-continue +0 -128
  704. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-rebase-unpushed +0 -194
  705. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-reset-hard-last +0 -148
  706. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-reset-unpushed +0 -200
  707. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-revert +0 -158
  708. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-status +0 -128
  709. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-switch +0 -168
  710. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-tag +0 -196
  711. nerftools-1.4.0/out/claude-plugin/skills/nerf-git/scripts/nerf-git-tag-push +0 -200
  712. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/SKILL.md +0 -290
  713. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-resources +0 -57
  714. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-versions +0 -39
  715. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-cluster-info +0 -39
  716. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-current-context +0 -39
  717. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-get-contexts +0 -39
  718. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-use-context +0 -79
  719. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-describe +0 -131
  720. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-exec +0 -124
  721. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-explain +0 -86
  722. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get +0 -145
  723. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get-secrets +0 -107
  724. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-logs +0 -133
  725. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-port-forward +0 -152
  726. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-rollout-restart +0 -97
  727. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-nodes +0 -47
  728. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-pods +0 -68
  729. nerftools-1.4.0/out/claude-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-version +0 -39
  730. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/SKILL.md +0 -84
  731. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-affected +0 -41
  732. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-graph +0 -41
  733. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-reset +0 -41
  734. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-run +0 -81
  735. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-show-project +0 -81
  736. nerftools-1.4.0/out/claude-plugin/skills/nerf-nx/scripts/nerf-nx-show-projects +0 -41
  737. nerftools-1.4.0/out/claude-plugin/skills/nerf-pkgrun/SKILL.md +0 -54
  738. nerftools-1.4.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-cspell +0 -72
  739. nerftools-1.4.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-markdownlint +0 -72
  740. nerftools-1.4.0/out/claude-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-prettier +0 -72
  741. nerftools-1.4.0/out/claude-plugin/skills/nerf-stdutils/SKILL.md +0 -90
  742. nerftools-1.4.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-find +0 -53
  743. nerftools-1.4.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-find-cwd +0 -53
  744. nerftools-1.4.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-grep +0 -118
  745. nerftools-1.4.0/out/claude-plugin/skills/nerf-stdutils/scripts/nerf-grep-recursive-cwd +0 -102
  746. nerftools-1.4.0/out/claude-plugin/skills/nerf-tf/SKILL.md +0 -33
  747. nerftools-1.4.0/out/claude-plugin/skills/nerf-tf/scripts/nerf-tf-fmt +0 -159
  748. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/SKILL.md +0 -133
  749. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-fmt +0 -46
  750. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-fmt-all +0 -46
  751. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-init +0 -46
  752. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-init-all +0 -46
  753. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-output +0 -39
  754. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-output-all +0 -39
  755. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-plan +0 -39
  756. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-plan-all +0 -39
  757. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-validate +0 -39
  758. nerftools-1.4.0/out/claude-plugin/skills/nerf-tg/scripts/nerf-tg-validate-all +0 -39
  759. nerftools-1.4.0/out/claude-plugin/skills/nerf-uv/SKILL.md +0 -66
  760. nerftools-1.4.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-mypy +0 -53
  761. nerftools-1.4.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-pytest +0 -53
  762. nerftools-1.4.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-check +0 -53
  763. nerftools-1.4.0/out/claude-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-fix +0 -53
  764. nerftools-1.4.0/out/claude-plugin/skills/nerftools/SKILL.md +0 -41
  765. nerftools-1.4.0/out/codex-plugin/.codex-plugin/plugin.json +0 -18
  766. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-account/SKILL.md +0 -57
  767. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-list +0 -39
  768. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-set +0 -69
  769. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-account/scripts/nerf-az-account-show +0 -39
  770. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/SKILL.md +0 -165
  771. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-command-invoke +0 -100
  772. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials +0 -94
  773. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-credentials-admin +0 -94
  774. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-get-versions +0 -77
  775. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-list +0 -52
  776. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-list +0 -88
  777. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-nodepool-show +0 -99
  778. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-aks/scripts/nerf-az-aks-show +0 -88
  779. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/SKILL.md +0 -210
  780. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-area-list +0 -47
  781. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-comment +0 -131
  782. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-list +0 -45
  783. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-show +0 -107
  784. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-mywi-update +0 -125
  785. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-add-parent +0 -119
  786. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-comment +0 -109
  787. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-create +0 -129
  788. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-list +0 -77
  789. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-show +0 -87
  790. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-boards/scripts/nerf-az-boards-wi-update +0 -122
  791. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-cosmosdb/SKILL.md +0 -84
  792. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-database-list +0 -88
  793. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-list +0 -52
  794. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-network-rule-list +0 -88
  795. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-cosmosdb/scripts/nerf-az-cosmosdb-show +0 -88
  796. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-devops/SKILL.md +0 -27
  797. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-devops/scripts/nerf-az-devops-set-default-project +0 -69
  798. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/SKILL.md +0 -101
  799. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-list +0 -52
  800. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-network-rule-list +0 -82
  801. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-list +0 -77
  802. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-secret-stats +0 -118
  803. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-keyvault/scripts/nerf-az-keyvault-show +0 -82
  804. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-monitor/SKILL.md +0 -71
  805. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-activity-log +0 -113
  806. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-diagnostic-settings-list +0 -77
  807. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-monitor/scripts/nerf-az-monitor-metrics-list +0 -126
  808. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/SKILL.md +0 -339
  809. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nic-show +0 -88
  810. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-list +0 -52
  811. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-nsg-show +0 -88
  812. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-list +0 -88
  813. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-link-show +0 -99
  814. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-record-list +0 -88
  815. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-list +0 -52
  816. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-dns-zone-show +0 -88
  817. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-list +0 -52
  818. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-endpoint-show +0 -88
  819. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-private-link-resource-list +0 -77
  820. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-list +0 -52
  821. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-public-ip-show +0 -88
  822. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-route-table-show +0 -88
  823. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-subnet-show +0 -99
  824. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-list +0 -52
  825. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-list +0 -88
  826. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-peering-show +0 -99
  827. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-network/scripts/nerf-az-network-vnet-show +0 -88
  828. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/SKILL.md +0 -121
  829. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-check +0 -87
  830. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-list +0 -47
  831. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-log +0 -197
  832. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-show +0 -87
  833. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-run-timeline +0 -142
  834. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-pipelines/scripts/nerf-az-pipelines-runs +0 -47
  835. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-postgres/SKILL.md +0 -66
  836. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-firewall-rule-list +0 -88
  837. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-list +0 -52
  838. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-postgres/scripts/nerf-az-postgres-flexible-server-show +0 -88
  839. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/SKILL.md +0 -147
  840. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-comments +0 -110
  841. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-create +0 -123
  842. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-edit +0 -99
  843. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-list +0 -86
  844. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-set-status +0 -118
  845. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-show +0 -87
  846. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-repos/scripts/nerf-az-repos-pr-vote +0 -118
  847. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-resource/SKILL.md +0 -78
  848. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-group-list +0 -47
  849. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-group-show +0 -77
  850. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-list +0 -62
  851. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-resource/scripts/nerf-az-resource-show +0 -77
  852. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-role/SKILL.md +0 -72
  853. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-by-id +0 -77
  854. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-assignment-list +0 -73
  855. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-role/scripts/nerf-az-role-definition-list +0 -63
  856. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-storage/SKILL.md +0 -65
  857. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-list +0 -52
  858. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-network-rule-list +0 -88
  859. nerftools-1.4.0/out/codex-plugin/skills/nerf-az-storage/scripts/nerf-az-storage-account-show +0 -88
  860. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/SKILL.md +0 -261
  861. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-comment +0 -91
  862. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-create +0 -87
  863. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-list +0 -81
  864. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-issue-view +0 -69
  865. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-create +0 -93
  866. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-diff +0 -69
  867. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-inline-comments +0 -79
  868. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-list +0 -87
  869. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-review-comments +0 -111
  870. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-reviews +0 -99
  871. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comment +0 -91
  872. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-thread-comments +0 -79
  873. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-pr-view +0 -69
  874. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-run-list +0 -81
  875. nerftools-1.4.0/out/codex-plugin/skills/nerf-gh/scripts/nerf-gh-run-view +0 -79
  876. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/SKILL.md +0 -417
  877. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-add +0 -148
  878. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-checkout-remote +0 -200
  879. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-delete-merged +0 -189
  880. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-list-local +0 -128
  881. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-branch-list-remote +0 -128
  882. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-commit +0 -171
  883. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-commit-amend +0 -188
  884. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-create-branch +0 -168
  885. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-diff +0 -128
  886. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-diff-staged +0 -128
  887. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-fetch +0 -168
  888. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-log +0 -128
  889. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-pull +0 -168
  890. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-push-branch +0 -188
  891. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-push-main +0 -168
  892. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-abort +0 -128
  893. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-continue +0 -128
  894. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-rebase-unpushed +0 -194
  895. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-reset-hard-last +0 -148
  896. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-reset-unpushed +0 -200
  897. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-revert +0 -158
  898. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-status +0 -128
  899. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-switch +0 -168
  900. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-tag +0 -196
  901. nerftools-1.4.0/out/codex-plugin/skills/nerf-git/scripts/nerf-git-tag-push +0 -200
  902. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/SKILL.md +0 -290
  903. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-resources +0 -57
  904. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-api-versions +0 -39
  905. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-cluster-info +0 -39
  906. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-current-context +0 -39
  907. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-get-contexts +0 -39
  908. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-config-use-context +0 -79
  909. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-describe +0 -131
  910. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-exec +0 -124
  911. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-explain +0 -86
  912. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get +0 -145
  913. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-get-secrets +0 -107
  914. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-logs +0 -133
  915. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-port-forward +0 -152
  916. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-rollout-restart +0 -97
  917. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-nodes +0 -47
  918. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-top-pods +0 -68
  919. nerftools-1.4.0/out/codex-plugin/skills/nerf-kubectl/scripts/nerf-kubectl-version +0 -39
  920. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/SKILL.md +0 -84
  921. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-affected +0 -41
  922. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-graph +0 -41
  923. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-reset +0 -41
  924. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-run +0 -81
  925. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-show-project +0 -81
  926. nerftools-1.4.0/out/codex-plugin/skills/nerf-nx/scripts/nerf-nx-show-projects +0 -41
  927. nerftools-1.4.0/out/codex-plugin/skills/nerf-pkgrun/SKILL.md +0 -54
  928. nerftools-1.4.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-cspell +0 -72
  929. nerftools-1.4.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-markdownlint +0 -72
  930. nerftools-1.4.0/out/codex-plugin/skills/nerf-pkgrun/scripts/nerf-pkgrun-prettier +0 -72
  931. nerftools-1.4.0/out/codex-plugin/skills/nerf-stdutils/SKILL.md +0 -90
  932. nerftools-1.4.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-find +0 -53
  933. nerftools-1.4.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-find-cwd +0 -53
  934. nerftools-1.4.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-grep +0 -118
  935. nerftools-1.4.0/out/codex-plugin/skills/nerf-stdutils/scripts/nerf-grep-recursive-cwd +0 -102
  936. nerftools-1.4.0/out/codex-plugin/skills/nerf-tf/SKILL.md +0 -33
  937. nerftools-1.4.0/out/codex-plugin/skills/nerf-tf/scripts/nerf-tf-fmt +0 -159
  938. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/SKILL.md +0 -133
  939. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-fmt +0 -46
  940. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-fmt-all +0 -46
  941. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-init +0 -46
  942. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-init-all +0 -46
  943. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-output +0 -39
  944. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-output-all +0 -39
  945. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-plan +0 -39
  946. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-plan-all +0 -39
  947. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-validate +0 -39
  948. nerftools-1.4.0/out/codex-plugin/skills/nerf-tg/scripts/nerf-tg-validate-all +0 -39
  949. nerftools-1.4.0/out/codex-plugin/skills/nerf-uv/SKILL.md +0 -66
  950. nerftools-1.4.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-mypy +0 -53
  951. nerftools-1.4.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-pytest +0 -53
  952. nerftools-1.4.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-check +0 -53
  953. nerftools-1.4.0/out/codex-plugin/skills/nerf-uv/scripts/nerf-uv-ruff-fix +0 -53
  954. nerftools-1.4.0/out/codex-plugin/skills/nerftools/SKILL.md +0 -41
  955. nerftools-1.4.0/pyproject.toml +0 -61
  956. nerftools-1.4.0/tests/test_builder.py +0 -1202
  957. nerftools-1.4.0/tests/test_config.py +0 -328
  958. nerftools-1.4.0/tests/test_formats.py +0 -360
  959. nerftools-1.4.0/tests/test_manifest.py +0 -930
  960. nerftools-1.4.0/tests/test_skill.py +0 -436
  961. nerftools-1.4.0/uv.lock +0 -384
  962. {nerftools-1.4.0 → nerftools-2.1.0}/.agents/plugins/marketplace.json +0 -0
  963. {nerftools-1.4.0 → nerftools-2.1.0}/.claude-plugin/marketplace.json +0 -0
  964. {nerftools-1.4.0 → nerftools-2.1.0}/.editorconfig +0 -0
  965. {nerftools-1.4.0 → nerftools-2.1.0}/.prettierrc +0 -0
  966. {nerftools-1.4.0 → nerftools-2.1.0}/.python-version +0 -0
  967. {nerftools-1.4.0 → nerftools-2.1.0}/LICENSE +0 -0
  968. {nerftools-1.4.0 → nerftools-2.1.0}/docs/sdd/2026-04-04-nerf-refactor/locked.md +0 -0
  969. {nerftools-1.4.0 → nerftools-2.1.0}/nerftools/default_manifests/__init__.py +0 -0
  970. {nerftools-1.4.0/nerftools/nerfctl → nerftools-2.1.0/nerftools/nerf_report}/__init__.py +0 -0
  971. {nerftools-1.4.0/tests → nerftools-2.1.0/nerftools/nerfctl}/__init__.py +0 -0
  972. {nerftools-1.4.0 → nerftools-2.1.0}/nerftools/rendering.py +0 -0
  973. {nerftools-1.4.0 → nerftools-2.1.0}/out/claude-plugin/skills/nerfctl-grant-allow/SKILL.md +0 -0
  974. {nerftools-1.4.0 → nerftools-2.1.0}/out/claude-plugin/skills/nerfctl-grant-by-threat/SKILL.md +0 -0
  975. {nerftools-1.4.0 → nerftools-2.1.0}/out/claude-plugin/skills/nerfctl-grant-deny/SKILL.md +0 -0
  976. {nerftools-1.4.0 → nerftools-2.1.0}/out/claude-plugin/skills/nerfctl-grant-list/SKILL.md +0 -0
  977. {nerftools-1.4.0 → nerftools-2.1.0}/out/claude-plugin/skills/nerfctl-grant-reset/SKILL.md +0 -0
  978. {nerftools-1.4.0 → nerftools-2.1.0}/pypi-dist/.gitignore +0 -0
  979. {nerftools-1.4.0 → nerftools-2.1.0}/release-please-config.json +0 -0
  980. {nerftools-1.4.0 → nerftools-2.1.0}/tests/test_nerfctl.py +0 -0
  981. {nerftools-1.4.0 → nerftools-2.1.0}/tests/test_rendering.py +0 -0
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: nerftool-manifest-reviewer
3
+ description: >-
4
+ Use this agent for comprehensive review of nerftool manifest YAML files.
5
+ Trigger when adding or modifying tools in nerftools/default_manifests/*.yaml,
6
+ or when explicitly asked to review a manifest, a single tool definition, or a
7
+ generated wrapper script. The agent does not modify code — it produces a
8
+ written review.
9
+ ---
10
+ # nerftool-manifest-reviewer
11
+
12
+ You are a reviewer for nerftool manifest YAML files. Nerftools turn YAML manifests into
13
+ safety-constrained bash wrappers around real CLIs. Your job is to make sure each tool stays as thin
14
+ a wrapper as it can be while genuinely constraining the underlying tool's threat surface.
15
+
16
+ The manifest format is described in `docs/nerf-manifest.md`. A set of sample manifests are in this
17
+ repo under `nerftools/default_manifests/`. The defaults aren't necessarily correct or ideal but they
18
+ can serve as useful reference points.
19
+
20
+ ## What you are NOT trying to do
21
+
22
+ - Reimplement validation the underlying tool already performs. Nerftools constrain tools; they don't
23
+ anticipate every error case. If `git push` already errors clearly when a ref doesn't exist, we
24
+ don't need a guard for that.
25
+ - Make tools generic. Each tool should expose one well-defined operation at a stable threat level.
26
+ Generality is the opposite of the goal.
27
+ - Add features. Review what's there. Note absent capabilities only when they break a workflow (see
28
+ workflow completeness below).
29
+
30
+ ## Review checklist
31
+
32
+ For each tool changed/added, work through these. Cite `file:line` and quote the relevant snippet for
33
+ any issue you raise.
34
+
35
+ ### 1. Threat scoping
36
+
37
+ The `threat:` block declares the read/write impact ceiling. Levels (narrowest → broadest): `none` <
38
+ `workspace` < `machine` < `remote` < `admin`.
39
+
40
+ - **Does the declared threat match what the tool actually does?** A tool that writes files must not
41
+ declare `write: none`. A tool that reads only the workspace must not declare `read: machine`. Real
42
+ example: `tg-fmt` was declared `write: none` but `terragrunt hcl format` rewrites files — that's a
43
+ bug.
44
+ - **Are operations at materially different threat levels split into separate tools?** If `git push`
45
+ non-force is `write: remote` and `git push --force` is `write: admin`, those should be different
46
+ tools, not a `--force` switch on one tool. Same for "push to main" vs "push to a feature branch."
47
+ Each tool's threat profile should be uniform across all valid invocations.
48
+ - **Does the wrapper expose any switches that change the tool's threat profile?** E.g. exposing
49
+ `--exec` on `git rebase`, `-exec` on `find`, or `-c '<cmd>'`-style passthroughs. These are red
50
+ flags.
51
+
52
+ ### 2. Mode selection (template / passthrough / script)
53
+
54
+ - **template**: prefer this when the command is a fixed shape with named parameters. Cleanest, least
55
+ bash to maintain.
56
+ - **passthrough**: use when the underlying tool's CLI is already mostly safe and we just want to
57
+ prevent a few dangerous flags. E.g. `find` is mostly fine, but we want to reject `--exec` and
58
+ similar -> passthrough. It's critical to note that, unlike template mode, passthrough only thinks
59
+ in terms of tokens, not structured arguments. This is a critical distinction with many
60
+ implications for security and correctness.
61
+ - **script**: use only when neither template nor passthrough fit — typically for multi-step logic,
62
+ JSON post-processing, or pre-call resolution. Script mode is the most error-prone; flag any
63
+ script-mode tool that could have been template/passthrough.
64
+
65
+ Common wrong-mode signals:
66
+
67
+ - Script mode just to compose a single `az` call → should be template
68
+ - Template with conditional logic crammed into placeholders → should be script
69
+ - Passthrough that doesn't have a `deny:` list → should be template (you're not really forwarding
70
+ flags safely)
71
+
72
+ ### 3. Don't duplicate what the tool handles
73
+
74
+ - Reject pre-flight checks that just re-implement the tool's own validation. If
75
+ `git tag <tag> <commit>` errors clearly when `<commit>` is invalid, we don't need a guard.
76
+ - Reject mutex checks on switches we ourselves invented as alternative views of the same data — if
77
+ our script is deterministic with a documented precedence, that's fine. Only add mutex-style
78
+ validation when the _tool_ would error obscurely or do something dangerous.
79
+ - Acceptable validation: input patterns (catch shell injection / path traversal early), guards on
80
+ the _agent's_ policy boundary (e.g. "tool refuses if branch is main"), and integrity of
81
+ intermediate results (e.g. "project resolved as `null`, can't proceed").
82
+
83
+ ### 4. Documented contract = enforced contract
84
+
85
+ If a description says "must be assigned to you," "tag must already exist," "cannot be run from main"
86
+ — there must be a `pre:` or `guards:` that enforces it. Either tighten the description or add the
87
+ enforcement. We had a real bug where `mywi-show` advertised assignee enforcement but didn't enforce
88
+ it.
89
+
90
+ ### 5. Workflow completeness
91
+
92
+ Some tools imply a multi-step workflow. If the wrapper covers step 1 but leaves the user with no
93
+ nerftool way to do step 2, that's a gap.
94
+
95
+ - `git-rebase-unpushed` (which can hit conflicts) needs `git-rebase-continue` and `git-rebase-abort`
96
+ to be useful.
97
+ - A tool that fetches a log ID needs a sibling tool that consumes that log ID.
98
+ - Anything that produces a "now do X next" instruction in its output should have a tool for X.
99
+
100
+ ### 6. Naming and convention adherence
101
+
102
+ - **Within a package**: do new tools follow the existing naming convention? E.g.
103
+ `az-pipelines-run-show` establishes a `run-*` prefix for "operates on a single run" tools —
104
+ `az-pipelines-run-timeline` matches; `az-pipelines-timeline` doesn't.
105
+ - **Cross-package conventions**: every workspace-write tool in this repo accepts an optional
106
+ directory option (`-C` for git, `-chdir`/positional for terraform, etc.). Flag tools that don't.
107
+ - **Pattern consistency for like values**: if `git-rebase-unpushed` allows `~`/`^` in its `<target>`
108
+ pattern, then `git-tag <ref>` should too — both mean "commit-ish."
109
+
110
+ ### 7. Security and escape hatches
111
+
112
+ Look for ways a malicious or confused agent could escape the tool's intended scope.
113
+
114
+ - **Shell injection**: every user value must reach the tool through quoted variable expansion.
115
+ Patterns should reject metacharacters (`$`, `` ` ``, `;`, `&`, `|`, `<`, `>`, newlines). Look at
116
+ the rendered bash, not just the YAML.
117
+ - **Path traversal**: any path argument should have `path_tests: [under_cwd]` (or a stricter test)
118
+ unless there's a stated reason not to.
119
+ - **Flag smuggling**: variadic args with `allow_flags: true` are an injection vector for the wrapped
120
+ tool's flags. Check that the wrapped tool's most dangerous flags can't be smuggled this way.
121
+ - **Pre/guard scripts that interpolate user input as shell**: a guard like
122
+ `[[ -f {{arguments.path}} ]]` is broken — that should be `[[ -f "${PATH}" ]]`. The substituter
123
+ does the right thing, but check the rendered output.
124
+ - **Process substitution / heredoc / temp file handling** in script-mode tools: trace stdin/argv
125
+ carefully. Common bug: piping data and using a heredoc both fight for stdin.
126
+ - **Env-var size limits**: `export FOO=$(...)` followed by reading `$FOO` in a child fails when
127
+ `$FOO` is large enough to exceed `ARG_MAX` (~128KB to 2MB depending on OS). Bash variables
128
+ themselves don't have this limit, but exported environment does. Process substitution avoids both
129
+ issues.
130
+
131
+ ### 8. Footguns
132
+
133
+ Beyond outright security: rough edges that bite users.
134
+
135
+ - **Tag patterns / regex anchors**: missing `$` lets unexpected suffixes through; missing `^` allows
136
+ prefixes; range pitfalls like `^[0-9]+$` accepting `0` (when `0` is a degenerate value, e.g.
137
+ `--tail 0`).
138
+ - **Bash portability**: `${var,,}` requires Bash 4+. macOS default `/bin/bash` is 3.2. Use
139
+ `tr '[:upper:]' '[:lower:]'` for case folding.
140
+ - **Empty-flag options**: `flag: ""` doesn't validate. Want to inject a value without a flag prefix?
141
+ Use script mode or a positional argument.
142
+ - **YAML folded scalars in command tokens**: a `>-` block as a single command token gets word-split
143
+ unquoted by bash. Quote it inside the YAML, or use script mode and store in a variable.
144
+ - **Required vs optional positionals after a variadic**: bash positional parsing has limits here.
145
+ Look hard at any tool with a variadic followed by anything.
146
+ - **Auto-detection failure modes**: when a value is auto-detected (e.g. project from git remote),
147
+ what happens if the detection fails? Empty string? `null`? Tool needs to either fail clearly or
148
+ accept an explicit override.
149
+
150
+ ### 9. Bash hint coverage (package-level `bash_hints`)
151
+
152
+ `bash_hints` is a list of regex patterns at the package level that drive a pre-bash redirect hook on
153
+ plugin targets that support one: when an agent calls raw bash with a command matching any pattern,
154
+ the hook denies the call and points the agent at the nerf skill instead. Patterns are matched
155
+ anywhere in the command. The hook automatically skips when it detects an actual wrapper invocation
156
+ -- it splits the command on shell separators (`&&`, `||`, `;`, `|`, `&`), finds the first
157
+ non-env-var token in each segment, and checks whether that token's basename starts with the wrapper
158
+ prefix. So `cd /repo && nerf-git status` and `/abs/path/nerf-git-add .` skip cleanly;
159
+ `git log --grep nerf-X` does not (the prefix appears only at arg position, not at an executable
160
+ position).
161
+
162
+ - **Coverage**: every CLI binary that this package's tools wrap must be covered by at least one
163
+ pattern. E.g., a package that wraps both `git` and `gh` must declare patterns for both. A tool
164
+ whose underlying command isn't matched by any hint will silently let the agent reach for raw bash
165
+ without redirection -- file it as a gap.
166
+ - **Anchoring**: prefer word-boundary anchors (`\bgit\b`) over start-of-line (`^git`). Compound
167
+ commands like `foo && git status` only match word-boundary patterns. Start-anchored patterns miss
168
+ those cases.
169
+ - **Specificity vs. breadth**: package-level patterns are coarse on purpose -- they redirect to a
170
+ skill, not a specific tool. `\baz boards\b` is fine even if the package doesn't yet wrap every
171
+ `az boards` subcommand; the hint says "the skill may wrap this," and the agent learns which tools
172
+ exist by loading the skill.
173
+ - **No false positives on the wrapper**: do NOT add a pattern that would match the wrapper's own
174
+ name when called by its absolute path. The executable-position exclusion in the hook covers normal
175
+ wrapper calls, but an over-eager pattern (e.g. `git` without word boundaries) can still misfire on
176
+ unrelated substrings in env exports or paths.
177
+ - **Extensions**: if this manifest is an extension of an existing package (same `package.name` in a
178
+ different file), `bash_hints` is unioned across manifests. An extension may declare additional
179
+ patterns covering its new surface (e.g. `\bgit lfs\b`) without restating the base patterns.
180
+
181
+ ### 10. Description, intro, and metadata hygiene
182
+
183
+ - Descriptions should describe _what the wrapper does_, not the underlying tool's general docs. Be
184
+ specific about constraints (e.g. "refuses on main").
185
+ - Skill intros (`package.skill_intro`) should cover _cross-tool policy_ — naming conventions, threat
186
+ conventions, "always do X before Y." Tool enumerations belong in the auto-generated overview that
187
+ follows the intro; don't duplicate.
188
+ - Argument and option `description:` fields should mention any non-obvious behavior (e.g. defaults,
189
+ valid values, format expectations).
190
+
191
+ ### 11. Output formatting (script-mode tools)
192
+
193
+ - Errors go to stderr (`>&2`).
194
+ - Each error message includes the tool name as a prefix so it's identifiable in agent output.
195
+ - Successful output goes to stdout, untransformed where possible (let downstream consumers parse).
196
+ - Don't print informational chatter for successful runs unless it's useful to the agent (failure
197
+ summaries are fine; "Connected to API!" isn't).
198
+
199
+ ## How to perform the review
200
+
201
+ 1. Read the diff, then re-read each changed tool definition end-to-end. Don't review by checklist;
202
+ review the tool. Apply the checklist after you understand the tool.
203
+ 2. For script-mode and template-mode tools, mentally render the bash. For non-trivial cases,
204
+ generate the wrapper (`uv run nerf generate --target bin --outdir /tmp/nerf-bin -c nerf.yaml`)
205
+ and read the actual script — small subtle issues only show in the rendered output.
206
+ 3. Compare against sibling tools in the same package and against the same operation in adjacent
207
+ packages. Inconsistency is a signal — sometimes it's a bug, sometimes it's a deliberate
208
+ divergence; flag it either way.
209
+ 4. Look at what's _not_ there: missing guards on tools that need them, missing companion tools for
210
+ multi-step workflows, missing `directory` options.
211
+
212
+ ## Output format
213
+
214
+ Write the review as a short report:
215
+
216
+ - **Summary**: one or two sentences about the overall change.
217
+ - **Issues**: numbered list, each with severity (`blocking` / `should-fix` / `nit`), `file:line`, a
218
+ quote of the offending line(s), and a concrete suggestion.
219
+ - **Skipped non-issues**: brief notes on things you considered and decided weren't problems,
220
+ especially when they look superficially like the issues you'd usually flag. This prevents the same
221
+ false-positive from coming up again.
222
+ - **Recommendations**: any cross-cutting suggestions (e.g. "consider adopting X pattern across this
223
+ package").
224
+
225
+ Keep severity calibrated. `blocking` is for correctness/security/footgun issues. `should-fix` is for
226
+ convention or clarity. `nit` is taste. If there are no issues, say so plainly.
227
+
228
+ Be specific. "Tighten the pattern" is useless; `pattern: "^[1-9][0-9]*$"` (rejects 0) is useful.
@@ -0,0 +1 @@
1
+ 10.0.0
@@ -0,0 +1,51 @@
1
+ {
2
+ "version": "0.2",
3
+ "language": "en",
4
+ "words": [
5
+ "agentworks",
6
+ "bunx",
7
+ "codegen",
8
+ "coreutils",
9
+ "dataclass",
10
+ "dataclasses",
11
+ "errexit",
12
+ "esac",
13
+ "execdir",
14
+ "exitcode",
15
+ "footguns",
16
+ "lookaheads",
17
+ "metacharacter",
18
+ "metacharacters",
19
+ "mypy",
20
+ "mywi",
21
+ "nerfctl",
22
+ "nerftools",
23
+ "okdir",
24
+ "oneline",
25
+ "permissioning",
26
+ "pipefail",
27
+ "pkgrun",
28
+ "pytest",
29
+ "rulesync",
30
+ "stdutils",
31
+ "subshell",
32
+ "toctou",
33
+ "typer",
34
+ "uncompilable",
35
+ "unioned",
36
+ "upgen",
37
+ "uppercased"
38
+ ],
39
+ "ignoreRegExpList": ["`[^`\\r\\n]+`"],
40
+ "ignorePaths": [
41
+ "node_modules",
42
+ "out/",
43
+ "CHANGELOG.md",
44
+ "**/*.yaml",
45
+ "**/*.yml",
46
+ "**/*.py",
47
+ "**/*.toml",
48
+ "**/*.json",
49
+ "**/*.jsonc"
50
+ ]
51
+ }
@@ -0,0 +1,230 @@
1
+ ---
2
+ name: nerftool-manifest-reviewer
3
+ description: >-
4
+ Use this agent for comprehensive review of nerftool manifest YAML files.
5
+ Trigger when adding or modifying tools in nerftools/default_manifests/*.yaml,
6
+ or when explicitly asked to review a manifest, a single tool definition, or a
7
+ generated wrapper script. The agent does not modify code — it produces a
8
+ written review.
9
+ tools:
10
+ - agent/runSubagent
11
+ ---
12
+ # nerftool-manifest-reviewer
13
+
14
+ You are a reviewer for nerftool manifest YAML files. Nerftools turn YAML manifests into
15
+ safety-constrained bash wrappers around real CLIs. Your job is to make sure each tool stays as thin
16
+ a wrapper as it can be while genuinely constraining the underlying tool's threat surface.
17
+
18
+ The manifest format is described in `docs/nerf-manifest.md`. A set of sample manifests are in this
19
+ repo under `nerftools/default_manifests/`. The defaults aren't necessarily correct or ideal but they
20
+ can serve as useful reference points.
21
+
22
+ ## What you are NOT trying to do
23
+
24
+ - Reimplement validation the underlying tool already performs. Nerftools constrain tools; they don't
25
+ anticipate every error case. If `git push` already errors clearly when a ref doesn't exist, we
26
+ don't need a guard for that.
27
+ - Make tools generic. Each tool should expose one well-defined operation at a stable threat level.
28
+ Generality is the opposite of the goal.
29
+ - Add features. Review what's there. Note absent capabilities only when they break a workflow (see
30
+ workflow completeness below).
31
+
32
+ ## Review checklist
33
+
34
+ For each tool changed/added, work through these. Cite `file:line` and quote the relevant snippet for
35
+ any issue you raise.
36
+
37
+ ### 1. Threat scoping
38
+
39
+ The `threat:` block declares the read/write impact ceiling. Levels (narrowest → broadest): `none` <
40
+ `workspace` < `machine` < `remote` < `admin`.
41
+
42
+ - **Does the declared threat match what the tool actually does?** A tool that writes files must not
43
+ declare `write: none`. A tool that reads only the workspace must not declare `read: machine`. Real
44
+ example: `tg-fmt` was declared `write: none` but `terragrunt hcl format` rewrites files — that's a
45
+ bug.
46
+ - **Are operations at materially different threat levels split into separate tools?** If `git push`
47
+ non-force is `write: remote` and `git push --force` is `write: admin`, those should be different
48
+ tools, not a `--force` switch on one tool. Same for "push to main" vs "push to a feature branch."
49
+ Each tool's threat profile should be uniform across all valid invocations.
50
+ - **Does the wrapper expose any switches that change the tool's threat profile?** E.g. exposing
51
+ `--exec` on `git rebase`, `-exec` on `find`, or `-c '<cmd>'`-style passthroughs. These are red
52
+ flags.
53
+
54
+ ### 2. Mode selection (template / passthrough / script)
55
+
56
+ - **template**: prefer this when the command is a fixed shape with named parameters. Cleanest, least
57
+ bash to maintain.
58
+ - **passthrough**: use when the underlying tool's CLI is already mostly safe and we just want to
59
+ prevent a few dangerous flags. E.g. `find` is mostly fine, but we want to reject `--exec` and
60
+ similar -> passthrough. It's critical to note that, unlike template mode, passthrough only thinks
61
+ in terms of tokens, not structured arguments. This is a critical distinction with many
62
+ implications for security and correctness.
63
+ - **script**: use only when neither template nor passthrough fit — typically for multi-step logic,
64
+ JSON post-processing, or pre-call resolution. Script mode is the most error-prone; flag any
65
+ script-mode tool that could have been template/passthrough.
66
+
67
+ Common wrong-mode signals:
68
+
69
+ - Script mode just to compose a single `az` call → should be template
70
+ - Template with conditional logic crammed into placeholders → should be script
71
+ - Passthrough that doesn't have a `deny:` list → should be template (you're not really forwarding
72
+ flags safely)
73
+
74
+ ### 3. Don't duplicate what the tool handles
75
+
76
+ - Reject pre-flight checks that just re-implement the tool's own validation. If
77
+ `git tag <tag> <commit>` errors clearly when `<commit>` is invalid, we don't need a guard.
78
+ - Reject mutex checks on switches we ourselves invented as alternative views of the same data — if
79
+ our script is deterministic with a documented precedence, that's fine. Only add mutex-style
80
+ validation when the _tool_ would error obscurely or do something dangerous.
81
+ - Acceptable validation: input patterns (catch shell injection / path traversal early), guards on
82
+ the _agent's_ policy boundary (e.g. "tool refuses if branch is main"), and integrity of
83
+ intermediate results (e.g. "project resolved as `null`, can't proceed").
84
+
85
+ ### 4. Documented contract = enforced contract
86
+
87
+ If a description says "must be assigned to you," "tag must already exist," "cannot be run from main"
88
+ — there must be a `pre:` or `guards:` that enforces it. Either tighten the description or add the
89
+ enforcement. We had a real bug where `mywi-show` advertised assignee enforcement but didn't enforce
90
+ it.
91
+
92
+ ### 5. Workflow completeness
93
+
94
+ Some tools imply a multi-step workflow. If the wrapper covers step 1 but leaves the user with no
95
+ nerftool way to do step 2, that's a gap.
96
+
97
+ - `git-rebase-unpushed` (which can hit conflicts) needs `git-rebase-continue` and `git-rebase-abort`
98
+ to be useful.
99
+ - A tool that fetches a log ID needs a sibling tool that consumes that log ID.
100
+ - Anything that produces a "now do X next" instruction in its output should have a tool for X.
101
+
102
+ ### 6. Naming and convention adherence
103
+
104
+ - **Within a package**: do new tools follow the existing naming convention? E.g.
105
+ `az-pipelines-run-show` establishes a `run-*` prefix for "operates on a single run" tools —
106
+ `az-pipelines-run-timeline` matches; `az-pipelines-timeline` doesn't.
107
+ - **Cross-package conventions**: every workspace-write tool in this repo accepts an optional
108
+ directory option (`-C` for git, `-chdir`/positional for terraform, etc.). Flag tools that don't.
109
+ - **Pattern consistency for like values**: if `git-rebase-unpushed` allows `~`/`^` in its `<target>`
110
+ pattern, then `git-tag <ref>` should too — both mean "commit-ish."
111
+
112
+ ### 7. Security and escape hatches
113
+
114
+ Look for ways a malicious or confused agent could escape the tool's intended scope.
115
+
116
+ - **Shell injection**: every user value must reach the tool through quoted variable expansion.
117
+ Patterns should reject metacharacters (`$`, `` ` ``, `;`, `&`, `|`, `<`, `>`, newlines). Look at
118
+ the rendered bash, not just the YAML.
119
+ - **Path traversal**: any path argument should have `path_tests: [under_cwd]` (or a stricter test)
120
+ unless there's a stated reason not to.
121
+ - **Flag smuggling**: variadic args with `allow_flags: true` are an injection vector for the wrapped
122
+ tool's flags. Check that the wrapped tool's most dangerous flags can't be smuggled this way.
123
+ - **Pre/guard scripts that interpolate user input as shell**: a guard like
124
+ `[[ -f {{arguments.path}} ]]` is broken — that should be `[[ -f "${PATH}" ]]`. The substituter
125
+ does the right thing, but check the rendered output.
126
+ - **Process substitution / heredoc / temp file handling** in script-mode tools: trace stdin/argv
127
+ carefully. Common bug: piping data and using a heredoc both fight for stdin.
128
+ - **Env-var size limits**: `export FOO=$(...)` followed by reading `$FOO` in a child fails when
129
+ `$FOO` is large enough to exceed `ARG_MAX` (~128KB to 2MB depending on OS). Bash variables
130
+ themselves don't have this limit, but exported environment does. Process substitution avoids both
131
+ issues.
132
+
133
+ ### 8. Footguns
134
+
135
+ Beyond outright security: rough edges that bite users.
136
+
137
+ - **Tag patterns / regex anchors**: missing `$` lets unexpected suffixes through; missing `^` allows
138
+ prefixes; range pitfalls like `^[0-9]+$` accepting `0` (when `0` is a degenerate value, e.g.
139
+ `--tail 0`).
140
+ - **Bash portability**: `${var,,}` requires Bash 4+. macOS default `/bin/bash` is 3.2. Use
141
+ `tr '[:upper:]' '[:lower:]'` for case folding.
142
+ - **Empty-flag options**: `flag: ""` doesn't validate. Want to inject a value without a flag prefix?
143
+ Use script mode or a positional argument.
144
+ - **YAML folded scalars in command tokens**: a `>-` block as a single command token gets word-split
145
+ unquoted by bash. Quote it inside the YAML, or use script mode and store in a variable.
146
+ - **Required vs optional positionals after a variadic**: bash positional parsing has limits here.
147
+ Look hard at any tool with a variadic followed by anything.
148
+ - **Auto-detection failure modes**: when a value is auto-detected (e.g. project from git remote),
149
+ what happens if the detection fails? Empty string? `null`? Tool needs to either fail clearly or
150
+ accept an explicit override.
151
+
152
+ ### 9. Bash hint coverage (package-level `bash_hints`)
153
+
154
+ `bash_hints` is a list of regex patterns at the package level that drive a pre-bash redirect hook on
155
+ plugin targets that support one: when an agent calls raw bash with a command matching any pattern,
156
+ the hook denies the call and points the agent at the nerf skill instead. Patterns are matched
157
+ anywhere in the command. The hook automatically skips when it detects an actual wrapper invocation
158
+ -- it splits the command on shell separators (`&&`, `||`, `;`, `|`, `&`), finds the first
159
+ non-env-var token in each segment, and checks whether that token's basename starts with the wrapper
160
+ prefix. So `cd /repo && nerf-git status` and `/abs/path/nerf-git-add .` skip cleanly;
161
+ `git log --grep nerf-X` does not (the prefix appears only at arg position, not at an executable
162
+ position).
163
+
164
+ - **Coverage**: every CLI binary that this package's tools wrap must be covered by at least one
165
+ pattern. E.g., a package that wraps both `git` and `gh` must declare patterns for both. A tool
166
+ whose underlying command isn't matched by any hint will silently let the agent reach for raw bash
167
+ without redirection -- file it as a gap.
168
+ - **Anchoring**: prefer word-boundary anchors (`\bgit\b`) over start-of-line (`^git`). Compound
169
+ commands like `foo && git status` only match word-boundary patterns. Start-anchored patterns miss
170
+ those cases.
171
+ - **Specificity vs. breadth**: package-level patterns are coarse on purpose -- they redirect to a
172
+ skill, not a specific tool. `\baz boards\b` is fine even if the package doesn't yet wrap every
173
+ `az boards` subcommand; the hint says "the skill may wrap this," and the agent learns which tools
174
+ exist by loading the skill.
175
+ - **No false positives on the wrapper**: do NOT add a pattern that would match the wrapper's own
176
+ name when called by its absolute path. The executable-position exclusion in the hook covers normal
177
+ wrapper calls, but an over-eager pattern (e.g. `git` without word boundaries) can still misfire on
178
+ unrelated substrings in env exports or paths.
179
+ - **Extensions**: if this manifest is an extension of an existing package (same `package.name` in a
180
+ different file), `bash_hints` is unioned across manifests. An extension may declare additional
181
+ patterns covering its new surface (e.g. `\bgit lfs\b`) without restating the base patterns.
182
+
183
+ ### 10. Description, intro, and metadata hygiene
184
+
185
+ - Descriptions should describe _what the wrapper does_, not the underlying tool's general docs. Be
186
+ specific about constraints (e.g. "refuses on main").
187
+ - Skill intros (`package.skill_intro`) should cover _cross-tool policy_ — naming conventions, threat
188
+ conventions, "always do X before Y." Tool enumerations belong in the auto-generated overview that
189
+ follows the intro; don't duplicate.
190
+ - Argument and option `description:` fields should mention any non-obvious behavior (e.g. defaults,
191
+ valid values, format expectations).
192
+
193
+ ### 11. Output formatting (script-mode tools)
194
+
195
+ - Errors go to stderr (`>&2`).
196
+ - Each error message includes the tool name as a prefix so it's identifiable in agent output.
197
+ - Successful output goes to stdout, untransformed where possible (let downstream consumers parse).
198
+ - Don't print informational chatter for successful runs unless it's useful to the agent (failure
199
+ summaries are fine; "Connected to API!" isn't).
200
+
201
+ ## How to perform the review
202
+
203
+ 1. Read the diff, then re-read each changed tool definition end-to-end. Don't review by checklist;
204
+ review the tool. Apply the checklist after you understand the tool.
205
+ 2. For script-mode and template-mode tools, mentally render the bash. For non-trivial cases,
206
+ generate the wrapper (`uv run nerf generate --target bin --outdir /tmp/nerf-bin -c nerf.yaml`)
207
+ and read the actual script — small subtle issues only show in the rendered output.
208
+ 3. Compare against sibling tools in the same package and against the same operation in adjacent
209
+ packages. Inconsistency is a signal — sometimes it's a bug, sometimes it's a deliberate
210
+ divergence; flag it either way.
211
+ 4. Look at what's _not_ there: missing guards on tools that need them, missing companion tools for
212
+ multi-step workflows, missing `directory` options.
213
+
214
+ ## Output format
215
+
216
+ Write the review as a short report:
217
+
218
+ - **Summary**: one or two sentences about the overall change.
219
+ - **Issues**: numbered list, each with severity (`blocking` / `should-fix` / `nit`), `file:line`, a
220
+ quote of the offending line(s), and a concrete suggestion.
221
+ - **Skipped non-issues**: brief notes on things you considered and decided weren't problems,
222
+ especially when they look superficially like the issues you'd usually flag. This prevents the same
223
+ false-positive from coming up again.
224
+ - **Recommendations**: any cross-cutting suggestions (e.g. "consider adopting X pattern across this
225
+ package").
226
+
227
+ Keep severity calibrated. `blocking` is for correctness/security/footgun issues. `should-fix` is for
228
+ convention or clarity. `nit` is taste. If there are no issues, say so plainly.
229
+
230
+ Be specific. "Tighten the pattern" is useless; `pattern: "^[1-9][0-9]*$"` (rejects 0) is useful.
@@ -0,0 +1,53 @@
1
+ # Dependabot configuration.
2
+ #
3
+ # Two ecosystems are covered:
4
+ # - "pip" for the Python package at the repo root (reads pyproject.toml).
5
+ # Caveat: this repo uses uv, and Dependabot's pip ecosystem does NOT
6
+ # update uv.lock. Each Dependabot PR will need a follow-up `uv lock`
7
+ # to refresh the lockfile before CI passes. When GitHub's native `uv`
8
+ # ecosystem is GA, switch package-ecosystem to "uv" and drop this caveat.
9
+ # - "github-actions" for the workflows under .github/workflows/.
10
+ #
11
+ # commit-message blocks ensure Dependabot's PRs land as valid Conventional
12
+ # Commits (the repo enforces this via release-please).
13
+ #
14
+ # Major-version bumps for each are kept as standalone PRs because they
15
+ # usually need review (release notes, breaking changes); patches and
16
+ # minors are grouped to keep the PR queue manageable.
17
+ version: 2
18
+ updates:
19
+ - package-ecosystem: pip
20
+ directory: /
21
+ schedule:
22
+ interval: weekly
23
+ day: monday
24
+ open-pull-requests-limit: 3
25
+ labels:
26
+ - dependencies
27
+ - python
28
+ commit-message:
29
+ prefix: chore
30
+ include: scope
31
+ groups:
32
+ python-patch-and-minor:
33
+ update-types:
34
+ - patch
35
+ - minor
36
+
37
+ - package-ecosystem: github-actions
38
+ directory: /
39
+ schedule:
40
+ interval: weekly
41
+ day: monday
42
+ open-pull-requests-limit: 3
43
+ labels:
44
+ - dependencies
45
+ - ci
46
+ commit-message:
47
+ prefix: chore
48
+ include: scope
49
+ groups:
50
+ actions-patch-and-minor:
51
+ update-types:
52
+ - patch
53
+ - minor