@codyswann/lisa 1.11.0 โ†’ 1.11.1

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
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "resolutions": {},
76
76
  "name": "@codyswann/lisa",
77
- "version": "1.11.0",
77
+ "version": "1.11.1",
78
78
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
79
79
  "main": "dist/index.js",
80
80
  "bin": {
@@ -86,6 +86,19 @@ elif [ "$PACKAGE_MANAGER" = "bun" ]; then
86
86
  echo "โœ… No high or critical vulnerabilities found in production dependencies"
87
87
  fi
88
88
 
89
+ # Run slow lint rules - only if script exists
90
+ if jq -e '.scripts["lint:slow"]' package.json >/dev/null 2>&1; then
91
+ echo "๐Ÿข Running slow lint rules..."
92
+ $RUNNER lint:slow
93
+ if [ $? -ne 0 ]; then
94
+ echo "โŒ Slow lint rules failed. Please fix linting issues before pushing."
95
+ exit 1
96
+ fi
97
+ echo "โœ… Slow lint rules passed"
98
+ else
99
+ echo "โ„น๏ธ Skipping slow lint rules (lint:slow not configured)"
100
+ fi
101
+
89
102
  # Run dead code detection (knip) - only if script exists
90
103
  if jq -e '.scripts.knip' package.json >/dev/null 2>&1; then
91
104
  echo "๐Ÿ—‘๏ธ Running dead code detection (knip)..."
@@ -29,7 +29,7 @@
29
29
  # with:
30
30
  # node_version: '22.21.1'
31
31
  # package_manager: 'npm'
32
- # skip_security: true
32
+ # skip_jobs: 'npm_security_scan,sonarcloud,snyk'
33
33
  # secrets:
34
34
  # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # For SonarCloud SAST
35
35
  # SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} # For Snyk dependency scanning
@@ -53,51 +53,6 @@ on:
53
53
  required: false
54
54
  default: 'npm'
55
55
  type: string
56
- skip_lint:
57
- description: 'Skip the lint job'
58
- required: false
59
- default: false
60
- type: boolean
61
- skip_typecheck:
62
- description: 'Skip the typecheck job'
63
- required: false
64
- default: false
65
- type: boolean
66
- skip_test:
67
- description: 'Skip the test job'
68
- required: false
69
- default: false
70
- type: boolean
71
- skip_format:
72
- description: 'Skip the format check job'
73
- required: false
74
- default: false
75
- type: boolean
76
- skip_build:
77
- description: 'Skip the build job'
78
- required: false
79
- default: false
80
- type: boolean
81
- skip_security:
82
- description: 'Skip the security scan job'
83
- required: false
84
- default: false
85
- type: boolean
86
- skip_dead_code:
87
- description: 'Skip the dead code detection job (knip)'
88
- required: false
89
- default: false
90
- type: boolean
91
- skip_sg_scan:
92
- description: 'Skip the ast-grep scan job'
93
- required: false
94
- default: false
95
- type: boolean
96
- skip_lint_slow:
97
- description: 'Skip the slow lint rules job'
98
- required: false
99
- default: false
100
- type: boolean
101
56
  skip_jobs:
102
57
  description: 'Jobs to skip (comma-separated: lint,lint_slow,typecheck,test,test:unit,test:integration,test:e2e,maestro_e2e,playwright_e2e,format,build,dead_code,sg_scan,npm_security_scan,github_issue)'
103
58
  required: false
@@ -261,7 +216,7 @@ jobs:
261
216
  name: ๐Ÿงน Lint
262
217
  runs-on: ubuntu-latest
263
218
  timeout-minutes: 15
264
- if: ${{ !inputs.skip_lint && !contains(inputs.skip_jobs, 'lint') }}
219
+ if: ${{ !contains(inputs.skip_jobs, 'lint') }}
265
220
 
266
221
  steps:
267
222
  - name: ๐Ÿ“ฅ Checkout repository
@@ -299,7 +254,7 @@ jobs:
299
254
  name: ๐Ÿข Slow Lint Rules
300
255
  runs-on: ubuntu-latest
301
256
  timeout-minutes: 20
302
- if: ${{ !inputs.skip_lint_slow && !contains(inputs.skip_jobs, 'lint_slow') }}
257
+ if: ${{ !contains(inputs.skip_jobs, 'lint_slow') }}
303
258
 
304
259
  steps:
305
260
  - name: ๐Ÿ“ฅ Checkout repository
@@ -338,7 +293,7 @@ jobs:
338
293
  name: ๐Ÿ” Type Check
339
294
  runs-on: ubuntu-latest
340
295
  timeout-minutes: 15
341
- if: ${{ !inputs.skip_typecheck && !contains(inputs.skip_jobs, 'typecheck') }}
296
+ if: ${{ !contains(inputs.skip_jobs, 'typecheck') }}
342
297
 
343
298
  steps:
344
299
  - name: ๐Ÿ“ฅ Checkout repository
@@ -377,7 +332,7 @@ jobs:
377
332
  name: ๐Ÿงช Run Tests
378
333
  runs-on: ubuntu-latest
379
334
  timeout-minutes: 20
380
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'test') }}
335
+ if: ${{ !contains(inputs.skip_jobs, 'test') }}
381
336
 
382
337
  steps:
383
338
  - name: ๐Ÿ“ฅ Checkout repository
@@ -421,7 +376,7 @@ jobs:
421
376
  name: ๐Ÿงช Run Unit Tests
422
377
  runs-on: ubuntu-latest
423
378
  timeout-minutes: 45
424
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'test:unit') }}
379
+ if: ${{ !contains(inputs.skip_jobs, 'test:unit') }}
425
380
 
426
381
  steps:
427
382
  - name: ๐Ÿ“ฅ Checkout repository
@@ -484,7 +439,7 @@ jobs:
484
439
  name: ๐Ÿงช Run Integration Tests
485
440
  runs-on: ubuntu-latest
486
441
  timeout-minutes: 30
487
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'test:integration') }}
442
+ if: ${{ !contains(inputs.skip_jobs, 'test:integration') }}
488
443
 
489
444
  steps:
490
445
  - name: ๐Ÿ“ฅ Checkout repository
@@ -547,7 +502,7 @@ jobs:
547
502
  name: ๐Ÿงช Run E2E Tests
548
503
  runs-on: ubuntu-latest
549
504
  timeout-minutes: 40
550
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'test:e2e') }}
505
+ if: ${{ !contains(inputs.skip_jobs, 'test:e2e') }}
551
506
 
552
507
  steps:
553
508
  - name: ๐Ÿ“ฅ Checkout repository
@@ -610,7 +565,7 @@ jobs:
610
565
  name: ๐Ÿ“ฑ Maestro Cloud E2E Tests
611
566
  runs-on: ubuntu-latest
612
567
  timeout-minutes: 30
613
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'maestro_e2e') }}
568
+ if: ${{ !contains(inputs.skip_jobs, 'maestro_e2e') }}
614
569
 
615
570
  steps:
616
571
  - name: ๐Ÿ“ฅ Checkout repository
@@ -690,7 +645,7 @@ jobs:
690
645
  name: ๐ŸŽญ Playwright E2E Tests
691
646
  runs-on: ubuntu-latest
692
647
  timeout-minutes: 30
693
- if: ${{ !inputs.skip_test && !contains(inputs.skip_jobs, 'playwright_e2e') }}
648
+ if: ${{ !contains(inputs.skip_jobs, 'playwright_e2e') }}
694
649
 
695
650
  steps:
696
651
  - name: ๐Ÿ“ฅ Checkout repository
@@ -764,7 +719,7 @@ jobs:
764
719
  name: ๐Ÿ“ Check Formatting
765
720
  runs-on: ubuntu-latest
766
721
  timeout-minutes: 10
767
- if: ${{ !inputs.skip_format && !contains(inputs.skip_jobs, 'format') }}
722
+ if: ${{ !contains(inputs.skip_jobs, 'format') }}
768
723
 
769
724
  steps:
770
725
  - name: ๐Ÿ“ฅ Checkout repository
@@ -803,7 +758,7 @@ jobs:
803
758
  name: ๐Ÿ—๏ธ Build
804
759
  runs-on: ubuntu-latest
805
760
  timeout-minutes: 20
806
- if: ${{ !inputs.skip_build && !contains(inputs.skip_jobs, 'build') }}
761
+ if: ${{ !contains(inputs.skip_jobs, 'build') }}
807
762
 
808
763
  steps:
809
764
  - name: ๐Ÿ“ฅ Checkout repository
@@ -855,7 +810,7 @@ jobs:
855
810
  name: ๐Ÿ—‘๏ธ Dead Code Detection
856
811
  runs-on: ubuntu-latest
857
812
  timeout-minutes: 10
858
- if: ${{ !inputs.skip_dead_code && !contains(inputs.skip_jobs, 'dead_code') }}
813
+ if: ${{ !contains(inputs.skip_jobs, 'dead_code') }}
859
814
 
860
815
  steps:
861
816
  - name: ๐Ÿ“ฅ Checkout repository
@@ -892,7 +847,7 @@ jobs:
892
847
  name: ๐Ÿ”Ž AST Grep Scan
893
848
  runs-on: ubuntu-latest
894
849
  timeout-minutes: 10
895
- if: ${{ !inputs.skip_sg_scan && !contains(inputs.skip_jobs, 'sg_scan') }}
850
+ if: ${{ !contains(inputs.skip_jobs, 'sg_scan') }}
896
851
 
897
852
  steps:
898
853
  - name: ๐Ÿ“ฅ Checkout repository
@@ -970,7 +925,7 @@ jobs:
970
925
  name: ๐Ÿ”’ Security Scan
971
926
  runs-on: ubuntu-latest
972
927
  timeout-minutes: 15
973
- if: ${{ !inputs.skip_security && !contains(inputs.skip_jobs, 'npm_security_scan') }}
928
+ if: ${{ !contains(inputs.skip_jobs, 'npm_security_scan') }}
974
929
  steps:
975
930
  - name: ๐Ÿ“ฅ Checkout repository
976
931
  uses: actions/checkout@v4
@@ -1058,7 +1013,7 @@ jobs:
1058
1013
  name: ๐Ÿ” SonarCloud SAST
1059
1014
  runs-on: ubuntu-latest
1060
1015
  timeout-minutes: 20
1061
- if: ${{ !inputs.skip_security && !contains(inputs.skip_jobs, 'sonarcloud') }}
1016
+ if: ${{ !contains(inputs.skip_jobs, 'sonarcloud') }}
1062
1017
  steps:
1063
1018
  - name: ๐Ÿ“ฅ Checkout repository
1064
1019
  uses: actions/checkout@v4
@@ -1148,7 +1103,7 @@ jobs:
1148
1103
  name: ๐Ÿ›ก๏ธ Snyk Dependency Scan
1149
1104
  runs-on: ubuntu-latest
1150
1105
  timeout-minutes: 20
1151
- if: ${{ !inputs.skip_security && !contains(inputs.skip_jobs, 'snyk') }}
1106
+ if: ${{ !contains(inputs.skip_jobs, 'snyk') }}
1152
1107
  steps:
1153
1108
  - name: ๐Ÿ“ฅ Checkout repository
1154
1109
  uses: actions/checkout@v4
@@ -1217,7 +1172,7 @@ jobs:
1217
1172
  name: ๐Ÿ” GitGuardian Secret Detection
1218
1173
  runs-on: ubuntu-latest
1219
1174
  timeout-minutes: 20
1220
- if: ${{ !inputs.skip_security && !contains(inputs.skip_jobs, 'secret_scanning') }}
1175
+ if: ${{ !contains(inputs.skip_jobs, 'secret_scanning') }}
1221
1176
  steps:
1222
1177
  - name: ๐Ÿ“ฅ Checkout repository
1223
1178
  uses: actions/checkout@v4
@@ -1255,7 +1210,7 @@ jobs:
1255
1210
  name: ๐Ÿ“œ FOSSA License Check
1256
1211
  runs-on: ubuntu-latest
1257
1212
  timeout-minutes: 20
1258
- if: ${{ !inputs.skip_security && !contains(inputs.skip_jobs, 'license_compliance') }}
1213
+ if: ${{ !contains(inputs.skip_jobs, 'license_compliance') }}
1259
1214
  steps:
1260
1215
  - name: ๐Ÿ“ฅ Checkout repository
1261
1216
  uses: actions/checkout@v4
@@ -55,7 +55,8 @@
55
55
  "cache-manager",
56
56
  "@jest/globals",
57
57
  "ts-node",
58
- "ts-morph"
58
+ "ts-morph",
59
+ "globals"
59
60
  ],
60
61
  "ignoreBinaries": ["expo", "playwright", "audit", "docker", "eval"],
61
62
  "ignoreExportsUsedInFile": true
@@ -1,41 +0,0 @@
1
- #!/bin/bash
2
- # This file is managed by Lisa.
3
- # Do not edit directly โ€” changes will be overwritten on the next `lisa` run.
4
-
5
- # Hook script to run slow lint rules before pushing
6
- # Blocks push if lint:slow fails, preventing pushes with linting issues
7
- # Reference: https://docs.claude.com/en/docs/claude-code/hooks
8
-
9
- # Check if package.json has lint:slow script
10
- if ! grep -q '"lint:slow"' package.json 2>/dev/null; then
11
- echo "โ„น Skipping lint:slow: lint:slow script not found in package.json"
12
- exit 0
13
- fi
14
-
15
- # Detect package manager based on lock file presence
16
- detect_package_manager() {
17
- if [ -f "bun.lockb" ] || [ -f "bun.lock" ]; then
18
- echo "bun"
19
- elif [ -f "pnpm-lock.yaml" ]; then
20
- echo "pnpm"
21
- elif [ -f "yarn.lock" ]; then
22
- echo "yarn"
23
- elif [ -f "package-lock.json" ]; then
24
- echo "npm"
25
- else
26
- echo "npm" # Default fallback
27
- fi
28
- }
29
-
30
- PKG_MANAGER=$(detect_package_manager)
31
-
32
- echo "๐Ÿข Running slow lint rules before push..."
33
-
34
- # Run lint:slow - exit code matters here, we want to block the push if it fails
35
- if $PKG_MANAGER run lint:slow; then
36
- echo "โœ“ Slow lint rules passed"
37
- exit 0
38
- else
39
- echo "โœ— Slow lint rules failed. Fix issues and try again." >&2
40
- exit 1 # Block the push
41
- fi
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * CDK CLI Entrypoint
5
- *
6
- * This is a placeholder entrypoint for the CDK infrastructure CLI.
7
- * It should be replaced with the actual CDK app implementation.
8
- *
9
- * See: https://docs.aws.amazon.com/cdk/latest/guide/cli.html
10
- */
11
-
12
- console.error(
13
- "Error: CDK infrastructure entrypoint not configured. " +
14
- "Please update bin/infrastructure.js with your CDK app."
15
- );
16
- process.exit(1);