devendra-skill-package 1.0.2
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/.github/skills/boiler-project-generator/SKILL.md +103 -0
- package/.github/skills/boiler-project-generator/assets/templates/android/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/angular/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/flutter/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/ios/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/api-setup.ts +76 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/component-primary-button.tsx +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/env-config.env +4 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-auth-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-dashboard-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-profile-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/hook-use-app-boot.ts +11 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/navigation-setup.tsx +25 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/project-structure.md +24 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-hooks.ts +5 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-session-slice.ts +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-store.ts +15 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/theme-index.ts +23 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/utils-helpers.ts +7 -0
- package/.github/skills/boiler-project-generator/metadata.yaml +29 -0
- package/.github/skills/boiler-project-generator/references/android.md +19 -0
- package/.github/skills/boiler-project-generator/references/angular.md +14 -0
- package/.github/skills/boiler-project-generator/references/flutter.md +17 -0
- package/.github/skills/boiler-project-generator/references/ios.md +17 -0
- package/.github/skills/boiler-project-generator/references/react-native.md +103 -0
- package/.github/skills/boiler-project-generator/references/react.md +17 -0
- package/.github/skills/boiler-project-generator/scripts/angular.js +43 -0
- package/.github/skills/boiler-project-generator/scripts/generate-project.mjs +107 -0
- package/.github/skills/boiler-project-generator/scripts/init.js +105 -0
- package/.github/skills/boiler-project-generator/scripts/react-native.js +1041 -0
- package/.github/skills/boiler-project-generator/scripts/react.js +32 -0
- package/.github/skills/clean-architecture-generator/SKILL.md +235 -0
- package/.github/skills/clean-architecture-generator/references/architecture-core.md +126 -0
- package/.github/skills/clean-architecture-generator/references/platform-angular.md +374 -0
- package/.github/skills/clean-architecture-generator/references/platform-flutter.md +366 -0
- package/.github/skills/clean-architecture-generator/references/platform-react-native.md +590 -0
- package/.github/skills/clean-architecture-generator/references/platform-react.md +261 -0
- package/.github/skills/code-test-coverage-analyzer/SKILL.md +1358 -0
- package/.github/skills/code-test-coverage-analyzer/assets/config-questionnaire.md +118 -0
- package/.github/skills/code-test-coverage-analyzer/assets/conflict-resolution-protocol.md +99 -0
- package/.github/skills/code-test-coverage-analyzer/assets/coverage-calculation-rules.md +294 -0
- package/.github/skills/code-test-coverage-analyzer/assets/multi-strategy-search.md +145 -0
- package/.github/skills/code-test-coverage-analyzer/assets/output-file-contracts.md +651 -0
- package/.github/skills/code-test-coverage-analyzer/assets/status-definitions.md +273 -0
- package/.github/skills/code-test-coverage-analyzer/examples/example-invocation.md +208 -0
- package/.github/skills/code-test-coverage-analyzer/references/android-patterns.md +229 -0
- package/.github/skills/code-test-coverage-analyzer/references/angular-patterns.md +177 -0
- package/.github/skills/code-test-coverage-analyzer/references/backend-patterns.md +383 -0
- package/.github/skills/code-test-coverage-analyzer/references/flutter-patterns.md +254 -0
- package/.github/skills/code-test-coverage-analyzer/references/ios-patterns.md +228 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-native-patterns.md +431 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-patterns.md +206 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/detect-platform.ps1 +261 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/scan-repository.ps1 +242 -0
- package/.github/skills/code-test-coverage-analyzer/templates/brd-compliance-row.md +107 -0
- package/.github/skills/code-test-coverage-analyzer/templates/test-case-row.md +130 -0
- package/.github/skills/code-test-coverage-analyzer/templates/user-story-compliance-row.md +170 -0
- package/.github/skills/custom-font-integrator/SKILL.md +373 -0
- package/.github/skills/custom-font-integrator/assets/FontTestScreen.js +150 -0
- package/.github/skills/custom-font-integrator/references/example-info-plist.xml +21 -0
- package/.github/skills/custom-font-integrator/scripts/setup-fonts.sh +99 -0
- package/.github/skills/encryption-decryption-utility/Instructions.md +282 -0
- package/.github/skills/encryption-decryption-utility/README.md +222 -0
- package/.github/skills/encryption-decryption-utility/SKILL.md +645 -0
- package/.github/skills/encryption-decryption-utility/assets/encryption-config-template.json +13 -0
- package/.github/skills/encryption-decryption-utility/assets/platform-matrix.json +180 -0
- package/.github/skills/encryption-decryption-utility/metadata.yaml +51 -0
- package/.github/skills/encryption-decryption-utility/references/android-crypto.md +157 -0
- package/.github/skills/encryption-decryption-utility/references/angular-crypto.md +130 -0
- package/.github/skills/encryption-decryption-utility/references/approach-1-webcrypto.md +95 -0
- package/.github/skills/encryption-decryption-utility/references/approach-2-rsa-aes-cbc.md +111 -0
- package/.github/skills/encryption-decryption-utility/references/approach-3-aes-sharedkey.md +114 -0
- package/.github/skills/encryption-decryption-utility/references/architecture.md +233 -0
- package/.github/skills/encryption-decryption-utility/references/backend-alignment.md +506 -0
- package/.github/skills/encryption-decryption-utility/references/dependency-guidance.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/ec-implementation.md +832 -0
- package/.github/skills/encryption-decryption-utility/references/error-handling-playbook.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/flutter-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/ios-crypto.md +338 -0
- package/.github/skills/encryption-decryption-utility/references/native-rsa-implementation.md +373 -0
- package/.github/skills/encryption-decryption-utility/references/node-crypto.md +86 -0
- package/.github/skills/encryption-decryption-utility/references/react-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/react-native-crypto.md +1001 -0
- package/.github/skills/encryption-decryption-utility/references/react-web-crypto.md +668 -0
- package/.github/skills/encryption-decryption-utility/references/security-checklist.md +176 -0
- package/.github/skills/encryption-decryption-utility/references/web-crypto.md +74 -0
- package/.github/skills/encryption-decryption-utility/scripts/detect.js +128 -0
- package/.github/skills/encryption-decryption-utility/scripts/install.js +1713 -0
- package/.github/skills/encryption-decryption-utility/scripts/setup.js +800 -0
- package/.github/skills/encryption-decryption-utility/template.md +241 -0
- package/.github/skills/encryption-decryption-utility/templates/config-questionnaire.md +467 -0
- package/.github/skills/encryption-decryption-utility/templates/delivery-checklist.md +206 -0
- package/.github/skills/encryption-decryption-utility/templates/implementation-plan.md +304 -0
- package/.github/skills/feature-generator/SKILL.MD +2741 -0
- package/.github/skills/feature-generator/assets/fingerprint-schema.json +385 -0
- package/.github/skills/feature-generator/assets/spec-template.md +172 -0
- package/.github/skills/feature-generator/assets/transform-rules.json +82 -0
- package/.github/skills/feature-generator/references/api-envelope-patterns.md +327 -0
- package/.github/skills/feature-generator/references/screen-logic-patterns.md +399 -0
- package/.github/skills/feature-generator/references/state-library-patterns.md +464 -0
- package/.github/skills/figma-ui-mapper/README.md +34 -0
- package/.github/skills/figma-ui-mapper/SKILL.md +101 -0
- package/.github/skills/figma-ui-mapper/assets/templates/component-map-template.md +30 -0
- package/.github/skills/figma-ui-mapper/assets/templates/generation-report-template.md +49 -0
- package/.github/skills/figma-ui-mapper/metadata.yaml +22 -0
- package/.github/skills/figma-ui-mapper/references/android.md +11 -0
- package/.github/skills/figma-ui-mapper/references/angular.md +18 -0
- package/.github/skills/figma-ui-mapper/references/capacitor.md +18 -0
- package/.github/skills/figma-ui-mapper/references/common.md +23 -0
- package/.github/skills/figma-ui-mapper/references/expo.md +18 -0
- package/.github/skills/figma-ui-mapper/references/flutter.md +18 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/angular/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/capacitor/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/expo/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/flutter/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/ionic/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/kotlin-multiplatform/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-android/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-ios/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/next/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/nuxt/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react/rules.md +19 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react-native/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/svelte/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/vue/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/ionic.md +18 -0
- package/.github/skills/figma-ui-mapper/references/ios.md +11 -0
- package/.github/skills/figma-ui-mapper/references/kotlin-multiplatform.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-android.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-ios.md +18 -0
- package/.github/skills/figma-ui-mapper/references/next.md +18 -0
- package/.github/skills/figma-ui-mapper/references/nuxt.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react-figma-guideline.md +21 -0
- package/.github/skills/figma-ui-mapper/references/react-native.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react.md +18 -0
- package/.github/skills/figma-ui-mapper/references/script-usage.md +46 -0
- package/.github/skills/figma-ui-mapper/references/svelte.md +18 -0
- package/.github/skills/figma-ui-mapper/references/vue.md +18 -0
- package/.github/skills/figma-ui-mapper/references/workflow.md +74 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-page-through-figma.js +635 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-react-page-through-figma.js +4 -0
- package/.github/skills/frontend-task-breakdown/SKILL.md +734 -0
- package/.github/skills/md-file-converter/SKILL.md +291 -0
- package/.github/skills/md-file-converter/config/formats.json +114 -0
- package/.github/skills/md-file-converter/extractors/extract-docx.sh +120 -0
- package/.github/skills/md-file-converter/extractors/extract-eml.py +108 -0
- package/.github/skills/md-file-converter/extractors/extract-pdf.sh +97 -0
- package/.github/skills/md-file-converter/extractors/extract-pptx.py +143 -0
- package/.github/skills/md-file-converter/extractors/extract-xlsx.py +175 -0
- package/.github/skills/md-file-converter/scripts/check-tools.sh +47 -0
- package/.github/skills/md-file-converter/scripts/extract-archive.sh +83 -0
- package/.github/skills/md-file-converter/scripts/extract-ocr.sh +77 -0
- package/.github/skills/md-file-converter/scripts/get-metadata.sh +57 -0
- package/.github/skills/md-file-converter/templates/output.md +73 -0
- package/.github/skills/md-file-converter/templates/unsupported-object.md +6 -0
- package/.github/skills/mockAPI-contract-generator/SKILL.md +607 -0
- package/.github/skills/test-case-validator/CHANGELOG.md +155 -0
- package/.github/skills/test-case-validator/CONFIGURATION.md +130 -0
- package/.github/skills/test-case-validator/EXAMPLES.md +50 -0
- package/.github/skills/test-case-validator/QUALITY_SCORING.md +98 -0
- package/.github/skills/test-case-validator/README.md +111 -0
- package/.github/skills/test-case-validator/REPORT_TEMPLATE.md +116 -0
- package/.github/skills/test-case-validator/SKILL.md +209 -0
- package/.github/skills/test-case-validator/SYSTEM_PROMPT.md +127 -0
- package/.github/skills/test-case-validator/TRACEABILITY_ENGINE.md +152 -0
- package/.github/skills/test-case-validator/VALIDATION_RULES.md +411 -0
- package/.github/skills/test-case-validator/config/default.config.yaml +62 -0
- package/.github/skills/test-case-validator/docs/ARCHITECTURE.md +66 -0
- package/.github/skills/test-case-validator/docs/EXTENDING.md +85 -0
- package/.github/skills/test-case-validator/docs/FAQ.md +88 -0
- package/.github/skills/test-case-validator/docs/VERSIONING.md +55 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-brd.md +43 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-test-cases.csv +9 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-user-story.md +29 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/output-report.md +303 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-spec.md +43 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-test-files-index.md +56 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/output-report.md +274 -0
- package/.github/skills/test-case-validator/prompts/00-applicability-resolution.md +61 -0
- package/.github/skills/test-case-validator/prompts/01-extraction-user-story.md +58 -0
- package/.github/skills/test-case-validator/prompts/02-extraction-brd.md +64 -0
- package/.github/skills/test-case-validator/prompts/03-extraction-test-cases.md +92 -0
- package/.github/skills/test-case-validator/prompts/04-traceability-matrix.md +41 -0
- package/.github/skills/test-case-validator/prompts/05-coverage-analysis.md +46 -0
- package/.github/skills/test-case-validator/prompts/06-missing-scenario-detection.md +32 -0
- package/.github/skills/test-case-validator/prompts/07-duplicate-detection.md +36 -0
- package/.github/skills/test-case-validator/prompts/08-risk-analysis.md +39 -0
- package/.github/skills/test-case-validator/prompts/09-gated-wiring-validation.md +53 -0
- package/.github/skills/test-case-validator/prompts/10-observation-report.md +56 -0
- package/.github/skills/test-case-validator/prompts/11-final-report-assembly.md +57 -0
- package/.github/skills/test-case-validator/templates/coverage-table.md +25 -0
- package/.github/skills/test-case-validator/templates/executive-summary.md +38 -0
- package/.github/skills/test-case-validator/templates/final-summary-block.md +87 -0
- package/.github/skills/test-case-validator/templates/observation-entry.md +41 -0
- package/.github/skills/test-case-validator/templates/rtm-row.md +25 -0
- package/.github/skills/validation-engine-builder/README.md +50 -0
- package/.github/skills/validation-engine-builder/SKILL.md +241 -0
- package/.github/skills/validation-engine-builder/references/core.md +158 -0
- package/.github/skills/validation-engine-builder/references/platform-angular.md +166 -0
- package/.github/skills/validation-engine-builder/references/platform-flutter.md +118 -0
- package/.github/skills/validation-engine-builder/references/platform-react-native.md +170 -0
- package/.github/skills/validation-engine-builder/references/platform-react.md +94 -0
- package/.github/skills/validation-engine-builder/scripts/apply-to-project.js +80 -0
- package/.github/skills/validation-engine-builder/scripts/generate-angular.js +271 -0
- package/.github/skills/validation-engine-builder/scripts/generate-flutter.js +298 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react-native.js +217 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react.js +163 -0
- package/.github/skills/validation-engine-builder/scripts/install-deps.js +53 -0
- package/.github/skills/validation-engine-builder/scripts/shared/detect-platform.js +68 -0
- package/.github/skills/validation-engine-builder/scripts/shared/npm-deps.js +103 -0
- package/.github/skills/validation-engine-builder/scripts/shared/rhf-hook.js +43 -0
- package/.github/skills/validation-engine-builder/scripts/shared/ts-messages-regex.js +62 -0
- package/.github/skills/validation-engine-builder/scripts/shared/util.js +44 -0
- package/.github/skills/validation-engine-builder/scripts/shared/yup-schemas.js +80 -0
- package/.github/skills/validation-engine-builder/template.md +73 -0
- package/.github/skills/validation-engine-builder/templates/messages.json +22 -0
- package/.github/skills/validation-engine-builder/templates/regex.json +16 -0
- package/.github/skills/validation-engine-builder/templates/schemas.json +48 -0
- package/bin/index.js +145 -0
- package/package.json +22 -0
- package/readme.md +0 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
# React Native — Scanning Patterns Reference
|
|
2
|
+
|
|
3
|
+
Load this file ONLY when the detected platform is ReactNative.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Screen Detection Patterns
|
|
8
|
+
|
|
9
|
+
**File patterns** (Glob):
|
|
10
|
+
```
|
|
11
|
+
**/*Screen.tsx
|
|
12
|
+
**/*Screen.ts
|
|
13
|
+
**/*Screen.jsx
|
|
14
|
+
**/*Page.tsx
|
|
15
|
+
**/*View.tsx
|
|
16
|
+
**/screens/**/*.tsx
|
|
17
|
+
**/screens/**/*.ts
|
|
18
|
+
**/pages/**/*.tsx
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Screen confirmation**: File must contain one of:
|
|
22
|
+
- `return (` with JSX containing `<View`, `<ScrollView`, `<SafeAreaView`, or `<Screen`
|
|
23
|
+
- `export default function` or `export const` returning JSX
|
|
24
|
+
- `React.FC` or `FC` type annotation with JSX return
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Component Detection Patterns
|
|
29
|
+
|
|
30
|
+
**File patterns** (Glob) — read ALL of these:
|
|
31
|
+
```
|
|
32
|
+
**/components/**/*.tsx
|
|
33
|
+
**/components/**/*.ts
|
|
34
|
+
**/ui/**/*.tsx
|
|
35
|
+
**/shared/**/*.tsx
|
|
36
|
+
**/common/**/*.tsx
|
|
37
|
+
**/*Component.tsx
|
|
38
|
+
**/*Button.tsx
|
|
39
|
+
**/*Card.tsx
|
|
40
|
+
**/*Input.tsx
|
|
41
|
+
**/*Field.tsx
|
|
42
|
+
**/*Modal.tsx
|
|
43
|
+
**/*BottomSheet.tsx
|
|
44
|
+
**/*Sheet.tsx
|
|
45
|
+
**/*Loader.tsx
|
|
46
|
+
**/*Spinner.tsx
|
|
47
|
+
**/*Banner.tsx
|
|
48
|
+
**/*Alert.tsx
|
|
49
|
+
**/*Toast.tsx
|
|
50
|
+
**/*Header.tsx
|
|
51
|
+
**/*Footer.tsx
|
|
52
|
+
**/*Item.tsx
|
|
53
|
+
**/*Row.tsx
|
|
54
|
+
**/*Badge.tsx
|
|
55
|
+
**/*Chip.tsx
|
|
56
|
+
**/*Dropdown.tsx
|
|
57
|
+
**/*Select.tsx
|
|
58
|
+
**/*Picker.tsx
|
|
59
|
+
**/*OTPInput.tsx
|
|
60
|
+
**/*PINInput.tsx
|
|
61
|
+
**/*AppText*.tsx
|
|
62
|
+
**/*AppButton*.tsx
|
|
63
|
+
**/*AppInput*.tsx
|
|
64
|
+
**/*AppTextInput*.tsx
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Why every component must be read**:
|
|
68
|
+
- Shared input components (`AppTextInput`, `CustomInput`) contain: placeholder prop, label prop,
|
|
69
|
+
errorMessage prop, regex prop, required indicator — all of which may carry requirement-prescribed text
|
|
70
|
+
- Button components may hardcode label text required by BRD
|
|
71
|
+
- Modal and bottom-sheet components implement entire sub-flows
|
|
72
|
+
- List item components render fields and values from API responses
|
|
73
|
+
- OTP / PIN input components have built-in digit-length enforcement
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Hook Detection Patterns
|
|
78
|
+
|
|
79
|
+
**File patterns** (Glob) — read ALL of these:
|
|
80
|
+
```
|
|
81
|
+
**/hooks/**/*.ts
|
|
82
|
+
**/hooks/**/*.tsx
|
|
83
|
+
**/*Hook.ts
|
|
84
|
+
**/*Hook.tsx
|
|
85
|
+
**/use*.ts
|
|
86
|
+
**/use*.tsx
|
|
87
|
+
**/*useForm*.ts
|
|
88
|
+
**/*useAuth*.ts
|
|
89
|
+
**/*useNavigation*.ts
|
|
90
|
+
**/*useSubmit*.ts
|
|
91
|
+
**/*useValidation*.ts
|
|
92
|
+
**/*useApi*.ts
|
|
93
|
+
**/*useSession*.ts
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Why every hook must be read**:
|
|
97
|
+
- `useForm` variants contain validation schemas and error messages
|
|
98
|
+
- Auth hooks contain session management and token refresh logic
|
|
99
|
+
- Submit hooks contain the actual API call and business rule enforcement
|
|
100
|
+
- Calculation hooks contain formulas
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Core / Security Detection Patterns
|
|
105
|
+
|
|
106
|
+
**File patterns** (Glob) — read ALL of these:
|
|
107
|
+
```
|
|
108
|
+
**/core/**/*.ts
|
|
109
|
+
**/core/**/*.tsx
|
|
110
|
+
**/security/**/*.ts
|
|
111
|
+
**/crypto/**/*.ts
|
|
112
|
+
**/encryption/**/*.ts
|
|
113
|
+
**/session/**/*.ts
|
|
114
|
+
**/middleware/**/*.ts
|
|
115
|
+
**/interceptors/**/*.ts
|
|
116
|
+
**/*interceptor*.ts
|
|
117
|
+
**/*Interceptor*.ts
|
|
118
|
+
**/*axiosClient*.ts
|
|
119
|
+
**/*apiClient*.ts
|
|
120
|
+
**/*httpClient*.ts
|
|
121
|
+
**/*networkClient*.ts
|
|
122
|
+
**/*ecdh*.ts
|
|
123
|
+
**/*aes*.ts
|
|
124
|
+
**/*cipher*.ts
|
|
125
|
+
**/*keyDerivation*.ts
|
|
126
|
+
**/*SessionManager*.ts
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Why every core/security file must be read**:
|
|
130
|
+
- Interceptors encrypt/decrypt every request and response — critical for API compliance
|
|
131
|
+
- ECDH session files define the entire encryption contract
|
|
132
|
+
- AES/GCM files define encryption algorithm parameters
|
|
133
|
+
- Session managers control when encryption is enabled/disabled per environment
|
|
134
|
+
- Auth middleware controls token injection and refresh behavior
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## State Management Detection
|
|
139
|
+
|
|
140
|
+
| Library | Detection Signal |
|
|
141
|
+
|---|---|
|
|
142
|
+
| Redux Toolkit | `import { createSlice }` or `import { configureStore }` in package.json: `@reduxjs/toolkit` |
|
|
143
|
+
| Redux (classic) | `import { createStore }`, `import { connect }` |
|
|
144
|
+
| Zustand | `import { create } from 'zustand'` or `package.json: zustand` |
|
|
145
|
+
| Jotai | `import { atom }` from 'jotai' |
|
|
146
|
+
| MobX | `import { observable }`, `import { action }` from 'mobx' |
|
|
147
|
+
| Context API | `React.createContext`, `useContext` |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## API Call Patterns
|
|
152
|
+
|
|
153
|
+
**HTTP client detection**:
|
|
154
|
+
- `package.json` contains: `axios` → Axios
|
|
155
|
+
- `package.json` contains: no axios → likely native fetch
|
|
156
|
+
|
|
157
|
+
**API call patterns to grep**:
|
|
158
|
+
```
|
|
159
|
+
axios.get(
|
|
160
|
+
axios.post(
|
|
161
|
+
axios.put(
|
|
162
|
+
axios.patch(
|
|
163
|
+
axios.delete(
|
|
164
|
+
\.get\(
|
|
165
|
+
\.post\(
|
|
166
|
+
\.put\(
|
|
167
|
+
\.patch\(
|
|
168
|
+
\.delete\(
|
|
169
|
+
fetch\(
|
|
170
|
+
apiClient\.
|
|
171
|
+
api\.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Repository / Service file patterns**:
|
|
175
|
+
```
|
|
176
|
+
**/*Repository.ts
|
|
177
|
+
**/*Service.ts
|
|
178
|
+
**/*Api.ts
|
|
179
|
+
**/*ApiService.ts
|
|
180
|
+
**/api/**/*.ts
|
|
181
|
+
**/services/**/*.ts
|
|
182
|
+
**/repositories/**/*.ts
|
|
183
|
+
**/data/**/*.ts
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Auth interceptor detection**:
|
|
187
|
+
- Look for files with `interceptors.request.use` or `interceptors.response.use`
|
|
188
|
+
- Look for `Authorization` header injection in request config
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Validation Patterns
|
|
193
|
+
|
|
194
|
+
**Validation library detection**:
|
|
195
|
+
- `package.json`: `yup` → Yup schemas
|
|
196
|
+
- `package.json`: `zod` → Zod schemas
|
|
197
|
+
- `package.json`: `joi` → Joi schemas
|
|
198
|
+
- `package.json`: `react-hook-form` → react-hook-form with validation
|
|
199
|
+
|
|
200
|
+
**Validation patterns to grep**:
|
|
201
|
+
```
|
|
202
|
+
\.required(
|
|
203
|
+
\.min(
|
|
204
|
+
\.max(
|
|
205
|
+
\.matches(
|
|
206
|
+
\.email(
|
|
207
|
+
\.regex(
|
|
208
|
+
setError(
|
|
209
|
+
error\.message
|
|
210
|
+
errors\.
|
|
211
|
+
Controller
|
|
212
|
+
useForm(
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Validation file patterns**:
|
|
216
|
+
```
|
|
217
|
+
**/validation/**/*.ts
|
|
218
|
+
**/*validation*.ts
|
|
219
|
+
**/*validator*.ts
|
|
220
|
+
**/*schema*.ts
|
|
221
|
+
**/schemas/**/*.ts
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**String resource files** (for message resolution):
|
|
225
|
+
```
|
|
226
|
+
**/i18n/**/*.json
|
|
227
|
+
**/locales/**/*.json
|
|
228
|
+
**/*strings*.ts
|
|
229
|
+
**/*messages*.ts
|
|
230
|
+
**/*strings*.json
|
|
231
|
+
**/constants/messages*.ts
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Navigation Patterns
|
|
237
|
+
|
|
238
|
+
**Library detection**:
|
|
239
|
+
- `package.json`: `@react-navigation` → React Navigation
|
|
240
|
+
- Screen import from `@react-navigation/native-stack` etc.
|
|
241
|
+
|
|
242
|
+
**Navigation call patterns**:
|
|
243
|
+
```
|
|
244
|
+
navigation\.navigate\(
|
|
245
|
+
navigation\.push\(
|
|
246
|
+
navigation\.goBack\(
|
|
247
|
+
navigation\.replace\(
|
|
248
|
+
navigation\.reset\(
|
|
249
|
+
useNavigation\(\)
|
|
250
|
+
createNativeStackNavigator
|
|
251
|
+
createBottomTabNavigator
|
|
252
|
+
createDrawerNavigator
|
|
253
|
+
Stack\.Navigator
|
|
254
|
+
Tab\.Navigator
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Route definition files**:
|
|
258
|
+
```
|
|
259
|
+
**/navigation/**/*.tsx
|
|
260
|
+
**/navigation/**/*.ts
|
|
261
|
+
**/*Navigator*.tsx
|
|
262
|
+
**/*Router*.tsx
|
|
263
|
+
**/routes/**/*.tsx
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Business Logic Patterns
|
|
269
|
+
|
|
270
|
+
**File patterns**:
|
|
271
|
+
```
|
|
272
|
+
**/store/**/*Slice.ts
|
|
273
|
+
**/store/**/*Thunk.ts
|
|
274
|
+
**/store/**/*Actions.ts
|
|
275
|
+
**/services/**/*.ts
|
|
276
|
+
**/*ViewModel*.ts
|
|
277
|
+
**/*useCase*.ts
|
|
278
|
+
**/*Interactor*.ts
|
|
279
|
+
**/utils/**/*.ts
|
|
280
|
+
**/helpers/**/*.ts
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Business logic patterns to grep**:
|
|
284
|
+
```
|
|
285
|
+
if.*eligible
|
|
286
|
+
if.*approved
|
|
287
|
+
if.*limit
|
|
288
|
+
if.*threshold
|
|
289
|
+
if.*amount
|
|
290
|
+
if.*interest
|
|
291
|
+
Math\.
|
|
292
|
+
\.toFixed(
|
|
293
|
+
parseFloat(
|
|
294
|
+
parseInt(
|
|
295
|
+
calculateAmount
|
|
296
|
+
calculateInterest
|
|
297
|
+
calculateFee
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Calculation Patterns
|
|
303
|
+
|
|
304
|
+
**Grep patterns**:
|
|
305
|
+
```
|
|
306
|
+
Math\.round\(
|
|
307
|
+
Math\.floor\(
|
|
308
|
+
Math\.ceil\(
|
|
309
|
+
\.toFixed\(
|
|
310
|
+
/ 100
|
|
311
|
+
\* rate
|
|
312
|
+
\* interest
|
|
313
|
+
principal \*
|
|
314
|
+
\* months
|
|
315
|
+
annualRate
|
|
316
|
+
monthlyRate
|
|
317
|
+
perDay
|
|
318
|
+
totalAmount
|
|
319
|
+
netAmount
|
|
320
|
+
grossAmount
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## UI Element Patterns
|
|
326
|
+
|
|
327
|
+
**Grep for UI elements**:
|
|
328
|
+
```
|
|
329
|
+
<TextInput
|
|
330
|
+
<Button
|
|
331
|
+
<TouchableOpacity
|
|
332
|
+
<TouchableHighlight
|
|
333
|
+
<Pressable
|
|
334
|
+
<Text
|
|
335
|
+
<Label
|
|
336
|
+
placeholder=
|
|
337
|
+
secureTextEntry
|
|
338
|
+
keyboardType=
|
|
339
|
+
maxLength=
|
|
340
|
+
<FlatList
|
|
341
|
+
<ScrollView
|
|
342
|
+
<Modal
|
|
343
|
+
<BottomSheet
|
|
344
|
+
<ActivityIndicator
|
|
345
|
+
loading={
|
|
346
|
+
isLoading
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Constants and Configuration
|
|
352
|
+
|
|
353
|
+
**File patterns**:
|
|
354
|
+
```
|
|
355
|
+
**/constants/**/*.ts
|
|
356
|
+
**/config/**/*.ts
|
|
357
|
+
**/*constants*.ts
|
|
358
|
+
**/*config*.ts
|
|
359
|
+
**/.env
|
|
360
|
+
**/.env.local
|
|
361
|
+
**/.env.development
|
|
362
|
+
**/.env.production
|
|
363
|
+
**/app.config.ts
|
|
364
|
+
**/app.json
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Feature Flag Patterns
|
|
370
|
+
|
|
371
|
+
**Grep patterns**:
|
|
372
|
+
```
|
|
373
|
+
featureFlag
|
|
374
|
+
isEnabled
|
|
375
|
+
FEATURE_
|
|
376
|
+
FF_
|
|
377
|
+
remoteConfig
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Authentication Patterns
|
|
383
|
+
|
|
384
|
+
**Grep patterns**:
|
|
385
|
+
```
|
|
386
|
+
AsyncStorage\.setItem\(.*token
|
|
387
|
+
AsyncStorage\.getItem\(.*token
|
|
388
|
+
SecureStore\.setItemAsync
|
|
389
|
+
useSelector.*auth
|
|
390
|
+
authToken
|
|
391
|
+
accessToken
|
|
392
|
+
refreshToken
|
|
393
|
+
Authorization.*Bearer
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Localization Patterns
|
|
399
|
+
|
|
400
|
+
**Grep patterns**:
|
|
401
|
+
```
|
|
402
|
+
i18n\.t\(
|
|
403
|
+
t\('
|
|
404
|
+
useTranslation\(\)
|
|
405
|
+
I18nManager
|
|
406
|
+
Localization
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
**File patterns**:
|
|
410
|
+
```
|
|
411
|
+
**/i18n/**
|
|
412
|
+
**/translations/**
|
|
413
|
+
**/locales/**
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## Error Handling Patterns
|
|
419
|
+
|
|
420
|
+
**Grep patterns**:
|
|
421
|
+
```
|
|
422
|
+
catch\s*\(
|
|
423
|
+
\.catch\(
|
|
424
|
+
try\s*\{
|
|
425
|
+
error\.response
|
|
426
|
+
error\.message
|
|
427
|
+
setError\(
|
|
428
|
+
Alert\.alert\(
|
|
429
|
+
Toast\.show\(
|
|
430
|
+
Snackbar\.show\(
|
|
431
|
+
```
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# React (Web) — Scanning Patterns Reference
|
|
2
|
+
|
|
3
|
+
Load this file ONLY when the detected platform is React (web application).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Screen / Page Detection Patterns
|
|
8
|
+
|
|
9
|
+
**File patterns** (Glob):
|
|
10
|
+
```
|
|
11
|
+
**/*Page.tsx
|
|
12
|
+
**/*Page.jsx
|
|
13
|
+
**/*View.tsx
|
|
14
|
+
**/*Component.tsx
|
|
15
|
+
**/pages/**/*.tsx
|
|
16
|
+
**/views/**/*.tsx
|
|
17
|
+
**/components/**/*.tsx
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Page confirmation**: Contains route registration in router config, or imported in route definitions.
|
|
21
|
+
|
|
22
|
+
**Route definition files**:
|
|
23
|
+
```
|
|
24
|
+
**/routes/**/*.tsx
|
|
25
|
+
**/*Router*.tsx
|
|
26
|
+
**/*Routes*.tsx
|
|
27
|
+
**/App.tsx
|
|
28
|
+
**/App.jsx
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## State Management Detection
|
|
34
|
+
|
|
35
|
+
| Library | Detection Signal |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Redux Toolkit | `@reduxjs/toolkit` in package.json, `createSlice` import |
|
|
38
|
+
| Redux | `redux` in package.json, `createStore` |
|
|
39
|
+
| Zustand | `zustand` in package.json, `create` import from zustand |
|
|
40
|
+
| React Query | `@tanstack/react-query` or `react-query` in package.json |
|
|
41
|
+
| Jotai | `jotai` in package.json |
|
|
42
|
+
| Context API | `React.createContext`, `useContext` |
|
|
43
|
+
| MobX | `mobx-react` in package.json |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## API Call Patterns
|
|
48
|
+
|
|
49
|
+
**Grep patterns**:
|
|
50
|
+
```
|
|
51
|
+
axios\.get\(
|
|
52
|
+
axios\.post\(
|
|
53
|
+
axios\.put\(
|
|
54
|
+
axios\.patch\(
|
|
55
|
+
axios\.delete\(
|
|
56
|
+
fetch\(
|
|
57
|
+
useQuery\(
|
|
58
|
+
useMutation\(
|
|
59
|
+
\.get\(
|
|
60
|
+
\.post\(
|
|
61
|
+
apiClient\.
|
|
62
|
+
api\.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Service / Repository files**:
|
|
66
|
+
```
|
|
67
|
+
**/services/**/*.ts
|
|
68
|
+
**/api/**/*.ts
|
|
69
|
+
**/hooks/use*.ts
|
|
70
|
+
**/lib/api/**/*.ts
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Validation Patterns
|
|
76
|
+
|
|
77
|
+
**Libraries**: Yup, Zod, Joi, React Hook Form, Formik
|
|
78
|
+
|
|
79
|
+
**Grep patterns**:
|
|
80
|
+
```
|
|
81
|
+
\.required\(
|
|
82
|
+
\.min\(
|
|
83
|
+
\.max\(
|
|
84
|
+
\.matches\(
|
|
85
|
+
\.email\(
|
|
86
|
+
register\(.*{
|
|
87
|
+
useForm\(
|
|
88
|
+
useFormik\(
|
|
89
|
+
errors\.
|
|
90
|
+
helperText=
|
|
91
|
+
FormHelperText
|
|
92
|
+
FormErrorMessage
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**String resource files**:
|
|
96
|
+
```
|
|
97
|
+
**/i18n/**/*.json
|
|
98
|
+
**/locales/**/*.json
|
|
99
|
+
**/messages/**/*.ts
|
|
100
|
+
**/constants/strings*.ts
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Navigation Patterns
|
|
106
|
+
|
|
107
|
+
**Library detection**: `react-router-dom`, `@tanstack/router`, `next/router`, `next/navigation`
|
|
108
|
+
|
|
109
|
+
**Grep patterns**:
|
|
110
|
+
```
|
|
111
|
+
useNavigate\(\)
|
|
112
|
+
useRouter\(\)
|
|
113
|
+
router\.push\(
|
|
114
|
+
navigate\(
|
|
115
|
+
<Link to=
|
|
116
|
+
<NavLink
|
|
117
|
+
<Route path=
|
|
118
|
+
history\.push\(
|
|
119
|
+
window\.location
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Business Logic Patterns
|
|
125
|
+
|
|
126
|
+
**File patterns**:
|
|
127
|
+
```
|
|
128
|
+
**/store/**/*Slice.ts
|
|
129
|
+
**/store/**/*Thunk.ts
|
|
130
|
+
**/hooks/use*.ts
|
|
131
|
+
**/services/**/*.ts
|
|
132
|
+
**/utils/**/*.ts
|
|
133
|
+
**/helpers/**/*.ts
|
|
134
|
+
**/lib/**/*.ts
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Grep patterns**: Same as React Native — `if.*eligible`, `Math\.`, `calculateAmount`, etc.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## UI Element Patterns
|
|
142
|
+
|
|
143
|
+
**Grep patterns**:
|
|
144
|
+
```
|
|
145
|
+
<input
|
|
146
|
+
<textarea
|
|
147
|
+
<select
|
|
148
|
+
<button
|
|
149
|
+
<form
|
|
150
|
+
<label
|
|
151
|
+
placeholder=
|
|
152
|
+
type="password"
|
|
153
|
+
type="email"
|
|
154
|
+
type="number"
|
|
155
|
+
<Spinner
|
|
156
|
+
isLoading
|
|
157
|
+
loading={
|
|
158
|
+
<Skeleton
|
|
159
|
+
<EmptyState
|
|
160
|
+
<ErrorMessage
|
|
161
|
+
<Toast
|
|
162
|
+
<Alert
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Authentication Patterns
|
|
168
|
+
|
|
169
|
+
**Grep patterns**:
|
|
170
|
+
```
|
|
171
|
+
localStorage\.setItem\(.*token
|
|
172
|
+
sessionStorage\.setItem\(.*token
|
|
173
|
+
cookie.*token
|
|
174
|
+
Authorization.*Bearer
|
|
175
|
+
useSelector.*auth
|
|
176
|
+
authToken
|
|
177
|
+
accessToken
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Localization Patterns
|
|
183
|
+
|
|
184
|
+
**Grep patterns**:
|
|
185
|
+
```
|
|
186
|
+
useTranslation\(\)
|
|
187
|
+
t\('
|
|
188
|
+
i18n\.t\(
|
|
189
|
+
<Trans
|
|
190
|
+
IntlProvider
|
|
191
|
+
formatMessage\(
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Error Handling Patterns
|
|
197
|
+
|
|
198
|
+
**Grep patterns**:
|
|
199
|
+
```
|
|
200
|
+
catch\s*\(
|
|
201
|
+
\.catch\(
|
|
202
|
+
try\s*\{
|
|
203
|
+
error\.response
|
|
204
|
+
onError\(
|
|
205
|
+
ErrorBoundary
|
|
206
|
+
```
|