@codyswann/lisa 1.48.0 → 1.50.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/.claude-plugin/marketplace.json +48 -0
- package/all/deletions.json +5 -1
- package/all/merge/.claude/settings.json +28 -0
- package/cdk/copy-overwrite/eslint.config.ts +11 -21
- package/cdk/copy-overwrite/eslint.slow.config.ts +4 -73
- package/cdk/copy-overwrite/jest.config.ts +14 -12
- package/cdk/copy-overwrite/tsconfig.json +1 -1
- package/cdk/merge/.claude/settings.json +29 -0
- package/cdk/package-lisa/package.lisa.json +1 -0
- package/dist/configs/eslint/base.d.ts +1491 -0
- package/dist/configs/eslint/base.d.ts.map +1 -0
- package/dist/configs/eslint/base.js +386 -0
- package/dist/configs/eslint/base.js.map +1 -0
- package/dist/configs/eslint/cdk.d.ts +32 -0
- package/dist/configs/eslint/cdk.d.ts.map +1 -0
- package/dist/configs/eslint/cdk.js +127 -0
- package/dist/configs/eslint/cdk.js.map +1 -0
- package/dist/configs/eslint/expo.d.ts +16 -0
- package/dist/configs/eslint/expo.d.ts.map +1 -0
- package/dist/configs/eslint/expo.js +264 -0
- package/dist/configs/eslint/expo.js.map +1 -0
- package/dist/configs/eslint/index.d.ts +18 -0
- package/dist/configs/eslint/index.d.ts.map +1 -0
- package/dist/configs/eslint/index.js +18 -0
- package/dist/configs/eslint/index.js.map +1 -0
- package/dist/configs/eslint/nestjs.d.ts +32 -0
- package/dist/configs/eslint/nestjs.d.ts.map +1 -0
- package/dist/configs/eslint/nestjs.js +128 -0
- package/dist/configs/eslint/nestjs.js.map +1 -0
- package/dist/configs/eslint/slow.d.ts +80 -0
- package/dist/configs/eslint/slow.d.ts.map +1 -0
- package/dist/configs/eslint/slow.js +83 -0
- package/dist/configs/eslint/slow.js.map +1 -0
- package/dist/configs/eslint/typescript.d.ts +19 -0
- package/dist/configs/eslint/typescript.d.ts.map +1 -0
- package/dist/configs/eslint/typescript.js +81 -0
- package/dist/configs/eslint/typescript.js.map +1 -0
- package/{typescript/copy-overwrite/jest.base.ts → dist/configs/jest/base.d.ts} +9 -69
- package/dist/configs/jest/base.d.ts.map +1 -0
- package/dist/configs/jest/base.js +83 -0
- package/dist/configs/jest/base.js.map +1 -0
- package/dist/configs/jest/cdk.d.ts +35 -0
- package/dist/configs/jest/cdk.d.ts.map +1 -0
- package/dist/configs/jest/cdk.js +30 -0
- package/dist/configs/jest/cdk.js.map +1 -0
- package/dist/configs/jest/expo.d.ts +56 -0
- package/dist/configs/jest/expo.d.ts.map +1 -0
- package/dist/configs/jest/expo.js +60 -0
- package/dist/configs/jest/expo.js.map +1 -0
- package/dist/configs/jest/index.d.ts +14 -0
- package/dist/configs/jest/index.d.ts.map +1 -0
- package/dist/configs/jest/index.js +14 -0
- package/dist/configs/jest/index.js.map +1 -0
- package/dist/configs/jest/nestjs.d.ts +35 -0
- package/dist/configs/jest/nestjs.d.ts.map +1 -0
- package/dist/configs/jest/nestjs.js +47 -0
- package/dist/configs/jest/nestjs.js.map +1 -0
- package/dist/configs/jest/typescript.d.ts +31 -0
- package/dist/configs/jest/typescript.d.ts.map +1 -0
- package/dist/configs/jest/typescript.js +34 -0
- package/dist/configs/jest/typescript.js.map +1 -0
- package/expo/copy-overwrite/eslint.config.ts +5 -20
- package/expo/copy-overwrite/eslint.slow.config.ts +4 -90
- package/expo/copy-overwrite/jest.config.ts +14 -12
- package/expo/copy-overwrite/tsconfig.json +1 -1
- package/expo/merge/.claude/settings.json +29 -0
- package/expo/package-lisa/package.lisa.json +1 -10
- package/nestjs/copy-overwrite/eslint.config.ts +5 -20
- package/nestjs/copy-overwrite/eslint.slow.config.ts +4 -89
- package/nestjs/copy-overwrite/jest.config.ts +14 -12
- package/nestjs/copy-overwrite/tsconfig.json +1 -1
- package/nestjs/merge/.claude/settings.json +29 -0
- package/nestjs/package-lisa/package.lisa.json +1 -0
- package/package.json +82 -43
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +86 -0
- package/plugins/lisa-cdk/agents/agent-architect.md +310 -0
- package/plugins/lisa-cdk/agents/architecture-specialist.md +53 -0
- package/plugins/lisa-cdk/agents/debug-specialist.md +204 -0
- package/plugins/lisa-cdk/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-cdk/agents/hooks-expert.md +74 -0
- package/plugins/lisa-cdk/agents/implementer.md +54 -0
- package/plugins/lisa-cdk/agents/learner.md +44 -0
- package/plugins/lisa-cdk/agents/performance-specialist.md +95 -0
- package/plugins/lisa-cdk/agents/product-specialist.md +72 -0
- package/plugins/lisa-cdk/agents/quality-specialist.md +55 -0
- package/plugins/lisa-cdk/agents/security-specialist.md +58 -0
- package/plugins/lisa-cdk/agents/skill-evaluator.md +246 -0
- package/plugins/lisa-cdk/agents/slash-command-architect.md +87 -0
- package/plugins/lisa-cdk/agents/test-specialist.md +64 -0
- package/plugins/lisa-cdk/agents/verification-specialist.md +189 -0
- package/plugins/lisa-cdk/agents/web-search-researcher.md +112 -0
- package/plugins/lisa-cdk/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/lisa-cdk/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/lisa-cdk/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/lisa-cdk/commands/git-commit.md +7 -0
- package/plugins/lisa-cdk/commands/git-prune.md +6 -0
- package/plugins/lisa-cdk/commands/git-submit-pr.md +7 -0
- package/plugins/lisa-cdk/commands/jira-add-journey.md +7 -0
- package/plugins/lisa-cdk/commands/jira-create.md +7 -0
- package/plugins/lisa-cdk/commands/jira-evidence.md +7 -0
- package/plugins/lisa-cdk/commands/jira-fix.md +7 -0
- package/plugins/lisa-cdk/commands/jira-implement.md +7 -0
- package/plugins/lisa-cdk/commands/jira-journey.md +7 -0
- package/plugins/lisa-cdk/commands/jira-sync.md +7 -0
- package/plugins/lisa-cdk/commands/jira-verify.md +7 -0
- package/plugins/lisa-cdk/commands/lisa-review-implementation.md +7 -0
- package/plugins/lisa-cdk/commands/plan-add-test-coverage.md +7 -0
- package/plugins/lisa-cdk/commands/plan-create.md +6 -0
- package/plugins/lisa-cdk/commands/plan-execute.md +7 -0
- package/plugins/lisa-cdk/commands/plan-fix-linter-error.md +7 -0
- package/plugins/lisa-cdk/commands/plan-local-code-review.md +6 -0
- package/plugins/lisa-cdk/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/lisa-cdk/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/lisa-cdk/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/lisa-cdk/commands/pull-request-review.md +7 -0
- package/plugins/lisa-cdk/commands/security-zap-scan.md +6 -0
- package/plugins/lisa-cdk/commands/sonarqube-check.md +6 -0
- package/plugins/lisa-cdk/commands/sonarqube-fix.md +6 -0
- package/plugins/lisa-cdk/commands/tasks-load.md +7 -0
- package/plugins/lisa-cdk/commands/tasks-sync.md +7 -0
- package/plugins/lisa-cdk/hooks/debug-hook.sh +47 -0
- package/plugins/lisa-cdk/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/lisa-cdk/hooks/format-on-edit.sh +76 -0
- package/plugins/lisa-cdk/hooks/install-pkgs.sh +64 -0
- package/plugins/lisa-cdk/hooks/lint-on-edit.sh +81 -0
- package/plugins/lisa-cdk/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-cdk/hooks/setup-jira-cli.sh +52 -0
- package/plugins/lisa-cdk/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/lisa-cdk/hooks/sync-tasks.sh +107 -0
- package/plugins/lisa-cdk/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/lisa-cdk/hooks/track-plan-sessions.sh +164 -0
- package/plugins/lisa-cdk/hooks/verify-completion.sh +77 -0
- package/plugins/lisa-cdk/rules/coding-philosophy.md +428 -0
- package/plugins/lisa-cdk/rules/lisa.md +37 -0
- package/plugins/lisa-cdk/rules/verfication.md +596 -0
- package/plugins/lisa-cdk/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-cdk/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-cdk/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/lisa-cdk/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/lisa-cdk/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/lisa-cdk/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-cdk/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/lisa-cdk/skills/jira-add-journey/SKILL.md +120 -0
- package/plugins/lisa-cdk/skills/jira-create/SKILL.md +95 -0
- package/plugins/lisa-cdk/skills/jira-evidence/SKILL.md +73 -0
- package/plugins/lisa-cdk/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-cdk/skills/jira-fix/SKILL.md +16 -0
- package/plugins/lisa-cdk/skills/jira-implement/SKILL.md +18 -0
- package/plugins/lisa-cdk/skills/jira-journey/SKILL.md +125 -0
- package/plugins/lisa-cdk/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-cdk/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-cdk/skills/jira-sync/SKILL.md +63 -0
- package/plugins/lisa-cdk/skills/jira-verify/SKILL.md +48 -0
- package/plugins/lisa-cdk/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-cdk/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-cdk/skills/plan-add-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-cdk/skills/plan-execute/SKILL.md +89 -0
- package/plugins/lisa-cdk/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-cdk/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/lisa-cdk/skills/plan-lower-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-cdk/skills/plan-reduce-max-lines/SKILL.md +45 -0
- package/plugins/lisa-cdk/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-cdk/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-cdk/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-cdk/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/lisa-cdk/skills/skill-creator/SKILL.md +210 -0
- package/plugins/lisa-cdk/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/lisa-cdk/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/lisa-cdk/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/lisa-cdk/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/lisa-cdk/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/lisa-cdk/skills/tasks-load/SKILL.md +88 -0
- package/plugins/lisa-cdk/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +86 -0
- package/plugins/lisa-expo/agents/agent-architect.md +310 -0
- package/plugins/lisa-expo/agents/architecture-specialist.md +53 -0
- package/plugins/lisa-expo/agents/debug-specialist.md +204 -0
- package/plugins/lisa-expo/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-expo/agents/hooks-expert.md +74 -0
- package/plugins/lisa-expo/agents/implementer.md +54 -0
- package/plugins/lisa-expo/agents/learner.md +44 -0
- package/plugins/lisa-expo/agents/ops-specialist.md +124 -0
- package/plugins/lisa-expo/agents/performance-specialist.md +95 -0
- package/plugins/lisa-expo/agents/product-specialist.md +72 -0
- package/plugins/lisa-expo/agents/quality-specialist.md +55 -0
- package/plugins/lisa-expo/agents/security-specialist.md +58 -0
- package/plugins/lisa-expo/agents/skill-evaluator.md +246 -0
- package/plugins/lisa-expo/agents/slash-command-architect.md +87 -0
- package/plugins/lisa-expo/agents/test-specialist.md +64 -0
- package/plugins/lisa-expo/agents/verification-specialist.md +189 -0
- package/plugins/lisa-expo/agents/web-search-researcher.md +112 -0
- package/plugins/lisa-expo/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/lisa-expo/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/lisa-expo/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/lisa-expo/commands/git-commit.md +7 -0
- package/plugins/lisa-expo/commands/git-prune.md +6 -0
- package/plugins/lisa-expo/commands/git-submit-pr.md +7 -0
- package/plugins/lisa-expo/commands/jira-add-journey.md +7 -0
- package/plugins/lisa-expo/commands/jira-create.md +7 -0
- package/plugins/lisa-expo/commands/jira-evidence.md +7 -0
- package/plugins/lisa-expo/commands/jira-fix.md +7 -0
- package/plugins/lisa-expo/commands/jira-implement.md +7 -0
- package/plugins/lisa-expo/commands/jira-journey.md +7 -0
- package/plugins/lisa-expo/commands/jira-sync.md +7 -0
- package/plugins/lisa-expo/commands/jira-verify.md +7 -0
- package/plugins/lisa-expo/commands/lisa-review-implementation.md +7 -0
- package/plugins/lisa-expo/commands/plan-add-test-coverage.md +7 -0
- package/plugins/lisa-expo/commands/plan-create.md +6 -0
- package/plugins/lisa-expo/commands/plan-execute.md +7 -0
- package/plugins/lisa-expo/commands/plan-fix-linter-error.md +7 -0
- package/plugins/lisa-expo/commands/plan-local-code-review.md +6 -0
- package/plugins/lisa-expo/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/lisa-expo/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/lisa-expo/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/lisa-expo/commands/pull-request-review.md +7 -0
- package/plugins/lisa-expo/commands/security-zap-scan.md +6 -0
- package/plugins/lisa-expo/commands/sonarqube-check.md +6 -0
- package/plugins/lisa-expo/commands/sonarqube-fix.md +6 -0
- package/plugins/lisa-expo/commands/tasks-load.md +7 -0
- package/plugins/lisa-expo/commands/tasks-sync.md +7 -0
- package/plugins/lisa-expo/hooks/debug-hook.sh +47 -0
- package/plugins/lisa-expo/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/lisa-expo/hooks/format-on-edit.sh +76 -0
- package/plugins/lisa-expo/hooks/install-pkgs.sh +64 -0
- package/plugins/lisa-expo/hooks/lint-on-edit.sh +81 -0
- package/plugins/lisa-expo/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-expo/hooks/setup-jira-cli.sh +52 -0
- package/plugins/lisa-expo/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/lisa-expo/hooks/sync-tasks.sh +107 -0
- package/plugins/lisa-expo/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/lisa-expo/hooks/track-plan-sessions.sh +164 -0
- package/plugins/lisa-expo/hooks/verify-completion.sh +77 -0
- package/plugins/lisa-expo/rules/README.md +240 -0
- package/plugins/lisa-expo/rules/coding-philosophy.md +428 -0
- package/plugins/lisa-expo/rules/expo-verification.md +261 -0
- package/plugins/lisa-expo/rules/lisa.md +37 -0
- package/plugins/lisa-expo/rules/verfication.md +596 -0
- package/plugins/lisa-expo/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-expo/skills/apollo-client/SKILL.md +238 -0
- package/plugins/lisa-expo/skills/apollo-client/references/mutation-patterns.md +360 -0
- package/plugins/lisa-expo/skills/atomic-design-gluestack/SKILL.md +360 -0
- package/plugins/lisa-expo/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
- package/plugins/lisa-expo/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
- package/plugins/lisa-expo/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
- package/plugins/lisa-expo/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
- package/plugins/lisa-expo/skills/container-view-pattern/SKILL.md +299 -0
- package/plugins/lisa-expo/skills/container-view-pattern/references/examples.md +749 -0
- package/plugins/lisa-expo/skills/container-view-pattern/references/patterns.md +318 -0
- package/plugins/lisa-expo/skills/container-view-pattern/scripts/create_component.py +200 -0
- package/plugins/lisa-expo/skills/container-view-pattern/scripts/validate_component.py +209 -0
- package/plugins/lisa-expo/skills/cross-platform-compatibility/SKILL.md +268 -0
- package/plugins/lisa-expo/skills/cross-platform-compatibility/references/common-issues.md +619 -0
- package/plugins/lisa-expo/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
- package/plugins/lisa-expo/skills/cross-platform-compatibility/references/platform-api.md +276 -0
- package/plugins/lisa-expo/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
- package/plugins/lisa-expo/skills/directory-structure/SKILL.md +202 -0
- package/plugins/lisa-expo/skills/directory-structure/scripts/validate_structure.py +445 -0
- package/plugins/lisa-expo/skills/expo-env-config/SKILL.md +309 -0
- package/plugins/lisa-expo/skills/expo-env-config/references/validation-patterns.md +417 -0
- package/plugins/lisa-expo/skills/expo-router-best-practices/SKILL.md +431 -0
- package/plugins/lisa-expo/skills/expo-router-best-practices/references/official-docs.md +290 -0
- package/plugins/lisa-expo/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
- package/plugins/lisa-expo/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-expo/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/lisa-expo/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/lisa-expo/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/lisa-expo/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-expo/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/lisa-expo/skills/gluestack-nativewind/SKILL.md +411 -0
- package/plugins/lisa-expo/skills/gluestack-nativewind/references/color-tokens.md +343 -0
- package/plugins/lisa-expo/skills/gluestack-nativewind/references/component-mapping.md +307 -0
- package/plugins/lisa-expo/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
- package/plugins/lisa-expo/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
- package/plugins/lisa-expo/skills/jira-add-journey/SKILL.md +126 -0
- package/plugins/lisa-expo/skills/jira-create/SKILL.md +101 -0
- package/plugins/lisa-expo/skills/jira-evidence/SKILL.md +78 -0
- package/plugins/lisa-expo/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-expo/skills/jira-fix/SKILL.md +16 -0
- package/plugins/lisa-expo/skills/jira-implement/SKILL.md +18 -0
- package/plugins/lisa-expo/skills/jira-journey/SKILL.md +190 -0
- package/plugins/lisa-expo/skills/jira-journey/scripts/generate-templates.py +281 -0
- package/plugins/lisa-expo/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-expo/skills/jira-sync/SKILL.md +63 -0
- package/plugins/lisa-expo/skills/jira-verify/SKILL.md +47 -0
- package/plugins/lisa-expo/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-expo/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-expo/skills/local-state/SKILL.md +362 -0
- package/plugins/lisa-expo/skills/local-state/references/async-storage.md +505 -0
- package/plugins/lisa-expo/skills/local-state/references/persistence-patterns.md +711 -0
- package/plugins/lisa-expo/skills/local-state/references/reactive-variables.md +446 -0
- package/plugins/lisa-expo/skills/ops-browser-uat/SKILL.md +124 -0
- package/plugins/lisa-expo/skills/ops-check-logs/SKILL.md +211 -0
- package/plugins/lisa-expo/skills/ops-db-ops/SKILL.md +119 -0
- package/plugins/lisa-expo/skills/ops-deploy/SKILL.md +119 -0
- package/plugins/lisa-expo/skills/ops-monitor-errors/SKILL.md +99 -0
- package/plugins/lisa-expo/skills/ops-performance/SKILL.md +165 -0
- package/plugins/lisa-expo/skills/ops-run-local/SKILL.md +166 -0
- package/plugins/lisa-expo/skills/ops-verify-health/SKILL.md +101 -0
- package/plugins/lisa-expo/skills/owasp-zap/SKILL.md +56 -0
- package/plugins/lisa-expo/skills/plan-add-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-expo/skills/plan-execute/SKILL.md +89 -0
- package/plugins/lisa-expo/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-expo/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/lisa-expo/skills/plan-lower-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-expo/skills/plan-reduce-max-lines/SKILL.md +45 -0
- package/plugins/lisa-expo/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-expo/skills/playwright-selectors/SKILL.md +223 -0
- package/plugins/lisa-expo/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-expo/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-expo/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/lisa-expo/skills/skill-creator/SKILL.md +210 -0
- package/plugins/lisa-expo/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/lisa-expo/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/lisa-expo/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/lisa-expo/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/lisa-expo/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/lisa-expo/skills/tasks-load/SKILL.md +88 -0
- package/plugins/lisa-expo/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/lisa-expo/skills/testing-library/SKILL.md +314 -0
- package/plugins/lisa-expo/skills/testing-library/references/async-patterns.md +420 -0
- package/plugins/lisa-expo/skills/testing-library/references/expo-router-testing.md +556 -0
- package/plugins/lisa-expo/skills/testing-library/references/mocking-patterns.md +590 -0
- package/plugins/lisa-expo/skills/testing-library/references/query-priority.md +291 -0
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +86 -0
- package/plugins/lisa-nestjs/agents/agent-architect.md +310 -0
- package/plugins/lisa-nestjs/agents/architecture-specialist.md +53 -0
- package/plugins/lisa-nestjs/agents/debug-specialist.md +204 -0
- package/plugins/lisa-nestjs/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-nestjs/agents/hooks-expert.md +74 -0
- package/plugins/lisa-nestjs/agents/implementer.md +54 -0
- package/plugins/lisa-nestjs/agents/learner.md +44 -0
- package/plugins/lisa-nestjs/agents/performance-specialist.md +95 -0
- package/plugins/lisa-nestjs/agents/product-specialist.md +72 -0
- package/plugins/lisa-nestjs/agents/quality-specialist.md +55 -0
- package/plugins/lisa-nestjs/agents/security-specialist.md +58 -0
- package/plugins/lisa-nestjs/agents/skill-evaluator.md +246 -0
- package/plugins/lisa-nestjs/agents/slash-command-architect.md +87 -0
- package/plugins/lisa-nestjs/agents/test-specialist.md +64 -0
- package/plugins/lisa-nestjs/agents/verification-specialist.md +189 -0
- package/plugins/lisa-nestjs/agents/web-search-researcher.md +112 -0
- package/plugins/lisa-nestjs/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/lisa-nestjs/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/lisa-nestjs/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/lisa-nestjs/commands/git-commit.md +7 -0
- package/plugins/lisa-nestjs/commands/git-prune.md +6 -0
- package/plugins/lisa-nestjs/commands/git-submit-pr.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-add-journey.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-create.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-evidence.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-fix.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-implement.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-journey.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-sync.md +7 -0
- package/plugins/lisa-nestjs/commands/jira-verify.md +7 -0
- package/plugins/lisa-nestjs/commands/lisa-review-implementation.md +7 -0
- package/plugins/lisa-nestjs/commands/plan-add-test-coverage.md +7 -0
- package/plugins/lisa-nestjs/commands/plan-create.md +6 -0
- package/plugins/lisa-nestjs/commands/plan-execute.md +7 -0
- package/plugins/lisa-nestjs/commands/plan-fix-linter-error.md +7 -0
- package/plugins/lisa-nestjs/commands/plan-local-code-review.md +6 -0
- package/plugins/lisa-nestjs/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/lisa-nestjs/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/lisa-nestjs/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/lisa-nestjs/commands/pull-request-review.md +7 -0
- package/plugins/lisa-nestjs/commands/security-zap-scan.md +6 -0
- package/plugins/lisa-nestjs/commands/sonarqube-check.md +6 -0
- package/plugins/lisa-nestjs/commands/sonarqube-fix.md +6 -0
- package/plugins/lisa-nestjs/commands/tasks-load.md +7 -0
- package/plugins/lisa-nestjs/commands/tasks-sync.md +7 -0
- package/plugins/lisa-nestjs/hooks/debug-hook.sh +47 -0
- package/plugins/lisa-nestjs/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/lisa-nestjs/hooks/format-on-edit.sh +76 -0
- package/plugins/lisa-nestjs/hooks/install-pkgs.sh +64 -0
- package/plugins/lisa-nestjs/hooks/lint-on-edit.sh +81 -0
- package/plugins/lisa-nestjs/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-nestjs/hooks/setup-jira-cli.sh +52 -0
- package/plugins/lisa-nestjs/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/lisa-nestjs/hooks/sync-tasks.sh +107 -0
- package/plugins/lisa-nestjs/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/lisa-nestjs/hooks/track-plan-sessions.sh +164 -0
- package/plugins/lisa-nestjs/hooks/verify-completion.sh +77 -0
- package/plugins/lisa-nestjs/rules/README.md +240 -0
- package/plugins/lisa-nestjs/rules/coding-philosophy.md +428 -0
- package/plugins/lisa-nestjs/rules/lisa.md +37 -0
- package/plugins/lisa-nestjs/rules/verfication.md +596 -0
- package/plugins/lisa-nestjs/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-nestjs/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-nestjs/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/lisa-nestjs/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/lisa-nestjs/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/lisa-nestjs/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-nestjs/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/lisa-nestjs/skills/jira-add-journey/SKILL.md +120 -0
- package/plugins/lisa-nestjs/skills/jira-create/SKILL.md +95 -0
- package/plugins/lisa-nestjs/skills/jira-evidence/SKILL.md +73 -0
- package/plugins/lisa-nestjs/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-nestjs/skills/jira-fix/SKILL.md +16 -0
- package/plugins/lisa-nestjs/skills/jira-implement/SKILL.md +18 -0
- package/plugins/lisa-nestjs/skills/jira-journey/SKILL.md +125 -0
- package/plugins/lisa-nestjs/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-nestjs/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-nestjs/skills/jira-sync/SKILL.md +63 -0
- package/plugins/lisa-nestjs/skills/jira-verify/SKILL.md +48 -0
- package/plugins/lisa-nestjs/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-nestjs/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/SKILL.md +176 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/references/advanced-features.md +527 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/references/project-patterns.md +483 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/references/quick-start.md +257 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
- package/plugins/lisa-nestjs/skills/nestjs-graphql/references/types-scalars.md +513 -0
- package/plugins/lisa-nestjs/skills/nestjs-rules/SKILL.md +536 -0
- package/plugins/lisa-nestjs/skills/plan-add-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-nestjs/skills/plan-execute/SKILL.md +89 -0
- package/plugins/lisa-nestjs/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-nestjs/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/lisa-nestjs/skills/plan-lower-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-nestjs/skills/plan-reduce-max-lines/SKILL.md +45 -0
- package/plugins/lisa-nestjs/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-nestjs/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-nestjs/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-nestjs/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/lisa-nestjs/skills/skill-creator/SKILL.md +210 -0
- package/plugins/lisa-nestjs/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/lisa-nestjs/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/lisa-nestjs/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/lisa-nestjs/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/lisa-nestjs/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/lisa-nestjs/skills/tasks-load/SKILL.md +88 -0
- package/plugins/lisa-nestjs/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/lisa-nestjs/skills/typeorm-patterns/SKILL.md +275 -0
- package/plugins/lisa-nestjs/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
- package/plugins/lisa-nestjs/skills/typeorm-patterns/references/entity-patterns.md +450 -0
- package/plugins/lisa-nestjs/skills/typeorm-patterns/references/observability-patterns.md +536 -0
- package/plugins/lisa-rails/.claude-plugin/plugin.json +77 -0
- package/plugins/lisa-rails/agents/agent-architect.md +310 -0
- package/plugins/lisa-rails/agents/architecture-specialist.md +53 -0
- package/plugins/lisa-rails/agents/debug-specialist.md +204 -0
- package/plugins/lisa-rails/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-rails/agents/hooks-expert.md +74 -0
- package/plugins/lisa-rails/agents/implementer.md +54 -0
- package/plugins/lisa-rails/agents/learner.md +44 -0
- package/plugins/lisa-rails/agents/performance-specialist.md +95 -0
- package/plugins/lisa-rails/agents/product-specialist.md +72 -0
- package/plugins/lisa-rails/agents/quality-specialist.md +55 -0
- package/plugins/lisa-rails/agents/security-specialist.md +58 -0
- package/plugins/lisa-rails/agents/skill-evaluator.md +246 -0
- package/plugins/lisa-rails/agents/slash-command-architect.md +87 -0
- package/plugins/lisa-rails/agents/test-specialist.md +64 -0
- package/plugins/lisa-rails/agents/verification-specialist.md +189 -0
- package/plugins/lisa-rails/agents/web-search-researcher.md +112 -0
- package/plugins/lisa-rails/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/lisa-rails/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/lisa-rails/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/lisa-rails/commands/git-commit.md +7 -0
- package/plugins/lisa-rails/commands/git-prune.md +6 -0
- package/plugins/lisa-rails/commands/git-submit-pr.md +7 -0
- package/plugins/lisa-rails/commands/jira-add-journey.md +7 -0
- package/plugins/lisa-rails/commands/jira-create.md +7 -0
- package/plugins/lisa-rails/commands/jira-evidence.md +7 -0
- package/plugins/lisa-rails/commands/jira-fix.md +7 -0
- package/plugins/lisa-rails/commands/jira-implement.md +7 -0
- package/plugins/lisa-rails/commands/jira-journey.md +7 -0
- package/plugins/lisa-rails/commands/jira-sync.md +7 -0
- package/plugins/lisa-rails/commands/jira-verify.md +7 -0
- package/plugins/lisa-rails/commands/lisa-review-implementation.md +7 -0
- package/plugins/lisa-rails/commands/plan-add-test-coverage.md +7 -0
- package/plugins/lisa-rails/commands/plan-create.md +6 -0
- package/plugins/lisa-rails/commands/plan-execute.md +7 -0
- package/plugins/lisa-rails/commands/plan-fix-linter-error.md +7 -0
- package/plugins/lisa-rails/commands/plan-local-code-review.md +6 -0
- package/plugins/lisa-rails/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/lisa-rails/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/lisa-rails/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/lisa-rails/commands/pull-request-review.md +7 -0
- package/plugins/lisa-rails/commands/security-zap-scan.md +6 -0
- package/plugins/lisa-rails/commands/sonarqube-check.md +6 -0
- package/plugins/lisa-rails/commands/sonarqube-fix.md +6 -0
- package/plugins/lisa-rails/commands/tasks-load.md +7 -0
- package/plugins/lisa-rails/commands/tasks-sync.md +7 -0
- package/plugins/lisa-rails/hooks/debug-hook.sh +47 -0
- package/plugins/lisa-rails/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/lisa-rails/hooks/format-on-edit.sh +76 -0
- package/plugins/lisa-rails/hooks/install-pkgs.sh +64 -0
- package/plugins/lisa-rails/hooks/lint-on-edit.sh +81 -0
- package/plugins/lisa-rails/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-rails/hooks/setup-jira-cli.sh +52 -0
- package/plugins/lisa-rails/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/lisa-rails/hooks/sync-tasks.sh +107 -0
- package/plugins/lisa-rails/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/lisa-rails/hooks/track-plan-sessions.sh +164 -0
- package/plugins/lisa-rails/hooks/verify-completion.sh +77 -0
- package/plugins/lisa-rails/rules/README.md +240 -0
- package/plugins/lisa-rails/rules/coding-philosophy.md +428 -0
- package/plugins/lisa-rails/rules/lisa.md +37 -0
- package/plugins/lisa-rails/rules/rails-conventions.md +176 -0
- package/plugins/lisa-rails/rules/verfication.md +596 -0
- package/plugins/lisa-rails/skills/action-controller-best-practices/SKILL.md +374 -0
- package/plugins/lisa-rails/skills/action-view-best-practices/SKILL.md +335 -0
- package/plugins/lisa-rails/skills/active-record-model-best-practices/SKILL.md +166 -0
- package/plugins/lisa-rails/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-rails/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-rails/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/lisa-rails/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/lisa-rails/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/lisa-rails/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-rails/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/lisa-rails/skills/jira-add-journey/SKILL.md +65 -0
- package/plugins/lisa-rails/skills/jira-create/SKILL.md +41 -0
- package/plugins/lisa-rails/skills/jira-evidence/SKILL.md +70 -0
- package/plugins/lisa-rails/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-rails/skills/jira-fix/SKILL.md +16 -0
- package/plugins/lisa-rails/skills/jira-implement/SKILL.md +18 -0
- package/plugins/lisa-rails/skills/jira-journey/SKILL.md +64 -0
- package/plugins/lisa-rails/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-rails/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-rails/skills/jira-sync/SKILL.md +63 -0
- package/plugins/lisa-rails/skills/jira-verify/SKILL.md +29 -0
- package/plugins/lisa-rails/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-rails/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-rails/skills/plan-add-test-coverage/SKILL.md +45 -0
- package/plugins/lisa-rails/skills/plan-execute/SKILL.md +89 -0
- package/plugins/lisa-rails/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-rails/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/lisa-rails/skills/plan-lower-code-complexity/SKILL.md +48 -0
- package/plugins/lisa-rails/skills/plan-reduce-max-lines/SKILL.md +46 -0
- package/plugins/lisa-rails/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-rails/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-rails/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-rails/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/lisa-rails/skills/skill-creator/SKILL.md +210 -0
- package/plugins/lisa-rails/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/lisa-rails/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/lisa-rails/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/lisa-rails/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/lisa-rails/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/lisa-rails/skills/tasks-load/SKILL.md +88 -0
- package/plugins/lisa-rails/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +86 -0
- package/plugins/lisa-typescript/agents/agent-architect.md +310 -0
- package/plugins/lisa-typescript/agents/architecture-specialist.md +53 -0
- package/plugins/lisa-typescript/agents/debug-specialist.md +204 -0
- package/plugins/lisa-typescript/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-typescript/agents/hooks-expert.md +74 -0
- package/plugins/lisa-typescript/agents/implementer.md +54 -0
- package/plugins/lisa-typescript/agents/learner.md +44 -0
- package/plugins/lisa-typescript/agents/performance-specialist.md +95 -0
- package/plugins/lisa-typescript/agents/product-specialist.md +72 -0
- package/plugins/lisa-typescript/agents/quality-specialist.md +55 -0
- package/plugins/lisa-typescript/agents/security-specialist.md +58 -0
- package/plugins/lisa-typescript/agents/skill-evaluator.md +246 -0
- package/plugins/lisa-typescript/agents/slash-command-architect.md +87 -0
- package/plugins/lisa-typescript/agents/test-specialist.md +64 -0
- package/plugins/lisa-typescript/agents/verification-specialist.md +189 -0
- package/plugins/lisa-typescript/agents/web-search-researcher.md +112 -0
- package/plugins/lisa-typescript/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/lisa-typescript/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/lisa-typescript/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/lisa-typescript/commands/git-commit.md +7 -0
- package/plugins/lisa-typescript/commands/git-prune.md +6 -0
- package/plugins/lisa-typescript/commands/git-submit-pr.md +7 -0
- package/plugins/lisa-typescript/commands/jira-add-journey.md +7 -0
- package/plugins/lisa-typescript/commands/jira-create.md +7 -0
- package/plugins/lisa-typescript/commands/jira-evidence.md +7 -0
- package/plugins/lisa-typescript/commands/jira-fix.md +7 -0
- package/plugins/lisa-typescript/commands/jira-implement.md +7 -0
- package/plugins/lisa-typescript/commands/jira-journey.md +7 -0
- package/plugins/lisa-typescript/commands/jira-sync.md +7 -0
- package/plugins/lisa-typescript/commands/jira-verify.md +7 -0
- package/plugins/lisa-typescript/commands/lisa-review-implementation.md +7 -0
- package/plugins/lisa-typescript/commands/plan-add-test-coverage.md +7 -0
- package/plugins/lisa-typescript/commands/plan-create.md +6 -0
- package/plugins/lisa-typescript/commands/plan-execute.md +7 -0
- package/plugins/lisa-typescript/commands/plan-fix-linter-error.md +7 -0
- package/plugins/lisa-typescript/commands/plan-local-code-review.md +6 -0
- package/plugins/lisa-typescript/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/lisa-typescript/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/lisa-typescript/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/lisa-typescript/commands/pull-request-review.md +7 -0
- package/plugins/lisa-typescript/commands/security-zap-scan.md +6 -0
- package/plugins/lisa-typescript/commands/sonarqube-check.md +6 -0
- package/plugins/lisa-typescript/commands/sonarqube-fix.md +6 -0
- package/plugins/lisa-typescript/commands/tasks-load.md +7 -0
- package/plugins/lisa-typescript/commands/tasks-sync.md +7 -0
- package/plugins/lisa-typescript/hooks/debug-hook.sh +47 -0
- package/plugins/lisa-typescript/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/lisa-typescript/hooks/format-on-edit.sh +76 -0
- package/plugins/lisa-typescript/hooks/install-pkgs.sh +64 -0
- package/plugins/lisa-typescript/hooks/lint-on-edit.sh +81 -0
- package/plugins/lisa-typescript/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-typescript/hooks/setup-jira-cli.sh +52 -0
- package/plugins/lisa-typescript/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/lisa-typescript/hooks/sync-tasks.sh +107 -0
- package/plugins/lisa-typescript/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/lisa-typescript/hooks/track-plan-sessions.sh +164 -0
- package/plugins/lisa-typescript/hooks/verify-completion.sh +77 -0
- package/plugins/lisa-typescript/rules/README.md +240 -0
- package/plugins/lisa-typescript/rules/coding-philosophy.md +428 -0
- package/plugins/lisa-typescript/rules/lisa.md +37 -0
- package/plugins/lisa-typescript/rules/verfication.md +596 -0
- package/plugins/lisa-typescript/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-typescript/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-typescript/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/lisa-typescript/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/lisa-typescript/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/lisa-typescript/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-typescript/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/lisa-typescript/skills/jira-add-journey/SKILL.md +120 -0
- package/plugins/lisa-typescript/skills/jira-create/SKILL.md +95 -0
- package/plugins/lisa-typescript/skills/jira-evidence/SKILL.md +73 -0
- package/plugins/lisa-typescript/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-typescript/skills/jira-fix/SKILL.md +16 -0
- package/plugins/lisa-typescript/skills/jira-implement/SKILL.md +18 -0
- package/plugins/lisa-typescript/skills/jira-journey/SKILL.md +125 -0
- package/plugins/lisa-typescript/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-typescript/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-typescript/skills/jira-sync/SKILL.md +63 -0
- package/plugins/lisa-typescript/skills/jira-verify/SKILL.md +48 -0
- package/plugins/lisa-typescript/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-typescript/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-typescript/skills/plan-add-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-typescript/skills/plan-execute/SKILL.md +89 -0
- package/plugins/lisa-typescript/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-typescript/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/lisa-typescript/skills/plan-lower-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-typescript/skills/plan-reduce-max-lines/SKILL.md +45 -0
- package/plugins/lisa-typescript/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-typescript/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-typescript/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-typescript/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/lisa-typescript/skills/skill-creator/SKILL.md +210 -0
- package/plugins/lisa-typescript/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/lisa-typescript/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/lisa-typescript/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/lisa-typescript/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/lisa-typescript/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/lisa-typescript/skills/tasks-load/SKILL.md +88 -0
- package/plugins/lisa-typescript/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/src/base/agents/agent-architect.md +310 -0
- package/plugins/src/base/agents/architecture-specialist.md +53 -0
- package/plugins/src/base/agents/debug-specialist.md +204 -0
- package/plugins/src/base/agents/git-history-analyzer.md +183 -0
- package/plugins/src/base/agents/hooks-expert.md +74 -0
- package/plugins/src/base/agents/implementer.md +54 -0
- package/plugins/src/base/agents/learner.md +44 -0
- package/plugins/src/base/agents/performance-specialist.md +95 -0
- package/plugins/src/base/agents/product-specialist.md +72 -0
- package/plugins/src/base/agents/quality-specialist.md +55 -0
- package/plugins/src/base/agents/security-specialist.md +58 -0
- package/plugins/src/base/agents/skill-evaluator.md +246 -0
- package/plugins/src/base/agents/slash-command-architect.md +87 -0
- package/plugins/src/base/agents/test-specialist.md +64 -0
- package/plugins/src/base/agents/verification-specialist.md +189 -0
- package/plugins/src/base/agents/web-search-researcher.md +112 -0
- package/plugins/src/base/commands/git-commit-and-submit-pr.md +7 -0
- package/plugins/src/base/commands/git-commit-submit-pr-and-verify.md +7 -0
- package/plugins/src/base/commands/git-commit-submit-pr-deploy-and-verify.md +7 -0
- package/plugins/src/base/commands/git-commit.md +7 -0
- package/plugins/src/base/commands/git-prune.md +6 -0
- package/plugins/src/base/commands/git-submit-pr.md +7 -0
- package/plugins/src/base/commands/jira-add-journey.md +7 -0
- package/plugins/src/base/commands/jira-create.md +7 -0
- package/plugins/src/base/commands/jira-evidence.md +7 -0
- package/plugins/src/base/commands/jira-fix.md +7 -0
- package/plugins/src/base/commands/jira-implement.md +7 -0
- package/plugins/src/base/commands/jira-journey.md +7 -0
- package/plugins/src/base/commands/jira-sync.md +7 -0
- package/plugins/src/base/commands/jira-verify.md +7 -0
- package/plugins/src/base/commands/lisa-review-implementation.md +7 -0
- package/plugins/src/base/commands/plan-add-test-coverage.md +7 -0
- package/plugins/src/base/commands/plan-create.md +6 -0
- package/plugins/src/base/commands/plan-execute.md +7 -0
- package/plugins/src/base/commands/plan-fix-linter-error.md +7 -0
- package/plugins/src/base/commands/plan-local-code-review.md +6 -0
- package/plugins/src/base/commands/plan-lower-code-complexity.md +6 -0
- package/plugins/src/base/commands/plan-reduce-max-lines-per-function.md +7 -0
- package/plugins/src/base/commands/plan-reduce-max-lines.md +7 -0
- package/plugins/src/base/commands/pull-request-review.md +7 -0
- package/plugins/src/base/commands/security-zap-scan.md +6 -0
- package/plugins/src/base/commands/sonarqube-check.md +6 -0
- package/plugins/src/base/commands/sonarqube-fix.md +6 -0
- package/plugins/src/base/commands/tasks-load.md +7 -0
- package/plugins/src/base/commands/tasks-sync.md +7 -0
- package/plugins/src/base/hooks/debug-hook.sh +47 -0
- package/plugins/src/base/hooks/enforce-plan-rules.sh +15 -0
- package/plugins/src/base/hooks/format-on-edit.sh +76 -0
- package/plugins/src/base/hooks/install-pkgs.sh +64 -0
- package/plugins/src/base/hooks/lint-on-edit.sh +81 -0
- package/plugins/src/base/hooks/notify-ntfy.sh +183 -0
- package/plugins/src/base/hooks/setup-jira-cli.sh +52 -0
- package/plugins/src/base/hooks/sg-scan-on-edit.sh +68 -0
- package/plugins/src/base/hooks/sync-tasks.sh +107 -0
- package/plugins/src/base/hooks/ticket-sync-reminder.sh +23 -0
- package/plugins/src/base/hooks/track-plan-sessions.sh +164 -0
- package/plugins/src/base/hooks/verify-completion.sh +77 -0
- package/plugins/src/base/rules/README.md +240 -0
- package/plugins/src/base/rules/coding-philosophy.md +428 -0
- package/plugins/src/base/rules/lisa.md +37 -0
- package/plugins/src/base/rules/verfication.md +596 -0
- package/plugins/src/base/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/src/base/skills/git-commit/SKILL.md +48 -0
- package/plugins/src/base/skills/git-commit-and-submit-pr/SKILL.md +8 -0
- package/plugins/src/base/skills/git-commit-submit-pr-and-verify/SKILL.md +7 -0
- package/plugins/src/base/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +7 -0
- package/plugins/src/base/skills/git-prune/SKILL.md +35 -0
- package/plugins/src/base/skills/git-submit-pr/SKILL.md +44 -0
- package/plugins/src/base/skills/jira-add-journey/SKILL.md +120 -0
- package/plugins/src/base/skills/jira-create/SKILL.md +95 -0
- package/plugins/src/base/skills/jira-evidence/SKILL.md +73 -0
- package/plugins/src/base/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/src/base/skills/jira-fix/SKILL.md +16 -0
- package/plugins/src/base/skills/jira-implement/SKILL.md +18 -0
- package/plugins/src/base/skills/jira-journey/SKILL.md +125 -0
- package/plugins/src/base/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/src/base/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/src/base/skills/jira-sync/SKILL.md +63 -0
- package/plugins/src/base/skills/jira-verify/SKILL.md +48 -0
- package/plugins/src/base/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/src/base/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/src/base/skills/plan-add-test-coverage/SKILL.md +44 -0
- package/plugins/src/base/skills/plan-execute/SKILL.md +89 -0
- package/plugins/src/base/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/src/base/skills/plan-local-code-review/SKILL.md +88 -0
- package/plugins/src/base/skills/plan-lower-code-complexity/SKILL.md +44 -0
- package/plugins/src/base/skills/plan-reduce-max-lines/SKILL.md +45 -0
- package/plugins/src/base/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/src/base/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/src/base/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/src/base/skills/skill-creator/LICENSE.txt +202 -0
- package/plugins/src/base/skills/skill-creator/SKILL.md +210 -0
- package/plugins/src/base/skills/skill-creator/scripts/init_skill.py +305 -0
- package/plugins/src/base/skills/skill-creator/scripts/package_skill.py +112 -0
- package/plugins/src/base/skills/skill-creator/scripts/quick_validate.py +67 -0
- package/plugins/src/base/skills/sonarqube-check/SKILL.md +11 -0
- package/plugins/src/base/skills/sonarqube-fix/SKILL.md +8 -0
- package/plugins/src/base/skills/tasks-load/SKILL.md +88 -0
- package/plugins/src/base/skills/tasks-sync/SKILL.md +108 -0
- package/plugins/src/cdk/.claude-plugin/plugin.json +86 -0
- package/plugins/src/expo/.claude-plugin/plugin.json +86 -0
- package/plugins/src/expo/agents/ops-specialist.md +124 -0
- package/plugins/src/expo/rules/expo-verification.md +261 -0
- package/plugins/src/expo/skills/apollo-client/SKILL.md +238 -0
- package/plugins/src/expo/skills/apollo-client/references/mutation-patterns.md +360 -0
- package/plugins/src/expo/skills/atomic-design-gluestack/SKILL.md +360 -0
- package/plugins/src/expo/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
- package/plugins/src/expo/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
- package/plugins/src/expo/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
- package/plugins/src/expo/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +329 -0
- package/plugins/src/expo/skills/container-view-pattern/SKILL.md +299 -0
- package/plugins/src/expo/skills/container-view-pattern/references/examples.md +749 -0
- package/plugins/src/expo/skills/container-view-pattern/references/patterns.md +318 -0
- package/plugins/src/expo/skills/container-view-pattern/scripts/create_component.py +200 -0
- package/plugins/src/expo/skills/container-view-pattern/scripts/validate_component.py +209 -0
- package/plugins/src/expo/skills/cross-platform-compatibility/SKILL.md +268 -0
- package/plugins/src/expo/skills/cross-platform-compatibility/references/common-issues.md +619 -0
- package/plugins/src/expo/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
- package/plugins/src/expo/skills/cross-platform-compatibility/references/platform-api.md +276 -0
- package/plugins/src/expo/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
- package/plugins/src/expo/skills/directory-structure/SKILL.md +202 -0
- package/plugins/src/expo/skills/directory-structure/scripts/validate_structure.py +445 -0
- package/plugins/src/expo/skills/expo-env-config/SKILL.md +309 -0
- package/plugins/src/expo/skills/expo-env-config/references/validation-patterns.md +417 -0
- package/plugins/src/expo/skills/expo-router-best-practices/SKILL.md +431 -0
- package/plugins/src/expo/skills/expo-router-best-practices/references/official-docs.md +290 -0
- package/plugins/src/expo/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
- package/plugins/src/expo/skills/gluestack-nativewind/SKILL.md +411 -0
- package/plugins/src/expo/skills/gluestack-nativewind/references/color-tokens.md +343 -0
- package/plugins/src/expo/skills/gluestack-nativewind/references/component-mapping.md +307 -0
- package/plugins/src/expo/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
- package/plugins/src/expo/skills/gluestack-nativewind/scripts/validate_styling.py +315 -0
- package/plugins/src/expo/skills/jira-add-journey/SKILL.md +126 -0
- package/plugins/src/expo/skills/jira-create/SKILL.md +101 -0
- package/plugins/src/expo/skills/jira-evidence/SKILL.md +78 -0
- package/plugins/src/expo/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/src/expo/skills/jira-journey/SKILL.md +190 -0
- package/plugins/src/expo/skills/jira-journey/scripts/generate-templates.py +281 -0
- package/plugins/src/expo/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/src/expo/skills/jira-verify/SKILL.md +47 -0
- package/plugins/src/expo/skills/local-state/SKILL.md +362 -0
- package/plugins/src/expo/skills/local-state/references/async-storage.md +505 -0
- package/plugins/src/expo/skills/local-state/references/persistence-patterns.md +711 -0
- package/plugins/src/expo/skills/local-state/references/reactive-variables.md +446 -0
- package/plugins/src/expo/skills/ops-browser-uat/SKILL.md +124 -0
- package/plugins/src/expo/skills/ops-check-logs/SKILL.md +211 -0
- package/plugins/src/expo/skills/ops-db-ops/SKILL.md +119 -0
- package/plugins/src/expo/skills/ops-deploy/SKILL.md +119 -0
- package/plugins/src/expo/skills/ops-monitor-errors/SKILL.md +99 -0
- package/plugins/src/expo/skills/ops-performance/SKILL.md +165 -0
- package/plugins/src/expo/skills/ops-run-local/SKILL.md +166 -0
- package/plugins/src/expo/skills/ops-verify-health/SKILL.md +101 -0
- package/plugins/src/expo/skills/owasp-zap/SKILL.md +56 -0
- package/plugins/src/expo/skills/playwright-selectors/SKILL.md +223 -0
- package/plugins/src/expo/skills/testing-library/SKILL.md +314 -0
- package/plugins/src/expo/skills/testing-library/references/async-patterns.md +420 -0
- package/plugins/src/expo/skills/testing-library/references/expo-router-testing.md +556 -0
- package/plugins/src/expo/skills/testing-library/references/mocking-patterns.md +590 -0
- package/plugins/src/expo/skills/testing-library/references/query-priority.md +291 -0
- package/plugins/src/nestjs/.claude-plugin/plugin.json +86 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/SKILL.md +176 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/references/advanced-features.md +527 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/references/project-patterns.md +483 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/references/quick-start.md +257 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
- package/plugins/src/nestjs/skills/nestjs-graphql/references/types-scalars.md +513 -0
- package/plugins/src/nestjs/skills/nestjs-rules/SKILL.md +536 -0
- package/plugins/src/nestjs/skills/typeorm-patterns/SKILL.md +275 -0
- package/plugins/src/nestjs/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
- package/plugins/src/nestjs/skills/typeorm-patterns/references/entity-patterns.md +450 -0
- package/plugins/src/nestjs/skills/typeorm-patterns/references/observability-patterns.md +536 -0
- package/plugins/src/rails/.claude-plugin/plugin.json +77 -0
- package/plugins/src/rails/rules/rails-conventions.md +176 -0
- package/plugins/src/rails/skills/action-controller-best-practices/SKILL.md +374 -0
- package/plugins/src/rails/skills/action-view-best-practices/SKILL.md +335 -0
- package/plugins/src/rails/skills/active-record-model-best-practices/SKILL.md +166 -0
- package/plugins/src/rails/skills/jira-add-journey/SKILL.md +65 -0
- package/plugins/src/rails/skills/jira-create/SKILL.md +41 -0
- package/plugins/src/rails/skills/jira-evidence/SKILL.md +70 -0
- package/plugins/src/rails/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/src/rails/skills/jira-journey/SKILL.md +64 -0
- package/plugins/src/rails/skills/jira-verify/SKILL.md +29 -0
- package/plugins/src/rails/skills/plan-add-test-coverage/SKILL.md +45 -0
- package/plugins/src/rails/skills/plan-fix-linter-error/SKILL.md +45 -0
- package/plugins/src/rails/skills/plan-lower-code-complexity/SKILL.md +48 -0
- package/plugins/src/rails/skills/plan-reduce-max-lines/SKILL.md +46 -0
- package/plugins/src/rails/skills/plan-reduce-max-lines-per-function/SKILL.md +46 -0
- package/plugins/src/typescript/.claude-plugin/plugin.json +86 -0
- package/scripts/build-plugins.sh +22 -0
- package/scripts/cleanup-amplify-branches.sh +150 -0
- package/scripts/cleanup-github-branches.sh +202 -0
- package/scripts/github-status-check.sh +301 -0
- package/scripts/install-claude-plugins.sh +70 -0
- package/scripts/lisa-commit-and-pr-local.sh +204 -0
- package/scripts/lisa-update-local.sh +158 -0
- package/scripts/update-node-version.ts +197 -0
- package/tsconfig/build.json +8 -0
- package/tsconfig/cdk.json +16 -0
- package/tsconfig/eslint.json +12 -0
- package/tsconfig/expo.json +18 -0
- package/tsconfig/nestjs.json +18 -0
- package/tsconfig/spec.json +7 -0
- package/{typescript/copy-overwrite/tsconfig.typescript.json → tsconfig/typescript.json} +1 -1
- package/typescript/copy-overwrite/eslint.config.ts +6 -20
- package/typescript/copy-overwrite/eslint.slow.config.ts +4 -73
- package/typescript/copy-overwrite/jest.config.ts +8 -12
- package/typescript/copy-overwrite/tsconfig.json +1 -1
- package/typescript/deletions.json +7 -1
- package/typescript/merge/.claude/settings.json +29 -0
- package/typescript/package-lisa/package.lisa.json +2 -36
- package/all/copy-overwrite/.claude/rules/lisa.md +0 -66
- package/all/copy-overwrite/.claude/settings.json +0 -79
- package/all/copy-overwrite/CLAUDE.md +0 -59
- package/all/copy-overwrite/HUMAN.md +0 -309
- package/cdk/copy-overwrite/.claude/settings.json +0 -80
- package/expo/copy-overwrite/.claude/settings.json +0 -80
- package/nestjs/copy-overwrite/.claude/settings.json +0 -80
- package/rails/copy-overwrite/CLAUDE.md +0 -56
- package/typescript/copy-overwrite/.claude/settings.json +0 -80
- package/typescript/copy-overwrite/eslint.base.ts +0 -429
- package/typescript/copy-overwrite/eslint.typescript.ts +0 -142
- package/typescript/copy-overwrite/jest.typescript.ts +0 -72
- /package/{all/copy-overwrite/.claude → plugins/lisa-cdk/rules}/README.md +0 -0
- /package/{all/create-only/scripts → scripts}/setup-deploy-key.sh +0 -0
- /package/{typescript/copy-overwrite/tsconfig.base.json → tsconfig/base.json} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# This file is managed by Lisa.
|
|
3
|
+
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
4
|
+
"""
|
|
5
|
+
Quick validation script for skills - minimal version
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import sys
|
|
9
|
+
import os
|
|
10
|
+
import re
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
def validate_skill(skill_path):
|
|
14
|
+
"""Basic validation of a skill"""
|
|
15
|
+
skill_path = Path(skill_path)
|
|
16
|
+
|
|
17
|
+
# Check SKILL.md exists
|
|
18
|
+
skill_md = skill_path / 'SKILL.md'
|
|
19
|
+
if not skill_md.exists():
|
|
20
|
+
return False, "SKILL.md not found"
|
|
21
|
+
|
|
22
|
+
# Read and validate frontmatter
|
|
23
|
+
content = skill_md.read_text()
|
|
24
|
+
if not content.startswith('---'):
|
|
25
|
+
return False, "No YAML frontmatter found"
|
|
26
|
+
|
|
27
|
+
# Extract frontmatter
|
|
28
|
+
match = re.match(r'^---\n(.*?)\n---', content, re.DOTALL)
|
|
29
|
+
if not match:
|
|
30
|
+
return False, "Invalid frontmatter format"
|
|
31
|
+
|
|
32
|
+
frontmatter = match.group(1)
|
|
33
|
+
|
|
34
|
+
# Check required fields
|
|
35
|
+
if 'name:' not in frontmatter:
|
|
36
|
+
return False, "Missing 'name' in frontmatter"
|
|
37
|
+
if 'description:' not in frontmatter:
|
|
38
|
+
return False, "Missing 'description' in frontmatter"
|
|
39
|
+
|
|
40
|
+
# Extract name for validation
|
|
41
|
+
name_match = re.search(r'name:\s*(.+)', frontmatter)
|
|
42
|
+
if name_match:
|
|
43
|
+
name = name_match.group(1).strip()
|
|
44
|
+
# Check naming convention (hyphen-case: lowercase with hyphens)
|
|
45
|
+
if not re.match(r'^[a-z0-9-]+$', name):
|
|
46
|
+
return False, f"Name '{name}' should be hyphen-case (lowercase letters, digits, and hyphens only)"
|
|
47
|
+
if name.startswith('-') or name.endswith('-') or '--' in name:
|
|
48
|
+
return False, f"Name '{name}' cannot start/end with hyphen or contain consecutive hyphens"
|
|
49
|
+
|
|
50
|
+
# Extract and validate description
|
|
51
|
+
desc_match = re.search(r'description:\s*(.+)', frontmatter)
|
|
52
|
+
if desc_match:
|
|
53
|
+
description = desc_match.group(1).strip()
|
|
54
|
+
# Check for angle brackets
|
|
55
|
+
if '<' in description or '>' in description:
|
|
56
|
+
return False, "Description cannot contain angle brackets (< or >)"
|
|
57
|
+
|
|
58
|
+
return True, "Skill is valid!"
|
|
59
|
+
|
|
60
|
+
if __name__ == "__main__":
|
|
61
|
+
if len(sys.argv) != 2:
|
|
62
|
+
print("Usage: python quick_validate.py <skill_directory>")
|
|
63
|
+
sys.exit(1)
|
|
64
|
+
|
|
65
|
+
valid, message = validate_skill(sys.argv[1])
|
|
66
|
+
print(message)
|
|
67
|
+
sys.exit(0 if valid else 1)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sonarqube-check
|
|
3
|
+
description: This skill should be used when checking why the last pull request failed SonarQube/SonarCloud quality gates. It uses the SonarQube MCP server to retrieve failure details and report the reasons.
|
|
4
|
+
allowed-tools: ["mcp__sonarqube__*"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SonarQube Check
|
|
8
|
+
|
|
9
|
+
Use the SonarQube MCP server to get the reason the last PR failed checks.
|
|
10
|
+
|
|
11
|
+
Retrieve the quality gate status and report all failures with their details.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sonarqube-fix
|
|
3
|
+
description: This skill should be used when fixing SonarQube quality gate failures. It runs the sonarqube:check skill to identify failures, fixes the identified issues, and then commits the changes using the git:commit skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
1. Run /sonarqube-check
|
|
7
|
+
2. Fix the SonarQube quality gate failures identified in step 1
|
|
8
|
+
3. Run /git-commit
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tasks-load
|
|
3
|
+
description: This skill should be used when loading tasks from a project directory into the current Claude Code session. It reads task JSON files from session subdirectories, recreates them in the current session, and sets the active project marker.
|
|
4
|
+
allowed-tools: ["Read", "Bash", "TaskCreate", "TaskUpdate", "TaskList"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Load Project Tasks
|
|
8
|
+
|
|
9
|
+
Load tasks from `projects/$ARGUMENTS/tasks/` into the current Claude Code session.
|
|
10
|
+
|
|
11
|
+
Tasks are stored in session subdirectories to preserve history across `/clear` commands:
|
|
12
|
+
```
|
|
13
|
+
projects/$ARGUMENTS/tasks/
|
|
14
|
+
├── {session-1-uuid}/
|
|
15
|
+
│ ├── 1.json
|
|
16
|
+
│ └── 2.json
|
|
17
|
+
└── {session-2-uuid}/
|
|
18
|
+
├── 1.json
|
|
19
|
+
└── 2.json
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
### Step 1: Validate Project
|
|
25
|
+
|
|
26
|
+
Check if the project exists and has task files:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
find projects/$ARGUMENTS/tasks -name "*.json" 2>/dev/null | head -5
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If no task files exist, report: "No tasks found in projects/$ARGUMENTS/tasks/"
|
|
33
|
+
|
|
34
|
+
List available sessions:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Step 2: Set Active Project
|
|
41
|
+
|
|
42
|
+
Create the active project marker:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
echo "$ARGUMENTS" > .claude-active-project
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This ensures any new tasks created will sync back to this project.
|
|
49
|
+
|
|
50
|
+
### Step 3: Load Tasks
|
|
51
|
+
|
|
52
|
+
Find and load all task JSON files from ALL session directories:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
find projects/$ARGUMENTS/tasks -name "*.json" -type f
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
For each JSON file found:
|
|
59
|
+
|
|
60
|
+
1. Read the task JSON file
|
|
61
|
+
2. Use TaskCreate to recreate the task with:
|
|
62
|
+
- subject from JSON
|
|
63
|
+
- description from JSON
|
|
64
|
+
- activeForm from JSON
|
|
65
|
+
- metadata: `{ "project": "$ARGUMENTS" }`
|
|
66
|
+
3. If the task was already completed (status: "completed"), use TaskUpdate to mark it completed
|
|
67
|
+
|
|
68
|
+
### Step 4: Report
|
|
69
|
+
|
|
70
|
+
After loading all tasks, report:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Loaded X tasks from projects/$ARGUMENTS/tasks/
|
|
74
|
+
- Sessions found: N
|
|
75
|
+
- Pending: Y
|
|
76
|
+
- Completed: Z
|
|
77
|
+
|
|
78
|
+
Active project set to: $ARGUMENTS
|
|
79
|
+
New tasks will automatically sync to this project.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Notes
|
|
83
|
+
|
|
84
|
+
- Tasks are recreated with new IDs in the current session
|
|
85
|
+
- The original task IDs from the project are not preserved
|
|
86
|
+
- Tasks from ALL sessions are loaded (full history)
|
|
87
|
+
- Task dependencies (blocks/blockedBy) are NOT currently preserved across load/sync cycles
|
|
88
|
+
- Use TaskList to see the loaded tasks
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tasks-sync
|
|
3
|
+
description: This skill should be used when syncing current session tasks to a project directory. It exports all tasks from the current Claude Code session to JSON files in the project's tasks directory, enabling persistence across sessions.
|
|
4
|
+
allowed-tools: ["Read", "Write", "Bash", "TaskList", "TaskGet"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sync Tasks to Project
|
|
8
|
+
|
|
9
|
+
Sync all tasks from the current session to `projects/$ARGUMENTS/tasks/{session-id}/`.
|
|
10
|
+
|
|
11
|
+
This skill is for manual syncing when work started without setting an active project. Once synced, the automatic hook handles future task updates.
|
|
12
|
+
|
|
13
|
+
## Process
|
|
14
|
+
|
|
15
|
+
### Step 1: Validate Project
|
|
16
|
+
|
|
17
|
+
Check if the project directory exists:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ls -d projects/$ARGUMENTS 2>/dev/null
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
If the project doesn't exist, ask: "Project '$ARGUMENTS' doesn't exist. Create it?"
|
|
24
|
+
|
|
25
|
+
If yes, create the project structure:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
mkdir -p projects/$ARGUMENTS/tasks
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Step 2: Determine Session ID
|
|
32
|
+
|
|
33
|
+
Find the current session by looking for the most recently modified task directory:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
ls -dt ~/.claude/tasks/*/ 2>/dev/null | head -1 | xargs basename
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If no session found, use a timestamp-based identifier:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
echo "manual-$(date +%Y%m%d-%H%M%S)"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Store the session ID for use in subsequent steps.
|
|
46
|
+
|
|
47
|
+
### Step 3: Set Active Project
|
|
48
|
+
|
|
49
|
+
Create/update the active project marker:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
echo "$ARGUMENTS" > .claude-active-project
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 4: Get Current Tasks
|
|
56
|
+
|
|
57
|
+
Use TaskList to get all tasks in the current session.
|
|
58
|
+
|
|
59
|
+
### Step 5: Sync Each Task
|
|
60
|
+
|
|
61
|
+
For each task from TaskList:
|
|
62
|
+
|
|
63
|
+
1. Use TaskGet to get full task details
|
|
64
|
+
2. Create the session directory:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
mkdir -p projects/$ARGUMENTS/tasks/{session-id}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
3. Create a JSON file with the task data:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"id": "<task-id>",
|
|
75
|
+
"subject": "<subject>",
|
|
76
|
+
"description": "<description>",
|
|
77
|
+
"activeForm": "<activeForm>",
|
|
78
|
+
"status": "<status>",
|
|
79
|
+
"blocks": [],
|
|
80
|
+
"blockedBy": []
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
4. Write to `projects/$ARGUMENTS/tasks/{session-id}/<id>.json`
|
|
85
|
+
|
|
86
|
+
### Step 6: Stage for Git
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
git add projects/$ARGUMENTS/tasks/{session-id}/*.json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Step 7: Report
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Synced X tasks to projects/$ARGUMENTS/tasks/{session-id}/
|
|
96
|
+
- Pending: Y
|
|
97
|
+
- In Progress: Z
|
|
98
|
+
- Completed: W
|
|
99
|
+
|
|
100
|
+
Files staged for commit. Run /git-commit when ready.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Notes
|
|
104
|
+
|
|
105
|
+
- This skill manually syncs all current tasks to a project
|
|
106
|
+
- Use this when work started without a project context
|
|
107
|
+
- After syncing, the active project is set so future tasks auto-sync via the hook
|
|
108
|
+
- Each sync creates a new session directory to preserve history
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Claude Code governance plugin for AWS CDK projects — includes all universal skills, agents, hooks, and rules from Lisa plus TypeScript tooling",
|
|
5
|
+
"author": "Cody Swann",
|
|
6
|
+
"hooks": {
|
|
7
|
+
"UserPromptSubmit": [
|
|
8
|
+
{
|
|
9
|
+
"matcher": "",
|
|
10
|
+
"hooks": [
|
|
11
|
+
{
|
|
12
|
+
"type": "command",
|
|
13
|
+
"command": "find ${CLAUDE_PLUGIN_ROOT}/rules -name '*.md' -exec cat {} \\;"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"matcher": "",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/enforce-plan-rules.sh"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"matcher": "",
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code user-prompt-submit || true"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"PostToolUse": [
|
|
37
|
+
{
|
|
38
|
+
"matcher": "Write|Edit",
|
|
39
|
+
"hooks": [
|
|
40
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/format-on-edit.sh" },
|
|
41
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sg-scan-on-edit.sh" },
|
|
42
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/lint-on-edit.sh" }
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"matcher": "TaskCreate|TaskUpdate",
|
|
47
|
+
"hooks": [
|
|
48
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh" }
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"matcher": "Task",
|
|
53
|
+
"hooks": [
|
|
54
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"matcher": "TodoWrite",
|
|
59
|
+
"hooks": [
|
|
60
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"PreToolUse": [
|
|
65
|
+
{
|
|
66
|
+
"matcher": "Task",
|
|
67
|
+
"hooks": [
|
|
68
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"Stop": [
|
|
73
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh" }] },
|
|
74
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh" }] },
|
|
75
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }] }
|
|
76
|
+
],
|
|
77
|
+
"SessionStart": [
|
|
78
|
+
{ "matcher": "startup", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/install-pkgs.sh" }] },
|
|
79
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh" }] },
|
|
80
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }] }
|
|
81
|
+
],
|
|
82
|
+
"SessionEnd": [
|
|
83
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }] }
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "expo",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Claude Code governance plugin for Expo/React Native projects — includes all universal skills, agents, hooks, and rules from Lisa plus Expo-specific tooling",
|
|
5
|
+
"author": "Cody Swann",
|
|
6
|
+
"hooks": {
|
|
7
|
+
"UserPromptSubmit": [
|
|
8
|
+
{
|
|
9
|
+
"matcher": "",
|
|
10
|
+
"hooks": [
|
|
11
|
+
{
|
|
12
|
+
"type": "command",
|
|
13
|
+
"command": "find ${CLAUDE_PLUGIN_ROOT}/rules -name '*.md' -exec cat {} \\;"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"matcher": "",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/enforce-plan-rules.sh"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"matcher": "",
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code user-prompt-submit || true"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"PostToolUse": [
|
|
37
|
+
{
|
|
38
|
+
"matcher": "Write|Edit",
|
|
39
|
+
"hooks": [
|
|
40
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/format-on-edit.sh" },
|
|
41
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sg-scan-on-edit.sh" },
|
|
42
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/lint-on-edit.sh" }
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"matcher": "TaskCreate|TaskUpdate",
|
|
47
|
+
"hooks": [
|
|
48
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/sync-tasks.sh" }
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"matcher": "Task",
|
|
53
|
+
"hooks": [
|
|
54
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-task || true" }
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"matcher": "TodoWrite",
|
|
59
|
+
"hooks": [
|
|
60
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code post-todo || true" }
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"PreToolUse": [
|
|
65
|
+
{
|
|
66
|
+
"matcher": "Task",
|
|
67
|
+
"hooks": [
|
|
68
|
+
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"Stop": [
|
|
73
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/verify-completion.sh" }] },
|
|
74
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/notify-ntfy.sh" }] },
|
|
75
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code stop || true" }] }
|
|
76
|
+
],
|
|
77
|
+
"SessionStart": [
|
|
78
|
+
{ "matcher": "startup", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/install-pkgs.sh" }] },
|
|
79
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/setup-jira-cli.sh" }] },
|
|
80
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-start || true" }] }
|
|
81
|
+
],
|
|
82
|
+
"SessionEnd": [
|
|
83
|
+
{ "matcher": "", "hooks": [{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code session-end || true" }] }
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ops-specialist
|
|
3
|
+
description: Operations specialist agent for Expo + serverless backend projects. Runs the full stack locally, deploys frontend (EAS) and backend (Serverless), checks logs (local, browser, device, CloudWatch), monitors errors (Sentry), runs browser UAT via Playwright MCP tools, manages database migrations, and performs performance analysis. Self-contained with all operational knowledge.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- ops-run-local
|
|
7
|
+
- ops-deploy
|
|
8
|
+
- ops-check-logs
|
|
9
|
+
- ops-verify-health
|
|
10
|
+
- ops-browser-uat
|
|
11
|
+
- ops-db-ops
|
|
12
|
+
- ops-monitor-errors
|
|
13
|
+
- ops-performance
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Ops Specialist Agent
|
|
17
|
+
|
|
18
|
+
You are an operations specialist for an Expo + serverless backend application. Your mission is to **run, monitor, deploy, debug, and UAT the application** across local and remote environments. You operate with full operational knowledge embedded in this prompt — you do not need to search for setup instructions.
|
|
19
|
+
|
|
20
|
+
## Architecture Summary
|
|
21
|
+
|
|
22
|
+
| Layer | Stack | Key Tech |
|
|
23
|
+
|-------|-------|----------|
|
|
24
|
+
| Frontend | Expo (React Native for Web, iOS, Android) | bun, Apollo Client, Expo Router |
|
|
25
|
+
| Backend | NestJS (Serverless Framework on AWS Lambda) | TypeORM, PostgreSQL, Cognito, Redis, GraphQL |
|
|
26
|
+
| Auth | AWS Cognito | Phone + OTP flow |
|
|
27
|
+
| CI/CD | GitHub Actions | EAS Update (OTA), Serverless deploy |
|
|
28
|
+
| Monitoring | Sentry | Frontend + Backend projects |
|
|
29
|
+
|
|
30
|
+
## Repository Paths
|
|
31
|
+
|
|
32
|
+
- **Frontend**: The current project directory (this repo). Use `.` or `$CLAUDE_PROJECT_DIR` in commands.
|
|
33
|
+
- **Backend**: Resolved via the `BACKEND_DIR` environment variable. Defaults to `../backend-v2` (sibling directory convention).
|
|
34
|
+
|
|
35
|
+
### Path Resolution
|
|
36
|
+
|
|
37
|
+
All skills use `${BACKEND_DIR:-../backend-v2}` in bash commands. This means:
|
|
38
|
+
- If `BACKEND_DIR` is set, use that path.
|
|
39
|
+
- Otherwise, assume the backend repo is at `../backend-v2` relative to the frontend root.
|
|
40
|
+
|
|
41
|
+
### Developer Setup
|
|
42
|
+
|
|
43
|
+
Each developer sets their backend path in `.claude/settings.local.json` (gitignored):
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"env": {
|
|
48
|
+
"BACKEND_DIR": "/path/to/your/backend"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If the backend is a sibling directory named `backend-v2`, no configuration is needed — the default works.
|
|
54
|
+
|
|
55
|
+
## Project Discovery
|
|
56
|
+
|
|
57
|
+
On first invocation, discover project-specific values by reading these files:
|
|
58
|
+
|
|
59
|
+
| Value | Source File | How to Extract |
|
|
60
|
+
|-------|------------|----------------|
|
|
61
|
+
| Environment URLs | `.env.localhost`, `.env.development`, `.env.staging`, `.env.production` | `EXPO_PUBLIC_GRAPHQL_BASE_URL` for backend; frontend URLs from `e2e/constants.ts` |
|
|
62
|
+
| Test credentials | `e2e/constants.ts` | `PHONE_NUMBER` and `OTP` exports |
|
|
63
|
+
| UI selectors | `e2e/selectors.ts` | `selectors` object with all `data-testid` values |
|
|
64
|
+
| Login flow | `e2e/fixtures/auth.fixture.ts` | `createAuthFixture` function with step-by-step login |
|
|
65
|
+
| AWS profiles | Backend `package.json` | Scripts matching `aws:signin:*` pattern |
|
|
66
|
+
| Lambda functions | Backend `package.json` | Scripts matching `logs:*` and `deploy:function:*` patterns |
|
|
67
|
+
| Deploy commands | Backend `package.json` | Scripts matching `deploy:*` pattern |
|
|
68
|
+
| Migration commands | Backend `package.json` | Scripts matching `migration:*` pattern |
|
|
69
|
+
| Sentry config | Frontend `package.json` | `@sentry/react-native` dependency; org/project from `.sentryclirc` or Sentry DSN in `.env.*` |
|
|
70
|
+
| Frontend scripts | Frontend `package.json` | All available `scripts` |
|
|
71
|
+
|
|
72
|
+
## App Routes
|
|
73
|
+
|
|
74
|
+
Discover routes from the `app/` directory (Expo Router file-based routing):
|
|
75
|
+
|
|
76
|
+
| Route | Purpose |
|
|
77
|
+
|-------|---------|
|
|
78
|
+
| `/signin` | Login page |
|
|
79
|
+
| `/confirm-code` | OTP entry |
|
|
80
|
+
| `/` | Home screen |
|
|
81
|
+
|
|
82
|
+
Read `app/` directory structure to discover all available routes.
|
|
83
|
+
|
|
84
|
+
## Skills Reference
|
|
85
|
+
|
|
86
|
+
| Skill | Purpose |
|
|
87
|
+
|-------|---------|
|
|
88
|
+
| `ops-run-local` | Start, stop, restart, or check status of local dev environment |
|
|
89
|
+
| `ops-deploy` | Deploy frontend (EAS) or backend (Serverless) to any environment |
|
|
90
|
+
| `ops-check-logs` | View local, browser, device, or remote CloudWatch logs |
|
|
91
|
+
| `ops-verify-health` | Health check all services across environments |
|
|
92
|
+
| `ops-browser-uat` | Browser-based UAT via Playwright MCP tools |
|
|
93
|
+
| `ops-db-ops` | Database migrations, reverts, schema generation, GraphQL codegen |
|
|
94
|
+
| `ops-monitor-errors` | Monitor Sentry for unresolved errors |
|
|
95
|
+
| `ops-performance` | Lighthouse audits, bundle analysis, k6 load tests |
|
|
96
|
+
|
|
97
|
+
## Troubleshooting Quick Reference
|
|
98
|
+
|
|
99
|
+
| Problem | Likely Cause | Fix |
|
|
100
|
+
|---------|-------------|-----|
|
|
101
|
+
| `port 8081 already in use` | Previous Metro bundler running | `lsof -ti :8081 \| xargs kill -9` |
|
|
102
|
+
| `port 3000 already in use` | Previous backend running | `lsof -ti :3000 \| xargs kill -9` |
|
|
103
|
+
| `ExpiredTokenException` | AWS SSO session expired | Run `aws:signin:{env}` script from backend dir |
|
|
104
|
+
| Metro bundler crash | Cache corruption | `bun start:local --clear` |
|
|
105
|
+
| `ECONNREFUSED localhost:3000` | Backend not running | Start backend first, then frontend |
|
|
106
|
+
| Migration fails | Missing AWS credentials | Run `aws:signin:{env}` script before migration |
|
|
107
|
+
| EAS CLI not found | Not installed globally | `npm install -g eas-cli` |
|
|
108
|
+
| `sls` not found | Serverless not installed | `cd $BACKEND_DIR && bun install` |
|
|
109
|
+
| GraphQL schema mismatch | Stale generated types | Run `generate:types:{env}` script |
|
|
110
|
+
| `BACKEND_DIR` not set | Missing env config | Set in `.claude/settings.local.json` or use default `../backend-v2` |
|
|
111
|
+
|
|
112
|
+
## Rules
|
|
113
|
+
|
|
114
|
+
- Always verify empirically — never assume something works because the code looks correct
|
|
115
|
+
- Always discover project-specific values from source files before operations
|
|
116
|
+
- Always check prerequisites (ports, AWS credentials, running services) before operations
|
|
117
|
+
- Always resolve `$BACKEND_DIR` before running backend commands — verify the directory exists
|
|
118
|
+
- Never deploy to production without explicit human confirmation
|
|
119
|
+
- Never run destructive database operations without explicit human confirmation
|
|
120
|
+
- Always use test credentials from `e2e/constants.ts` for browser automation
|
|
121
|
+
- Always use the correct `--profile` and `--region` for AWS CLI commands (discover from backend scripts)
|
|
122
|
+
- Always start backend before frontend for full-stack local development
|
|
123
|
+
- Always take screenshots at verification points during browser UAT
|
|
124
|
+
- Always report results in structured tables
|