clud-bug 0.6.13 → 0.6.14
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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clud-bug",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.14",
|
|
4
4
|
"description": "Skill-driven Claude PR review. Ship a brand-voice skill, get brand reviews. Each finding cites the skill that motivated it. CLI installs the workflow + a baseline kit; add more from skills.sh.",
|
|
5
5
|
"homepage": "https://cludbug.dev",
|
|
6
6
|
"bugs": "https://github.com/thrillmade/clud-bug/issues",
|
|
@@ -6,7 +6,40 @@ on:
|
|
|
6
6
|
types: [opened, synchronize]
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
+
# Pre-flight (v0.6.14 / 0.0.W) — see workflow.yml.tmpl for design notes.
|
|
10
|
+
paths-check:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
pull-requests: read
|
|
15
|
+
outputs:
|
|
16
|
+
is_workflow_only: ${{ steps.classify.outputs.is_workflow_only }}
|
|
17
|
+
steps:
|
|
18
|
+
- name: Classify PR diff
|
|
19
|
+
id: classify
|
|
20
|
+
env:
|
|
21
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
+
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
23
|
+
REPO: ${{ github.repository }}
|
|
24
|
+
run: |
|
|
25
|
+
CHANGED=$(gh pr diff "$PR_NUMBER" -R "$REPO" --name-only)
|
|
26
|
+
if [ -z "$CHANGED" ]; then echo "is_workflow_only=false" >> "$GITHUB_OUTPUT"; exit 0; fi
|
|
27
|
+
IS_WORKFLOW_ONLY=true
|
|
28
|
+
while IFS= read -r f; do
|
|
29
|
+
case "$f" in
|
|
30
|
+
.github/workflows/clud-bug-*.yml) ;;
|
|
31
|
+
.github/actions/strict-mode-gate/*) ;;
|
|
32
|
+
*) IS_WORKFLOW_ONLY=false; break ;;
|
|
33
|
+
esac
|
|
34
|
+
done <<< "$CHANGED"
|
|
35
|
+
echo "is_workflow_only=$IS_WORKFLOW_ONLY" >> "$GITHUB_OUTPUT"
|
|
36
|
+
if [ "$IS_WORKFLOW_ONLY" = "true" ]; then
|
|
37
|
+
echo "::notice title=Clud Bug 🐛::Skipping LLM review — workflow-only PR."
|
|
38
|
+
fi
|
|
39
|
+
|
|
9
40
|
clud-bug-review:
|
|
41
|
+
needs: paths-check
|
|
42
|
+
if: needs.paths-check.outputs.is_workflow_only != 'true'
|
|
10
43
|
runs-on: ubuntu-latest
|
|
11
44
|
permissions:
|
|
12
45
|
contents: read
|
|
@@ -85,6 +118,6 @@ jobs:
|
|
|
85
118
|
# Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
|
|
86
119
|
- name: Strict mode — fail check on critical findings
|
|
87
120
|
if: success()
|
|
88
|
-
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.
|
|
121
|
+
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.14
|
|
89
122
|
with:
|
|
90
123
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -6,7 +6,40 @@ on:
|
|
|
6
6
|
types: [opened, synchronize]
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
+
# Pre-flight (v0.6.14 / 0.0.W) — see workflow.yml.tmpl for design notes.
|
|
10
|
+
paths-check:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
pull-requests: read
|
|
15
|
+
outputs:
|
|
16
|
+
is_workflow_only: ${{ steps.classify.outputs.is_workflow_only }}
|
|
17
|
+
steps:
|
|
18
|
+
- name: Classify PR diff
|
|
19
|
+
id: classify
|
|
20
|
+
env:
|
|
21
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
+
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
23
|
+
REPO: ${{ github.repository }}
|
|
24
|
+
run: |
|
|
25
|
+
CHANGED=$(gh pr diff "$PR_NUMBER" -R "$REPO" --name-only)
|
|
26
|
+
if [ -z "$CHANGED" ]; then echo "is_workflow_only=false" >> "$GITHUB_OUTPUT"; exit 0; fi
|
|
27
|
+
IS_WORKFLOW_ONLY=true
|
|
28
|
+
while IFS= read -r f; do
|
|
29
|
+
case "$f" in
|
|
30
|
+
.github/workflows/clud-bug-*.yml) ;;
|
|
31
|
+
.github/actions/strict-mode-gate/*) ;;
|
|
32
|
+
*) IS_WORKFLOW_ONLY=false; break ;;
|
|
33
|
+
esac
|
|
34
|
+
done <<< "$CHANGED"
|
|
35
|
+
echo "is_workflow_only=$IS_WORKFLOW_ONLY" >> "$GITHUB_OUTPUT"
|
|
36
|
+
if [ "$IS_WORKFLOW_ONLY" = "true" ]; then
|
|
37
|
+
echo "::notice title=Clud Bug 🐛::Skipping LLM review — workflow-only PR."
|
|
38
|
+
fi
|
|
39
|
+
|
|
9
40
|
clud-bug-review:
|
|
41
|
+
needs: paths-check
|
|
42
|
+
if: needs.paths-check.outputs.is_workflow_only != 'true'
|
|
10
43
|
runs-on: ubuntu-latest
|
|
11
44
|
permissions:
|
|
12
45
|
contents: read
|
|
@@ -85,6 +118,6 @@ jobs:
|
|
|
85
118
|
# Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
|
|
86
119
|
- name: Strict mode — fail check on critical findings
|
|
87
120
|
if: success()
|
|
88
|
-
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.
|
|
121
|
+
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.14
|
|
89
122
|
with:
|
|
90
123
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -6,7 +6,51 @@ on:
|
|
|
6
6
|
types: [opened, synchronize]
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
+
# Pre-flight (v0.6.14 / 0.0.W): if the PR ONLY touches clud-bug workflow
|
|
10
|
+
# files or the strict-mode-gate composite action, skip the LLM review
|
|
11
|
+
# entirely. claude-code-action would refuse to run on such a PR anyway
|
|
12
|
+
# (self-modification guard — required for security), and a template
|
|
13
|
+
# re-render has no useful review surface. Skipping turns a previously
|
|
14
|
+
# required-admin-bypass merge into a normal one, AND saves the LLM
|
|
15
|
+
# call cost. Security: the classifier requires ALL changed files to
|
|
16
|
+
# match the allow-list — a mixed PR (workflow + code) still runs the
|
|
17
|
+
# review normally.
|
|
18
|
+
paths-check:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: read
|
|
23
|
+
outputs:
|
|
24
|
+
is_workflow_only: ${{ steps.classify.outputs.is_workflow_only }}
|
|
25
|
+
steps:
|
|
26
|
+
- name: Classify PR diff
|
|
27
|
+
id: classify
|
|
28
|
+
env:
|
|
29
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
30
|
+
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
31
|
+
REPO: ${{ github.repository }}
|
|
32
|
+
run: |
|
|
33
|
+
CHANGED=$(gh pr diff "$PR_NUMBER" -R "$REPO" --name-only)
|
|
34
|
+
if [ -z "$CHANGED" ]; then
|
|
35
|
+
echo "is_workflow_only=false" >> "$GITHUB_OUTPUT"
|
|
36
|
+
exit 0
|
|
37
|
+
fi
|
|
38
|
+
IS_WORKFLOW_ONLY=true
|
|
39
|
+
while IFS= read -r f; do
|
|
40
|
+
case "$f" in
|
|
41
|
+
.github/workflows/clud-bug-*.yml) ;;
|
|
42
|
+
.github/actions/strict-mode-gate/*) ;;
|
|
43
|
+
*) IS_WORKFLOW_ONLY=false; break ;;
|
|
44
|
+
esac
|
|
45
|
+
done <<< "$CHANGED"
|
|
46
|
+
echo "is_workflow_only=$IS_WORKFLOW_ONLY" >> "$GITHUB_OUTPUT"
|
|
47
|
+
if [ "$IS_WORKFLOW_ONLY" = "true" ]; then
|
|
48
|
+
echo "::notice title=Clud Bug 🐛::Skipping LLM review — PR only touches workflow files (claude-code-action would refuse anyway due to self-modification guard)."
|
|
49
|
+
fi
|
|
50
|
+
|
|
9
51
|
clud-bug-review:
|
|
52
|
+
needs: paths-check
|
|
53
|
+
if: needs.paths-check.outputs.is_workflow_only != 'true'
|
|
10
54
|
runs-on: ubuntu-latest
|
|
11
55
|
permissions:
|
|
12
56
|
contents: read
|
|
@@ -145,6 +189,6 @@ jobs:
|
|
|
145
189
|
# Letting the action's own failure fail the check is louder and right.
|
|
146
190
|
- name: Strict mode — fail check on critical findings
|
|
147
191
|
if: success()
|
|
148
|
-
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.
|
|
192
|
+
uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.6.14
|
|
149
193
|
with:
|
|
150
194
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|