@codyswann/lisa 1.52.4 → 1.52.6

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.
@@ -131,5 +131,11 @@
131
131
  "scripts/setup-deploy-key.sh",
132
132
  "HUMAN.md",
133
133
  ".claude/rules/lisa.md"
134
+ ],
135
+ "keep": [
136
+ "scripts/setup-deploy-key.sh",
137
+ ".claude/commands/lisa",
138
+ ".coderabbit.yml",
139
+ "HUMAN.md"
134
140
  ]
135
141
  }
@@ -130,4 +130,9 @@ jobs:
130
130
  with:
131
131
  node_version: '22.21.1'
132
132
  package_manager: 'bun'
133
- secrets: inherit
133
+ secrets:
134
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
135
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
136
+ GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}
137
+ FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
138
+ MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }}
@@ -55,5 +55,12 @@ jobs:
55
55
  override_blackout: true
56
56
  node_version: '22.21.1'
57
57
  package_manager: 'bun'
58
- secrets: inherit
58
+ secrets:
59
+ DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
60
+ RELEASE_SIGNING_KEY: ${{ secrets.RELEASE_SIGNING_KEY }}
61
+ SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
62
+ SIGNING_KEY_PASSPHRASE: ${{ secrets.SIGNING_KEY_PASSPHRASE }}
63
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
64
+ SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
65
+ SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
59
66
  # Trigger staging deployment after CDK trust fix
@@ -1,4 +1,3 @@
1
- import sonarjsPlugin from "eslint-plugin-sonarjs";
2
1
  /**
3
2
  * Creates the slow ESLint configuration for rules disabled in the main config.
4
3
  *
@@ -8,75 +7,7 @@ import sonarjsPlugin from "eslint-plugin-sonarjs";
8
7
  */
9
8
  export declare function getSlowConfig({ ignorePatterns, }?: {
10
9
  ignorePatterns?: readonly string[];
11
- }): ({
12
- ignores: string[];
13
- files?: never;
14
- linterOptions?: never;
15
- languageOptions?: never;
16
- plugins?: never;
17
- settings?: never;
18
- rules?: never;
19
- } | {
20
- files: string[];
21
- linterOptions: {
22
- noInlineConfig: boolean;
23
- };
24
- languageOptions: {
25
- parser: import("node_modules/typescript-eslint/dist/compatibility-types.js").CompatibleParser;
26
- parserOptions: {
27
- project: string;
28
- };
29
- };
30
- plugins: {
31
- sonarjs: typeof sonarjsPlugin;
32
- };
33
- settings: {
34
- "import/resolver": {
35
- typescript: boolean;
36
- };
37
- "import/ignore": string[];
38
- };
39
- rules: {
40
- "import/namespace": string;
41
- "import/no-cycle": string;
42
- "sonarjs/deprecation": string;
43
- };
44
- ignores?: never;
45
- })[];
46
- declare const _default: ({
47
- ignores: string[];
48
- files?: never;
49
- linterOptions?: never;
50
- languageOptions?: never;
51
- plugins?: never;
52
- settings?: never;
53
- rules?: never;
54
- } | {
55
- files: string[];
56
- linterOptions: {
57
- noInlineConfig: boolean;
58
- };
59
- languageOptions: {
60
- parser: import("node_modules/typescript-eslint/dist/compatibility-types.js").CompatibleParser;
61
- parserOptions: {
62
- project: string;
63
- };
64
- };
65
- plugins: {
66
- sonarjs: typeof sonarjsPlugin;
67
- };
68
- settings: {
69
- "import/resolver": {
70
- typescript: boolean;
71
- };
72
- "import/ignore": string[];
73
- };
74
- rules: {
75
- "import/namespace": string;
76
- "import/no-cycle": string;
77
- "sonarjs/deprecation": string;
78
- };
79
- ignores?: never;
80
- })[];
81
- export default _default;
10
+ }): import("eslint").Linter.Config[];
11
+ declare const defaultConfig: import("eslint").Linter.Config[];
12
+ export default defaultConfig;
82
13
  //# sourceMappingURL=slow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slow.d.ts","sourceRoot":"","sources":["../../../src/configs/eslint/slow.ts"],"names":[],"mappings":"AAeA,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAMlD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,cAAmB,GACpB,GAAE;IAAE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+D7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAA+B"}
1
+ {"version":3,"file":"slow.d.ts","sourceRoot":"","sources":["../../../src/configs/eslint/slow.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,cAAmB,GACpB,GAAE;IACD,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,GAAG,OAAO,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CA+DxC;AAED,QAAA,MAAM,aAAa,EAAE,OAAO,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAoB,CAAC;AACxE,eAAe,aAAa,CAAC"}
@@ -84,5 +84,6 @@ export function getSlowConfig({ ignorePatterns = [], } = {}) {
84
84
  },
85
85
  ];
86
86
  }
87
- export default getSlowConfig();
87
+ const defaultConfig = getSlowConfig();
88
+ export default defaultConfig;
88
89
  //# sourceMappingURL=slow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slow.js","sourceRoot":"","sources":["../../../src/configs/eslint/slow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,cAAc,GAAG,EAAE,MACuB,EAAE;IAC5C,OAAO;QACL,gEAAgE;QAChE,iEAAiE;QACjE,yDAAyD;QACzD,mFAAmF;QACnF;YACE,OAAO,EAAE;gBACP,GAAG,cAAc;gBACjB,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,iBAAiB;gBACjB,QAAQ;gBACR,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,gBAAgB;aACjB;SACF;QAED,4CAA4C;QAC5C;YACE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAC9B,aAAa,EAAE;gBACb,mEAAmE;gBACnE,iEAAiE;gBACjE,cAAc,EAAE,IAAI;aACrB;YACD,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,aAAa,EAAE;oBACb,OAAO,EAAE,sBAAsB;iBAChC;aACF;YACD,OAAO,EAAE;gBACP,GAAG,CAAC,sBAAsB,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,aAAa;aACvB;YACD,QAAQ,EAAE;gBACR,GAAG,CAAC,sBAAsB,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC3C,iBAAiB,EAAE;oBACjB,GAAG,CAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAGvD,IAAI,EAAE,CAAC;oBACT,UAAU,EAAE,IAAI;iBACjB;gBACD,oEAAoE;gBACpE,0EAA0E;gBAC1E,eAAe,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;aAClE;YACD,KAAK,EAAE;gBACL,4DAA4D;gBAC5D,kBAAkB,EAAE,OAAO;gBAC3B,iBAAiB,EAAE,OAAO;gBAC1B,oEAAoE;gBACpE,2DAA2D;gBAC3D,qBAAqB,EAAE,KAAK;aAC7B;SACF;KACF,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"slow.js","sourceRoot":"","sources":["../../../src/configs/eslint/slow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,cAAc,GAAG,EAAE,MAGjB,EAAE;IACJ,OAAO;QACL,gEAAgE;QAChE,iEAAiE;QACjE,yDAAyD;QACzD,mFAAmF;QACnF;YACE,OAAO,EAAE;gBACP,GAAG,cAAc;gBACjB,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,iBAAiB;gBACjB,QAAQ;gBACR,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,gBAAgB;aACjB;SACF;QAED,4CAA4C;QAC5C;YACE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAC9B,aAAa,EAAE;gBACb,mEAAmE;gBACnE,iEAAiE;gBACjE,cAAc,EAAE,IAAI;aACrB;YACD,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,aAAa,EAAE;oBACb,OAAO,EAAE,sBAAsB;iBAChC;aACF;YACD,OAAO,EAAE;gBACP,GAAG,CAAC,sBAAsB,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,aAAa;aACvB;YACD,QAAQ,EAAE;gBACR,GAAG,CAAC,sBAAsB,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC3C,iBAAiB,EAAE;oBACjB,GAAG,CAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAGvD,IAAI,EAAE,CAAC;oBACT,UAAU,EAAE,IAAI;iBACjB;gBACD,oEAAoE;gBACpE,0EAA0E;gBAC1E,eAAe,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;aAClE;YACD,KAAK,EAAE;gBACL,4DAA4D;gBAC5D,kBAAkB,EAAE,OAAO;gBAC3B,iBAAiB,EAAE,OAAO;gBAC1B,oEAAoE;gBACpE,2DAA2D;gBAC3D,qBAAqB,EAAE,KAAK;aAC7B;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAqC,aAAa,EAAE,CAAC;AACxE,eAAe,aAAa,CAAC"}
@@ -16,7 +16,12 @@ jobs:
16
16
  node_version: '22.21.1'
17
17
  package_manager: 'bun'
18
18
  skip_jobs: 'test,test:integration,test:e2e'
19
- secrets: inherit
19
+ secrets:
20
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
21
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
22
+ GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}
23
+ FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
24
+ MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }}
20
25
  lighthouse:
21
26
  name: 💡 Lighthouse CI
22
27
  needs: [quality]
@@ -71,7 +71,14 @@ jobs:
71
71
  package_manager: 'bun'
72
72
  override_blackout: true
73
73
  emergency_release: false
74
- secrets: inherit
74
+ secrets:
75
+ DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
76
+ RELEASE_SIGNING_KEY: ${{ secrets.RELEASE_SIGNING_KEY }}
77
+ SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
78
+ SIGNING_KEY_PASSPHRASE: ${{ secrets.SIGNING_KEY_PASSPHRASE }}
79
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
80
+ SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
81
+ SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
75
82
 
76
83
  # Step 2: Deploy to AWS (Custom deployment logic)
77
84
  check_eas_setup:
@@ -16,7 +16,12 @@ jobs:
16
16
  node_version: '22.21.1'
17
17
  package_manager: 'bun'
18
18
  skip_jobs: 'test,test:integration,test:e2e'
19
- secrets: inherit
19
+ secrets:
20
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
21
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
22
+ GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}
23
+ FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
24
+ MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }}
20
25
 
21
26
  zap:
22
27
  name: 🕷️ ZAP Baseline Scan
@@ -69,7 +69,14 @@ jobs:
69
69
  require_signatures: false
70
70
  node_version: '22.21.1'
71
71
  package_manager: 'bun'
72
- secrets: inherit
72
+ secrets:
73
+ DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
74
+ RELEASE_SIGNING_KEY: ${{ secrets.RELEASE_SIGNING_KEY }}
75
+ SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
76
+ SIGNING_KEY_PASSPHRASE: ${{ secrets.SIGNING_KEY_PASSPHRASE }}
77
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
78
+ SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
79
+ SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
73
80
 
74
81
  verify_aws_credentials:
75
82
  name: Verify AWS Credentials
@@ -242,7 +249,9 @@ jobs:
242
249
  virtual_users: 50
243
250
  fail_on_threshold: false # Don't fail the release if load test fails
244
251
  upload_results: true
245
- secrets: inherit
252
+ secrets:
253
+ K6_CLOUD_TOKEN: ${{ secrets.K6_CLOUD_TOKEN }}
254
+ CUSTOM_HEADERS: ${{ secrets.CUSTOM_HEADERS }}
246
255
 
247
256
  # Post-deployment monitoring (optional)
248
257
  post_deployment_monitoring:
package/package.json CHANGED
@@ -1,4 +1,35 @@
1
1
  {
2
+ "scripts": {
3
+ "build": "tsc && bun run build:plugins",
4
+ "pretest": "[ -d dist/configs ] || bun run build",
5
+ "test": "NODE_ENV=test jest --passWithNoTests",
6
+ "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration[.\\\\-](test|spec)\\.(ts|tsx)$\" --passWithNoTests",
7
+ "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration[.\\\\-](test|spec)\\.(ts|tsx)$\" --passWithNoTests",
8
+ "test:cov": "NODE_ENV=test jest --coverage",
9
+ "lint": "eslint . --quiet",
10
+ "lint:fix": "eslint . --fix",
11
+ "lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
12
+ "typecheck": "tsc --noEmit",
13
+ "format:check": "prettier --check .",
14
+ "format": "prettier --check . --write",
15
+ "knip": "knip",
16
+ "knip:fix": "knip --fix",
17
+ "sg:scan": "ast-grep scan",
18
+ "build:plugins": "bash scripts/build-plugins.sh",
19
+ "prepare": "node -e \"if (process.env.INIT_CWD && process.env.INIT_CWD.includes('.serverless')) { process.exit(0); }\" && husky install || true",
20
+ "start": "node dist/index.js",
21
+ "dev": "tsx src/index.ts",
22
+ "test:watch": "jest --watch",
23
+ "update-node-version": "tsx scripts/update-node-version.ts",
24
+ "cleanup:amplify-branches": "bash scripts/cleanup-amplify-branches.sh",
25
+ "cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
26
+ "github:status": "bash scripts/github-status-check.sh",
27
+ "setup:deploy-key": "bash scripts/setup-deploy-key.sh",
28
+ "lisa:update:local": "bash scripts/lisa-update-local.sh",
29
+ "lisa:commit-and-pr:local": "bash scripts/lisa-commit-and-pr-local.sh",
30
+ "prepublishOnly": "$npm_execpath run build",
31
+ "postinstall": "bash ./scripts/install-claude-plugins.sh || true; [ -d dist/configs ] || tsc || true"
32
+ },
2
33
  "engines": {
3
34
  "npm": "please-use-bun",
4
35
  "yarn": "please-use-bun",
@@ -29,39 +60,9 @@
29
60
  ],
30
61
  "trustedDependencies": [
31
62
  "@ast-grep/cli",
32
- "@sentry/cli"
63
+ "@sentry/cli",
64
+ "@codyswann/lisa"
33
65
  ],
34
- "scripts": {
35
- "test": "NODE_ENV=test jest --passWithNoTests",
36
- "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration[.\\\\-](test|spec)\\.(ts|tsx)$\" --passWithNoTests",
37
- "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration[.\\\\-](test|spec)\\.(ts|tsx)$\" --passWithNoTests",
38
- "test:cov": "NODE_ENV=test jest --coverage",
39
- "lint": "eslint . --quiet",
40
- "lint:fix": "eslint . --fix",
41
- "lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
42
- "typecheck": "tsc --noEmit",
43
- "format:check": "prettier --check .",
44
- "format": "prettier --check . --write",
45
- "knip": "knip",
46
- "knip:fix": "knip --fix",
47
- "sg:scan": "ast-grep scan",
48
- "build": "tsc && bun run build:plugins",
49
- "build:plugins": "bash scripts/build-plugins.sh",
50
- "prepare": "$npm_execpath run build || husky install || true",
51
- "lisa:update": "npx @codyswann/lisa@latest .",
52
- "start": "node dist/index.js",
53
- "dev": "tsx src/index.ts",
54
- "test:watch": "jest --watch",
55
- "update-node-version": "tsx scripts/update-node-version.ts",
56
- "cleanup:amplify-branches": "bash scripts/cleanup-amplify-branches.sh",
57
- "cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
58
- "github:status": "bash scripts/github-status-check.sh",
59
- "setup:deploy-key": "bash scripts/setup-deploy-key.sh",
60
- "lisa:update:local": "bash scripts/lisa-update-local.sh",
61
- "lisa:commit-and-pr:local": "bash scripts/lisa-commit-and-pr-local.sh",
62
- "prepublishOnly": "$npm_execpath run build",
63
- "postinstall": "bash ./scripts/install-claude-plugins.sh || true"
64
- },
65
66
  "resolutions": {
66
67
  "@isaacs/brace-expansion": "^5.0.1",
67
68
  "axios": ">=1.13.5"
@@ -71,7 +72,7 @@
71
72
  "axios": ">=1.13.5"
72
73
  },
73
74
  "name": "@codyswann/lisa",
74
- "version": "1.52.4",
75
+ "version": "1.52.6",
75
76
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
76
77
  "main": "dist/index.js",
77
78
  "exports": {
@@ -169,5 +170,8 @@
169
170
  "typescript": "~5.7.0",
170
171
  "typescript-eslint": "^8.0.0"
171
172
  },
173
+ "devDependencies": {
174
+ "@codyswann/lisa": "^1.49.0"
175
+ },
172
176
  "type": "module"
173
177
  }
@@ -9,6 +9,11 @@ if [ -z "$PROJECT_ROOT" ]; then exit 0; fi
9
9
  LISA_DIR="$PROJECT_ROOT/node_modules/@codyswann/lisa"
10
10
  if [ ! -d "$LISA_DIR" ]; then exit 0; fi
11
11
 
12
+ # Skip running Lisa on itself — the Lisa repo IS the template source.
13
+ # Self-running causes chicken-and-egg issues (npm package deletes source files).
14
+ PACKAGE_NAME=$(node -e "console.log(require('$PROJECT_ROOT/package.json').name || '')" 2>/dev/null || true)
15
+ if [ "$PACKAGE_NAME" = "@codyswann/lisa" ]; then exit 0; fi
16
+
12
17
  cd "$PROJECT_ROOT"
13
18
 
14
19
  # Apply Lisa templates non-interactively.
@@ -12,6 +12,10 @@ on:
12
12
  pull_request:
13
13
  types: [opened, reopened, ready_for_review]
14
14
 
15
+ permissions:
16
+ contents: write
17
+ pull-requests: write
18
+
15
19
  jobs:
16
20
  autoupdate:
17
21
  uses: CodySwannGT/lisa/.github/workflows/reusable-auto-update-pr-branches.yml@main
@@ -21,4 +25,3 @@ jobs:
21
25
  pr_base_ref: ${{ github.event.pull_request.base.ref || '' }}
22
26
  pr_number: ${{ github.event.pull_request.number || 0 }}
23
27
  repo_full_name: ${{ github.repository }}
24
- secrets: inherit
@@ -15,4 +15,9 @@ jobs:
15
15
  node_version: '22.21.1'
16
16
  package_manager: 'bun'
17
17
  skip_jobs: ''
18
- secrets: inherit
18
+ secrets:
19
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
20
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
21
+ GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}
22
+ FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
23
+ MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }}
@@ -17,4 +17,5 @@ jobs:
17
17
  repo_full_name: ${{ github.repository }}
18
18
  head_branch: ${{ github.event.workflow_run.head_branch }}
19
19
  run_id: ${{ github.event.workflow_run.id }}
20
- secrets: inherit
20
+ secrets:
21
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -17,4 +17,5 @@ jobs:
17
17
  pr_number: ${{ github.event.pull_request.number }}
18
18
  repo_owner: ${{ github.repository_owner }}
19
19
  repo_name: ${{ github.event.repository.name }}
20
- secrets: inherit
20
+ secrets:
21
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -17,4 +17,5 @@ jobs:
17
17
  repo_full_name: ${{ github.repository }}
18
18
  head_branch: ${{ github.event.workflow_run.head_branch }}
19
19
  run_id: ${{ github.event.workflow_run.id }}
20
- secrets: inherit
20
+ secrets:
21
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -11,4 +11,5 @@ on:
11
11
  jobs:
12
12
  reduce-complexity:
13
13
  uses: CodySwannGT/lisa/.github/workflows/reusable-claude-nightly-code-complexity.yml@main
14
- secrets: inherit
14
+ secrets:
15
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -11,4 +11,5 @@ on:
11
11
  jobs:
12
12
  improve-coverage:
13
13
  uses: CodySwannGT/lisa/.github/workflows/reusable-claude-nightly-test-coverage.yml@main
14
- secrets: inherit
14
+ secrets:
15
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -22,4 +22,5 @@ jobs:
22
22
  uses: CodySwannGT/lisa/.github/workflows/reusable-claude-nightly-test-improvement.yml@main
23
23
  with:
24
24
  mode: ${{ github.event.inputs.mode || 'nightly' }}
25
- secrets: inherit
25
+ secrets:
26
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -22,4 +22,5 @@ jobs:
22
22
  review_body: ${{ github.event.review.body || '' }}
23
23
  issue_body: ${{ github.event.issue.body || '' }}
24
24
  issue_title: ${{ github.event.issue.title || '' }}
25
- secrets: inherit
25
+ secrets:
26
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
@@ -35,11 +35,20 @@
35
35
  ".github/workflows/reusable-claude-nightly-test-improvement.yml"
36
36
  ],
37
37
  "keep": [
38
+ "eslint-plugin-code-organization",
38
39
  ".github/workflows/create-issue-on-failure.yml",
39
40
  ".github/workflows/create-github-issue-on-failure.yml",
40
41
  ".github/workflows/create-jira-issue-on-failure.yml",
41
42
  ".github/workflows/create-sentry-issue-on-failure.yml",
42
43
  ".github/workflows/quality.yml",
43
- ".github/workflows/release.yml"
44
+ ".github/workflows/release.yml",
45
+ ".github/workflows/reusable-auto-update-pr-branches.yml",
46
+ ".github/workflows/reusable-claude.yml",
47
+ ".github/workflows/reusable-claude-ci-auto-fix.yml",
48
+ ".github/workflows/reusable-claude-code-review-response.yml",
49
+ ".github/workflows/reusable-claude-deploy-auto-fix.yml",
50
+ ".github/workflows/reusable-claude-nightly-code-complexity.yml",
51
+ ".github/workflows/reusable-claude-nightly-test-coverage.yml",
52
+ ".github/workflows/reusable-claude-nightly-test-improvement.yml"
44
53
  ]
45
54
  }
@@ -14,9 +14,7 @@
14
14
  "knip": "knip",
15
15
  "knip:fix": "knip --fix",
16
16
  "sg:scan": "ast-grep scan",
17
- "build": "tsc",
18
- "prepare": "node -e \"if (process.env.INIT_CWD && process.env.INIT_CWD.includes('.serverless')) { process.exit(0); }\" && husky install || true",
19
- "lisa:update": "lisa ."
17
+ "prepare": "node -e \"if (process.env.INIT_CWD && process.env.INIT_CWD.includes('.serverless')) { process.exit(0); }\" && husky install || true"
20
18
  },
21
19
  "devDependencies": {
22
20
  "@codyswann/lisa": "^1.49.0"
@@ -31,6 +29,9 @@
31
29
  }
32
30
  },
33
31
  "defaults": {
32
+ "scripts": {
33
+ "build": "tsc"
34
+ },
34
35
  "engines": {
35
36
  "npm": "please-use-bun",
36
37
  "yarn": "please-use-bun",