@codyswann/lisa 1.47.0 → 1.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/all/copy-overwrite/.claude/rules/lisa.md +23 -10
- package/all/copy-overwrite/.claude/settings.json +10 -230
- package/all/deletions.json +67 -1
- package/cdk/copy-overwrite/.claude/settings.json +80 -0
- package/cdk/create-only/.github/workflows/ci.yml +1 -1
- package/cdk/create-only/.github/workflows/deploy.yml +1 -1
- package/dist/core/lisa.d.ts +14 -0
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +47 -0
- package/dist/core/lisa.js.map +1 -1
- package/expo/copy-overwrite/.claude/settings.json +80 -0
- package/expo/copy-overwrite/eslint.expo.ts +2 -2
- package/expo/create-only/.github/workflows/ci.yml +1 -1
- package/expo/create-only/.github/workflows/deploy.yml +1 -1
- package/expo/deletions.json +33 -0
- package/expo/package-lisa/package.lisa.json +2 -2
- package/nestjs/copy-overwrite/.claude/settings.json +80 -0
- package/nestjs/create-only/.github/workflows/ci.yml +1 -1
- package/nestjs/create-only/.github/workflows/deploy.yml +1 -1
- package/nestjs/deletions.json +8 -0
- package/package.json +8 -4
- package/rails/copy-overwrite/.claude/settings.json +80 -0
- package/rails/create-only/.github/workflows/ci.yml +1 -1
- package/rails/deletions.json +11 -1
- package/typescript/copy-overwrite/.claude/settings.json +13 -231
- package/typescript/copy-overwrite/.github/workflows/claude-ci-auto-fix.yml +1 -0
- package/typescript/copy-overwrite/.github/workflows/claude-code-review-response.yml +11 -10
- package/typescript/copy-overwrite/.github/workflows/claude-deploy-auto-fix.yml +1 -0
- package/typescript/copy-overwrite/.github/workflows/claude-nightly-code-complexity.yml +1 -0
- package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-coverage.yml +1 -0
- package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-improvement.yml +2 -0
- package/typescript/copy-overwrite/.github/workflows/claude.yml +1 -0
- package/typescript/copy-overwrite/eslint.typescript.ts +1 -1
- package/typescript/create-only/.github/workflows/ci.yml +1 -1
- package/typescript/deletions.json +12 -1
- package/typescript/package-lisa/package.lisa.json +1 -1
- package/all/copy-overwrite/.claude/agents/agent-architect.md +0 -310
- package/all/copy-overwrite/.claude/agents/architecture-specialist.md +0 -53
- package/all/copy-overwrite/.claude/agents/debug-specialist.md +0 -204
- package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +0 -183
- package/all/copy-overwrite/.claude/agents/hooks-expert.md +0 -74
- package/all/copy-overwrite/.claude/agents/implementer.md +0 -54
- package/all/copy-overwrite/.claude/agents/learner.md +0 -44
- package/all/copy-overwrite/.claude/agents/performance-specialist.md +0 -95
- package/all/copy-overwrite/.claude/agents/product-specialist.md +0 -72
- package/all/copy-overwrite/.claude/agents/quality-specialist.md +0 -55
- package/all/copy-overwrite/.claude/agents/security-specialist.md +0 -58
- package/all/copy-overwrite/.claude/agents/skill-evaluator.md +0 -246
- package/all/copy-overwrite/.claude/agents/slash-command-architect.md +0 -87
- package/all/copy-overwrite/.claude/agents/test-specialist.md +0 -64
- package/all/copy-overwrite/.claude/agents/verification-specialist.md +0 -189
- package/all/copy-overwrite/.claude/agents/web-search-researcher.md +0 -112
- package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +0 -7
- package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/all/copy-overwrite/.claude/commands/git/commit.md +0 -7
- package/all/copy-overwrite/.claude/commands/git/prune.md +0 -6
- package/all/copy-overwrite/.claude/commands/git/submit-pr.md +0 -7
- package/all/copy-overwrite/.claude/commands/jira/create.md +0 -7
- package/all/copy-overwrite/.claude/commands/jira/sync.md +0 -7
- package/all/copy-overwrite/.claude/commands/jira/verify.md +0 -7
- package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +0 -7
- package/all/copy-overwrite/.claude/commands/plan/add-test-coverage.md +0 -7
- package/all/copy-overwrite/.claude/commands/plan/create.md +0 -6
- package/all/copy-overwrite/.claude/commands/plan/execute.md +0 -7
- package/all/copy-overwrite/.claude/commands/plan/fix-linter-error.md +0 -7
- package/all/copy-overwrite/.claude/commands/plan/local-code-review.md +0 -6
- package/all/copy-overwrite/.claude/commands/plan/lower-code-complexity.md +0 -6
- package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines-per-function.md +0 -7
- package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines.md +0 -7
- package/all/copy-overwrite/.claude/commands/pull-request/review.md +0 -7
- package/all/copy-overwrite/.claude/commands/security/zap-scan.md +0 -6
- package/all/copy-overwrite/.claude/commands/sonarqube/check.md +0 -6
- package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +0 -6
- package/all/copy-overwrite/.claude/commands/tasks/load.md +0 -7
- package/all/copy-overwrite/.claude/commands/tasks/sync.md +0 -7
- package/all/copy-overwrite/.claude/hooks/check-tired-boss.sh +0 -61
- package/all/copy-overwrite/.claude/hooks/debug-hook.sh +0 -47
- package/all/copy-overwrite/.claude/hooks/enforce-plan-rules.sh +0 -15
- package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +0 -183
- package/all/copy-overwrite/.claude/hooks/setup-jira-cli.sh +0 -52
- package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +0 -107
- package/all/copy-overwrite/.claude/hooks/ticket-sync-reminder.sh +0 -23
- package/all/copy-overwrite/.claude/hooks/track-plan-sessions.sh +0 -164
- package/all/copy-overwrite/.claude/rules/coding-philosophy.md +0 -428
- package/all/copy-overwrite/.claude/rules/verfication.md +0 -541
- package/all/copy-overwrite/.claude/skills/agent-design-best-practices/SKILL.md +0 -219
- package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +0 -48
- package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/all/copy-overwrite/.claude/skills/git-prune/SKILL.md +0 -35
- package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +0 -44
- package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +0 -41
- package/all/copy-overwrite/.claude/skills/jira-sync/SKILL.md +0 -63
- package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +0 -29
- package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +0 -209
- package/all/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -44
- package/all/copy-overwrite/.claude/skills/plan-execute/SKILL.md +0 -89
- package/all/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
- package/all/copy-overwrite/.claude/skills/plan-local-code-review/SKILL.md +0 -88
- package/all/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -44
- package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -45
- package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
- package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +0 -68
- package/all/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
- package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +0 -202
- package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +0 -210
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +0 -305
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +0 -112
- package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +0 -67
- package/all/copy-overwrite/.claude/skills/sonarqube-check/SKILL.md +0 -11
- package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +0 -8
- package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +0 -88
- package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +0 -108
- package/eslint-plugin-code-organization/README.md +0 -149
- package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
- package/eslint-plugin-code-organization/index.js +0 -28
- package/eslint-plugin-code-organization/package.json +0 -10
- package/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
- package/expo/copy-overwrite/.claude/agents/ops-specialist.md +0 -124
- package/expo/copy-overwrite/.claude/rules/expo-verification.md +0 -261
- package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +0 -238
- package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +0 -360
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +0 -360
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +0 -417
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +0 -257
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +0 -233
- package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +0 -329
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +0 -299
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +0 -749
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +0 -318
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +0 -200
- package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +0 -209
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +0 -268
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +0 -619
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +0 -340
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +0 -276
- package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +0 -416
- package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +0 -202
- package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +0 -445
- package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +0 -309
- package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +0 -417
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +0 -431
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +0 -290
- package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +0 -171
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +0 -411
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +0 -343
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +0 -307
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +0 -300
- package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +0 -315
- package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +0 -362
- package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +0 -505
- package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +0 -711
- package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +0 -446
- package/expo/copy-overwrite/.claude/skills/ops-browser-uat/SKILL.md +0 -124
- package/expo/copy-overwrite/.claude/skills/ops-check-logs/SKILL.md +0 -211
- package/expo/copy-overwrite/.claude/skills/ops-db-ops/SKILL.md +0 -119
- package/expo/copy-overwrite/.claude/skills/ops-deploy/SKILL.md +0 -119
- package/expo/copy-overwrite/.claude/skills/ops-monitor-errors/SKILL.md +0 -99
- package/expo/copy-overwrite/.claude/skills/ops-performance/SKILL.md +0 -165
- package/expo/copy-overwrite/.claude/skills/ops-run-local/SKILL.md +0 -166
- package/expo/copy-overwrite/.claude/skills/ops-verify-health/SKILL.md +0 -101
- package/expo/copy-overwrite/.claude/skills/owasp-zap/SKILL.md +0 -56
- package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +0 -223
- package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +0 -314
- package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +0 -420
- package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +0 -556
- package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +0 -590
- package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +0 -291
- package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +0 -234
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +0 -89
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +0 -201
- package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +0 -294
- package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +0 -37
- package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +0 -10
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +0 -235
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +0 -96
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +0 -183
- package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +0 -243
- package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +0 -192
- package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +0 -31
- package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +0 -10
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +0 -56
- package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +0 -60
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +0 -176
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +0 -527
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +0 -483
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +0 -257
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +0 -413
- package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +0 -513
- package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +0 -536
- package/nestjs/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +0 -275
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +0 -487
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +0 -450
- package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +0 -536
- package/rails/copy-overwrite/.claude/skills/action-controller-best-practices/SKILL.md +0 -374
- package/rails/copy-overwrite/.claude/skills/action-view-best-practices/SKILL.md +0 -335
- package/rails/copy-overwrite/.claude/skills/active-record-model-best-practices/SKILL.md +0 -166
- package/rails/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -45
- package/rails/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
- package/rails/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -48
- package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -46
- package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
- package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +0 -76
- package/typescript/copy-overwrite/.claude/hooks/install-pkgs.sh +0 -64
- package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +0 -105
- package/typescript/copy-overwrite/.claude/hooks/sg-scan-on-edit.sh +0 -68
- package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +0 -432
- package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +0 -149
- package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
- package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +0 -28
- package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +0 -10
- package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
|
@@ -17,22 +17,36 @@ The following files are managed by Lisa and will be overwritten on every `lisa`
|
|
|
17
17
|
- `eslint.thresholds.json`
|
|
18
18
|
- `jest.thresholds.json`
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Plugin-managed content
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Agents, skills, hooks, and commands are now distributed via the stack-specific Claude Code plugin (e.g., `typescript@lisa`, `expo@lisa`, `nestjs@lisa`). These resources live in the Lisa GitHub repository and update automatically when Claude Code syncs the plugin.
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
24
|
+
You do not need to manage these files locally. To customize behavior:
|
|
25
|
+
- Add your own agents to `.claude/agents/` alongside plugin-provided ones
|
|
26
|
+
- Add your own skills to `.claude/skills/` alongside plugin-provided ones
|
|
27
|
+
- Add your own hook scripts to `.claude/hooks/` alongside plugin-provided ones
|
|
28
|
+
- Add your own command namespaces to `.claude/commands/` alongside plugin-provided ones
|
|
29
|
+
|
|
30
|
+
| Managed File (do not edit) | Local Override (edit this instead) |
|
|
31
|
+
|---|---|
|
|
28
32
|
| `eslint.thresholds.json` | Edit directly (create-only, Lisa won't overwrite) |
|
|
29
33
|
| `jest.thresholds.json` | Edit directly (create-only, Lisa won't overwrite) |
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
|
|
35
|
+
## CI/Deploy workflow pattern
|
|
36
|
+
|
|
37
|
+
New projects' `ci.yml` and `deploy.yml` reference the quality and release workflows directly from the Lisa repo:
|
|
38
|
+
|
|
39
|
+
- `ci.yml` calls `CodySwannGT/lisa/.github/workflows/quality.yml@main`
|
|
40
|
+
- `deploy.yml` calls `CodySwannGT/lisa/.github/workflows/release.yml@main`
|
|
41
|
+
|
|
42
|
+
This means workflow improvements in the Lisa repo are picked up automatically without running `lisa:update`.
|
|
43
|
+
|
|
44
|
+
**Existing projects** that were set up before this change will still have local references (`uses: ./.github/workflows/quality.yml`). When you run `lisa:update`, the CLI will print a migration notice with the exact one-time change to make in your `ci.yml` and `deploy.yml`. After making that change, your project will also receive automatic workflow updates.
|
|
45
|
+
|
|
46
|
+
The local copies of `quality.yml` and `release.yml` remain deployed to your project for reference but are no longer called directly by `ci.yml` or `deploy.yml` after migration.
|
|
32
47
|
|
|
33
48
|
## Files and directories with NO local override (do not edit at all)
|
|
34
49
|
|
|
35
|
-
- `.claude/rules/coding-philosophy.md`, `.claude/rules/verfication.md`, `.claude/rules/expo-verification.md` (Expo)
|
|
36
50
|
- `CLAUDE.md`, `HUMAN.md`, `.safety-net.json`
|
|
37
51
|
- `.prettierrc.json`, `.prettierignore`, `.lintstagedrc.json`, `.versionrc`, `.nvmrc`
|
|
38
52
|
- `.yamllint`, `.gitleaksignore`, `.coderabbit.yml`, `commitlint.config.cjs`, `sgconfig.yml`, `knip.json`
|
|
@@ -40,7 +54,6 @@ These directories contain files deployed by Lisa **and** files you create. Do no
|
|
|
40
54
|
- `jest.base.ts`, `jest.typescript.ts`, `jest.expo.ts`, `jest.nestjs.ts`, `jest.cdk.ts`
|
|
41
55
|
- `tsconfig.base.json`, `tsconfig.typescript.json`, `tsconfig.expo.json`, `tsconfig.nestjs.json`, `tsconfig.cdk.json`
|
|
42
56
|
- `tsconfig.eslint.json`, `tsconfig.build.json`, `tsconfig.spec.json`
|
|
43
|
-
- `eslint-plugin-code-organization/*`, `eslint-plugin-component-structure/*`, `eslint-plugin-ui-standards/*`
|
|
44
57
|
- `.claude/settings.json`
|
|
45
58
|
- `.claude/README.md`
|
|
46
59
|
- `.github/workflows/quality.yml`, `.github/workflows/release.yml`, `.github/workflows/claude.yml`, `.github/workflows/claude-ci-auto-fix.yml`, `.github/workflows/claude-deploy-auto-fix.yml`, `.github/workflows/claude-code-review-response.yml`, `.github/workflows/claude-nightly-test-improvement.yml`, `.github/workflows/claude-nightly-test-coverage.yml`, `.github/workflows/claude-nightly-code-complexity.yml`, `.github/workflows/auto-update-pr-branches.yml`
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
"coderabbit@claude-plugins-official": true,
|
|
13
13
|
"sentry@claude-plugins-official": true
|
|
14
14
|
},
|
|
15
|
+
"extraKnownMarketplaces": {
|
|
16
|
+
"CodySwannGT/lisa": true
|
|
17
|
+
},
|
|
15
18
|
"env": {
|
|
16
19
|
"BASH_DEFAULT_TIMEOUT_MS": "1800000",
|
|
17
20
|
"BASH_MAX_TIMEOUT_MS": "7200000",
|
|
@@ -19,241 +22,38 @@
|
|
|
19
22
|
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
20
23
|
},
|
|
21
24
|
"hooks": {
|
|
22
|
-
"Notification": [
|
|
23
|
-
{
|
|
24
|
-
"matcher": "permission_prompt|idle_prompt",
|
|
25
|
-
"hooks": [
|
|
26
|
-
{
|
|
27
|
-
"type": "command",
|
|
28
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/notify-ntfy.sh",
|
|
29
|
-
"timeout": 5
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"matcher": "",
|
|
35
|
-
"hooks": [
|
|
36
|
-
{
|
|
37
|
-
"type": "command",
|
|
38
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
39
|
-
"timeout": 5
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
"PermissionRequest": [
|
|
45
|
-
{
|
|
46
|
-
"matcher": "",
|
|
47
|
-
"hooks": [
|
|
48
|
-
{
|
|
49
|
-
"type": "command",
|
|
50
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
51
|
-
"timeout": 5
|
|
52
|
-
}
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
25
|
"PostToolUse": [
|
|
57
|
-
{
|
|
58
|
-
"matcher": "Write|Edit",
|
|
59
|
-
"hooks": [
|
|
60
|
-
{
|
|
61
|
-
"type": "command",
|
|
62
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/format-on-edit.sh"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "command",
|
|
66
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/sg-scan-on-edit.sh"
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"matcher": "TaskCreate|TaskUpdate",
|
|
72
|
-
"hooks": [
|
|
73
|
-
{
|
|
74
|
-
"type": "command",
|
|
75
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/sync-tasks.sh"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"matcher": "",
|
|
81
|
-
"hooks": [
|
|
82
|
-
{
|
|
83
|
-
"type": "command",
|
|
84
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
},
|
|
88
26
|
{
|
|
89
27
|
"matcher": "Task",
|
|
90
|
-
"hooks": [
|
|
91
|
-
{
|
|
92
|
-
"type": "command",
|
|
93
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true"
|
|
94
|
-
}
|
|
95
|
-
]
|
|
28
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }]
|
|
96
29
|
},
|
|
97
30
|
{
|
|
98
31
|
"matcher": "TodoWrite",
|
|
99
|
-
"hooks": [
|
|
100
|
-
{
|
|
101
|
-
"type": "command",
|
|
102
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true"
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
],
|
|
107
|
-
"PostToolUseFailure": [
|
|
108
|
-
{
|
|
109
|
-
"matcher": "",
|
|
110
|
-
"hooks": [
|
|
111
|
-
{
|
|
112
|
-
"type": "command",
|
|
113
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
114
|
-
"timeout": 5
|
|
115
|
-
}
|
|
116
|
-
]
|
|
117
|
-
}
|
|
118
|
-
],
|
|
119
|
-
"PreCompact": [
|
|
120
|
-
{
|
|
121
|
-
"matcher": "",
|
|
122
|
-
"hooks": [
|
|
123
|
-
{
|
|
124
|
-
"type": "command",
|
|
125
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
126
|
-
"timeout": 5
|
|
127
|
-
}
|
|
128
|
-
]
|
|
32
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }]
|
|
129
33
|
}
|
|
130
34
|
],
|
|
131
35
|
"PreToolUse": [
|
|
132
|
-
{
|
|
133
|
-
"matcher": "",
|
|
134
|
-
"hooks": [
|
|
135
|
-
{
|
|
136
|
-
"type": "command",
|
|
137
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
138
|
-
}
|
|
139
|
-
]
|
|
140
|
-
},
|
|
141
36
|
{
|
|
142
37
|
"matcher": "Task",
|
|
143
|
-
"hooks": [
|
|
144
|
-
{
|
|
145
|
-
"type": "command",
|
|
146
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true"
|
|
147
|
-
}
|
|
148
|
-
]
|
|
38
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }]
|
|
149
39
|
}
|
|
150
40
|
],
|
|
151
41
|
"SessionEnd": [
|
|
152
42
|
{
|
|
153
43
|
"matcher": "",
|
|
154
|
-
"hooks": [
|
|
155
|
-
{
|
|
156
|
-
"type": "command",
|
|
157
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"type": "command",
|
|
161
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true"
|
|
162
|
-
}
|
|
163
|
-
]
|
|
44
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }]
|
|
164
45
|
}
|
|
165
46
|
],
|
|
166
47
|
"SessionStart": [
|
|
167
|
-
{
|
|
168
|
-
"matcher": "startup",
|
|
169
|
-
"hooks": [
|
|
170
|
-
{
|
|
171
|
-
"type": "command",
|
|
172
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/install-pkgs.sh"
|
|
173
|
-
}
|
|
174
|
-
]
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"matcher": "",
|
|
178
|
-
"hooks": [
|
|
179
|
-
{
|
|
180
|
-
"type": "command",
|
|
181
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/setup-jira-cli.sh"
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
"type": "command",
|
|
185
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true"
|
|
186
|
-
}
|
|
187
|
-
]
|
|
188
|
-
},
|
|
189
48
|
{
|
|
190
49
|
"matcher": "",
|
|
191
|
-
"hooks": [
|
|
192
|
-
{
|
|
193
|
-
"type": "command",
|
|
194
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
195
|
-
}
|
|
196
|
-
]
|
|
197
|
-
}
|
|
198
|
-
],
|
|
199
|
-
"Setup": [
|
|
200
|
-
{
|
|
201
|
-
"matcher": "",
|
|
202
|
-
"hooks": [
|
|
203
|
-
{
|
|
204
|
-
"type": "command",
|
|
205
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
206
|
-
"timeout": 5
|
|
207
|
-
}
|
|
208
|
-
]
|
|
50
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }]
|
|
209
51
|
}
|
|
210
52
|
],
|
|
211
53
|
"Stop": [
|
|
212
54
|
{
|
|
213
55
|
"matcher": "",
|
|
214
|
-
"hooks": [
|
|
215
|
-
{
|
|
216
|
-
"type": "command",
|
|
217
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/notify-ntfy.sh"
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"type": "command",
|
|
221
|
-
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true"
|
|
222
|
-
}
|
|
223
|
-
]
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"matcher": "",
|
|
227
|
-
"hooks": [
|
|
228
|
-
{
|
|
229
|
-
"type": "command",
|
|
230
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
231
|
-
}
|
|
232
|
-
]
|
|
233
|
-
}
|
|
234
|
-
],
|
|
235
|
-
"SubagentStart": [
|
|
236
|
-
{
|
|
237
|
-
"matcher": "",
|
|
238
|
-
"hooks": [
|
|
239
|
-
{
|
|
240
|
-
"type": "command",
|
|
241
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
242
|
-
"timeout": 5
|
|
243
|
-
}
|
|
244
|
-
]
|
|
245
|
-
}
|
|
246
|
-
],
|
|
247
|
-
"SubagentStop": [
|
|
248
|
-
{
|
|
249
|
-
"matcher": "",
|
|
250
|
-
"hooks": [
|
|
251
|
-
{
|
|
252
|
-
"type": "command",
|
|
253
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh",
|
|
254
|
-
"timeout": 5
|
|
255
|
-
}
|
|
256
|
-
]
|
|
56
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }]
|
|
257
57
|
}
|
|
258
58
|
],
|
|
259
59
|
"UserPromptSubmit": [
|
|
@@ -269,31 +69,11 @@
|
|
|
269
69
|
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code user-prompt-submit || true"
|
|
270
70
|
}
|
|
271
71
|
]
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
"matcher": "",
|
|
275
|
-
"hooks": [
|
|
276
|
-
{
|
|
277
|
-
"type": "command",
|
|
278
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/enforce-plan-rules.sh"
|
|
279
|
-
}
|
|
280
|
-
]
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
"matcher": "",
|
|
284
|
-
"hooks": [
|
|
285
|
-
{
|
|
286
|
-
"type": "command",
|
|
287
|
-
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/debug-hook.sh"
|
|
288
|
-
}
|
|
289
|
-
]
|
|
290
72
|
}
|
|
291
73
|
]
|
|
292
74
|
},
|
|
293
75
|
"permissions": {
|
|
294
|
-
"deny": [
|
|
295
|
-
"Read(./.entire/metadata/**)"
|
|
296
|
-
]
|
|
76
|
+
"deny": ["Read(./.entire/metadata/**)"]
|
|
297
77
|
},
|
|
298
78
|
"plansDirectory": "./plans"
|
|
299
79
|
}
|
package/all/deletions.json
CHANGED
|
@@ -59,6 +59,72 @@
|
|
|
59
59
|
".claude/agents/spec-analyst.md",
|
|
60
60
|
".claude/agents/tech-reviewer.md",
|
|
61
61
|
".claude/agents/test-coverage-agent.md",
|
|
62
|
-
".claude/agents/test-strategist.md"
|
|
62
|
+
".claude/agents/test-strategist.md",
|
|
63
|
+
".claude/agents/agent-architect.md",
|
|
64
|
+
".claude/agents/architecture-specialist.md",
|
|
65
|
+
".claude/agents/debug-specialist.md",
|
|
66
|
+
".claude/agents/git-history-analyzer.md",
|
|
67
|
+
".claude/agents/hooks-expert.md",
|
|
68
|
+
".claude/agents/implementer.md",
|
|
69
|
+
".claude/agents/learner.md",
|
|
70
|
+
".claude/agents/performance-specialist.md",
|
|
71
|
+
".claude/agents/product-specialist.md",
|
|
72
|
+
".claude/agents/quality-specialist.md",
|
|
73
|
+
".claude/agents/security-specialist.md",
|
|
74
|
+
".claude/agents/skill-evaluator.md",
|
|
75
|
+
".claude/agents/slash-command-architect.md",
|
|
76
|
+
".claude/agents/test-specialist.md",
|
|
77
|
+
".claude/agents/verification-specialist.md",
|
|
78
|
+
".claude/agents/web-search-researcher.md",
|
|
79
|
+
".claude/commands/git",
|
|
80
|
+
".claude/commands/jira",
|
|
81
|
+
".claude/commands/lisa",
|
|
82
|
+
".claude/commands/plan",
|
|
83
|
+
".claude/commands/plans",
|
|
84
|
+
".claude/commands/pull-request",
|
|
85
|
+
".claude/commands/security",
|
|
86
|
+
".claude/commands/sonarqube",
|
|
87
|
+
".claude/commands/tasks",
|
|
88
|
+
".claude/skills/agent-design-best-practices",
|
|
89
|
+
".claude/skills/git-commit",
|
|
90
|
+
".claude/skills/git-commit-and-submit-pr",
|
|
91
|
+
".claude/skills/git-commit-submit-pr-and-verify",
|
|
92
|
+
".claude/skills/git-commit-submit-pr-deploy-and-verify",
|
|
93
|
+
".claude/skills/git-prune",
|
|
94
|
+
".claude/skills/git-submit-pr",
|
|
95
|
+
".claude/skills/jira-add-journey",
|
|
96
|
+
".claude/skills/jira-create",
|
|
97
|
+
".claude/skills/jira-evidence",
|
|
98
|
+
".claude/skills/jira-fix",
|
|
99
|
+
".claude/skills/jira-implement",
|
|
100
|
+
".claude/skills/jira-journey",
|
|
101
|
+
".claude/skills/jira-sync",
|
|
102
|
+
".claude/skills/jira-verify",
|
|
103
|
+
".claude/skills/lisa-review-implementation",
|
|
104
|
+
".claude/skills/plan-add-test-coverage",
|
|
105
|
+
".claude/skills/plan-execute",
|
|
106
|
+
".claude/skills/plan-fix-linter-error",
|
|
107
|
+
".claude/skills/plan-local-code-review",
|
|
108
|
+
".claude/skills/plan-lower-code-complexity",
|
|
109
|
+
".claude/skills/plan-reduce-max-lines",
|
|
110
|
+
".claude/skills/plan-reduce-max-lines-per-function",
|
|
111
|
+
".claude/skills/pull-request-review",
|
|
112
|
+
".claude/skills/security-zap-scan",
|
|
113
|
+
".claude/skills/skill-creator",
|
|
114
|
+
".claude/skills/sonarqube-check",
|
|
115
|
+
".claude/skills/sonarqube-fix",
|
|
116
|
+
".claude/skills/tasks-load",
|
|
117
|
+
".claude/skills/tasks-sync",
|
|
118
|
+
".claude/hooks/check-tired-boss.sh",
|
|
119
|
+
".claude/hooks/debug-hook.sh",
|
|
120
|
+
".claude/hooks/enforce-plan-rules.sh",
|
|
121
|
+
".claude/hooks/notify-ntfy.sh",
|
|
122
|
+
".claude/hooks/setup-jira-cli.sh",
|
|
123
|
+
".claude/hooks/sync-tasks.sh",
|
|
124
|
+
".claude/hooks/ticket-sync-reminder.sh",
|
|
125
|
+
".claude/hooks/track-plan-sessions.sh",
|
|
126
|
+
".claude/hooks/verify-completion.sh",
|
|
127
|
+
".claude/rules/coding-philosophy.md",
|
|
128
|
+
".claude/rules/verfication.md"
|
|
63
129
|
]
|
|
64
130
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"attribution": {
|
|
3
|
+
"commit": "🤖 Generated with Claude Code\n\nCo-Authored-By: Claude",
|
|
4
|
+
"pr": "🤖 Generated with Claude Code"
|
|
5
|
+
},
|
|
6
|
+
"enabledPlugins": {
|
|
7
|
+
"typescript-lsp@claude-plugins-official": true,
|
|
8
|
+
"safety-net@cc-marketplace": true,
|
|
9
|
+
"code-simplifier@claude-plugins-official": true,
|
|
10
|
+
"code-review@claude-plugins-official": true,
|
|
11
|
+
"playwright@claude-plugins-official": true,
|
|
12
|
+
"coderabbit@claude-plugins-official": true,
|
|
13
|
+
"sentry@claude-plugins-official": true,
|
|
14
|
+
"cdk@lisa": true
|
|
15
|
+
},
|
|
16
|
+
"extraKnownMarketplaces": {
|
|
17
|
+
"CodySwannGT/lisa": true
|
|
18
|
+
},
|
|
19
|
+
"env": {
|
|
20
|
+
"BASH_DEFAULT_TIMEOUT_MS": "1800000",
|
|
21
|
+
"BASH_MAX_TIMEOUT_MS": "7200000",
|
|
22
|
+
"CLAUDE_DEBUG": "0",
|
|
23
|
+
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
24
|
+
},
|
|
25
|
+
"hooks": {
|
|
26
|
+
"PostToolUse": [
|
|
27
|
+
{
|
|
28
|
+
"matcher": "Task",
|
|
29
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"matcher": "TodoWrite",
|
|
33
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"PreToolUse": [
|
|
37
|
+
{
|
|
38
|
+
"matcher": "Task",
|
|
39
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }]
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"SessionEnd": [
|
|
43
|
+
{
|
|
44
|
+
"matcher": "",
|
|
45
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }]
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"SessionStart": [
|
|
49
|
+
{
|
|
50
|
+
"matcher": "",
|
|
51
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }]
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"Stop": [
|
|
55
|
+
{
|
|
56
|
+
"matcher": "",
|
|
57
|
+
"hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"UserPromptSubmit": [
|
|
61
|
+
{
|
|
62
|
+
"matcher": "",
|
|
63
|
+
"hooks": [
|
|
64
|
+
{
|
|
65
|
+
"type": "command",
|
|
66
|
+
"command": "echo 'REMINDER: Start your response with \"I'\\''m tired boss\" as required by CLAUDE.md.'"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "command",
|
|
70
|
+
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code user-prompt-submit || true"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"permissions": {
|
|
77
|
+
"deny": ["Read(./.entire/metadata/**)"]
|
|
78
|
+
},
|
|
79
|
+
"plansDirectory": "./plans"
|
|
80
|
+
}
|
|
@@ -126,7 +126,7 @@ jobs:
|
|
|
126
126
|
name: 🔍 Quality Checks
|
|
127
127
|
needs: [determine_environment, cdk-checks] # Ensure CDK checks pass first
|
|
128
128
|
# Reference to the quality checks workflow
|
|
129
|
-
uses:
|
|
129
|
+
uses: CodySwannGT/lisa/.github/workflows/quality.yml@main
|
|
130
130
|
with:
|
|
131
131
|
node_version: '22.21.1'
|
|
132
132
|
package_manager: 'bun'
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
release:
|
|
44
44
|
name: 📦 Release
|
|
45
45
|
# Reference to the quality checks workflow
|
|
46
|
-
uses:
|
|
46
|
+
uses: CodySwannGT/lisa/.github/workflows/release.yml@main
|
|
47
47
|
needs: [determine_environment]
|
|
48
48
|
with:
|
|
49
49
|
environment: ${{ needs.determine_environment.outputs.environment }}
|
package/dist/core/lisa.d.ts
CHANGED
|
@@ -199,6 +199,20 @@ export declare class Lisa {
|
|
|
199
199
|
* Print summary
|
|
200
200
|
*/
|
|
201
201
|
private printSummary;
|
|
202
|
+
/**
|
|
203
|
+
* Read a file's contents, returning null if the file does not exist or cannot be read.
|
|
204
|
+
* Used for optional file checks that should not interrupt the main flow on failure.
|
|
205
|
+
* @param filePath - Absolute path to the file to read
|
|
206
|
+
* @returns File contents as a string, or null if unavailable
|
|
207
|
+
*/
|
|
208
|
+
private tryReadFile;
|
|
209
|
+
/**
|
|
210
|
+
* Print migration notices when the project's ci.yml or deploy.yml still reference
|
|
211
|
+
* local quality/release workflows instead of the canonical Lisa repo versions.
|
|
212
|
+
* Printed after the update summary so users see it as a post-update action item.
|
|
213
|
+
* @param projectDir - The destination project directory to inspect
|
|
214
|
+
*/
|
|
215
|
+
private printMigrationNotices;
|
|
202
216
|
/**
|
|
203
217
|
* Remove empty directories after uninstall
|
|
204
218
|
*/
|
package/dist/core/lisa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAIV,UAAU,EACV,UAAU,EAGX,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,IAAI;IAgBb,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBvB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAGpB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD;;;;OAIG;gBAEgB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,gBAAgB;IAGzC;;OAEG;YACW,YAAY;IAS1B;;OAEG;YACW,qBAAqB;IAyCnC;;;OAGG;YACW,qBAAqB;IAWnC;;OAEG;YACW,WAAW;IAUzB;;OAEG;YACW,qBAAqB;IAyBnC;;OAEG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,qBAAqB;IAqCnC;;;OAGG;YACW,QAAQ;IAStB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;YACW,gBAAgB;IAqB9B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}
|
package/dist/core/lisa.js
CHANGED
|
@@ -259,6 +259,7 @@ export class Lisa {
|
|
|
259
259
|
await this.processDeletions();
|
|
260
260
|
await this.finalize();
|
|
261
261
|
this.printSummary();
|
|
262
|
+
await this.printMigrationNotices(this.config.destDir);
|
|
262
263
|
return this.getSuccessResult();
|
|
263
264
|
}
|
|
264
265
|
catch (error) {
|
|
@@ -715,6 +716,52 @@ export class Lisa {
|
|
|
715
716
|
this.printProjectTypes();
|
|
716
717
|
this.printValidationResult();
|
|
717
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* Read a file's contents, returning null if the file does not exist or cannot be read.
|
|
721
|
+
* Used for optional file checks that should not interrupt the main flow on failure.
|
|
722
|
+
* @param filePath - Absolute path to the file to read
|
|
723
|
+
* @returns File contents as a string, or null if unavailable
|
|
724
|
+
*/
|
|
725
|
+
async tryReadFile(filePath) {
|
|
726
|
+
try {
|
|
727
|
+
return await readFile(filePath, "utf-8");
|
|
728
|
+
}
|
|
729
|
+
catch {
|
|
730
|
+
return null;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* Print migration notices when the project's ci.yml or deploy.yml still reference
|
|
735
|
+
* local quality/release workflows instead of the canonical Lisa repo versions.
|
|
736
|
+
* Printed after the update summary so users see it as a post-update action item.
|
|
737
|
+
* @param projectDir - The destination project directory to inspect
|
|
738
|
+
*/
|
|
739
|
+
async printMigrationNotices(projectDir) {
|
|
740
|
+
const ciPath = path.join(projectDir, ".github", "workflows", "ci.yml");
|
|
741
|
+
const deployPath = path.join(projectDir, ".github", "workflows", "deploy.yml");
|
|
742
|
+
const [ciContent, deployContent] = await Promise.all([
|
|
743
|
+
this.tryReadFile(ciPath),
|
|
744
|
+
this.tryReadFile(deployPath),
|
|
745
|
+
]);
|
|
746
|
+
const notices = [
|
|
747
|
+
ciContent?.includes("uses: ./.github/workflows/quality.yml")
|
|
748
|
+
? " .github/workflows/ci.yml — change:\n uses: ./.github/workflows/quality.yml\n → uses: CodySwannGT/lisa/.github/workflows/quality.yml@main"
|
|
749
|
+
: null,
|
|
750
|
+
deployContent?.includes("uses: ./.github/workflows/release.yml")
|
|
751
|
+
? " .github/workflows/deploy.yml — change:\n uses: ./.github/workflows/release.yml\n → uses: CodySwannGT/lisa/.github/workflows/release.yml@main"
|
|
752
|
+
: null,
|
|
753
|
+
].filter((n) => n !== null);
|
|
754
|
+
if (notices.length === 0) {
|
|
755
|
+
return;
|
|
756
|
+
}
|
|
757
|
+
console.log("");
|
|
758
|
+
console.log(pc.yellow("⚠️ Action required: Update your CI/Deploy workflows to call the Lisa repo directly."));
|
|
759
|
+
console.log("");
|
|
760
|
+
console.log(notices.join("\n\n"));
|
|
761
|
+
console.log("");
|
|
762
|
+
console.log(" After this one-time change, quality/release workflow updates will be automatic.");
|
|
763
|
+
console.log("");
|
|
764
|
+
}
|
|
718
765
|
/**
|
|
719
766
|
* Remove empty directories after uninstall
|
|
720
767
|
*/
|