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,273 @@
|
|
|
1
|
+
# Status Definitions — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
These are the authoritative definitions for every status value used in the compliance reports.
|
|
4
|
+
Do NOT interpret these definitions loosely. Apply them exactly as written.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Feature / BRD Requirement Status
|
|
9
|
+
|
|
10
|
+
### IMPLEMENTED
|
|
11
|
+
**Definition**: The requirement is fully and correctly implemented. All aspects of the requirement
|
|
12
|
+
are present in the source code. The implementation produces the behavior described in the
|
|
13
|
+
requirement without gaps.
|
|
14
|
+
|
|
15
|
+
**Evidence Requirement**: Must cite at least one file path and one function, class, or component
|
|
16
|
+
that directly implements the requirement.
|
|
17
|
+
|
|
18
|
+
**When to use**: ONLY when you have read the actual implementing code and confirmed all aspects
|
|
19
|
+
of the requirement are present.
|
|
20
|
+
|
|
21
|
+
**NOT acceptable**: Marking IMPLEMENTED because a file name suggests it, because an API endpoint
|
|
22
|
+
seems related, or because a similar feature exists.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### PARTIALLY_IMPLEMENTED
|
|
27
|
+
**Definition**: Implementation exists but covers only part of the requirement. The gap is specific
|
|
28
|
+
and documented. The implementation is correct for what exists, but something required is missing.
|
|
29
|
+
|
|
30
|
+
**Evidence Requirement**: Must cite what IS implemented (with file/function) AND what is missing
|
|
31
|
+
(with specific description of the gap).
|
|
32
|
+
|
|
33
|
+
**When to use**:
|
|
34
|
+
- Feature exists but one of several required fields is missing
|
|
35
|
+
- API is called but response is not fully mapped
|
|
36
|
+
- Validation exists but error message is wrong
|
|
37
|
+
- Screen exists but required UI elements are missing
|
|
38
|
+
- Business rule exists but one condition branch is not implemented
|
|
39
|
+
|
|
40
|
+
**Coverage %**: Estimate what fraction of the requirement is covered (e.g., 60% if 3 of 5 aspects
|
|
41
|
+
are implemented).
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### MISSING
|
|
46
|
+
**Definition**: No implementation found anywhere in the repository after exhaustive search.
|
|
47
|
+
The feature, screen, API, validation, or business rule does not exist.
|
|
48
|
+
|
|
49
|
+
**Evidence Requirement**: Must state "Searched using strategies S1–S6 (per assets/multi-strategy-search.md):
|
|
50
|
+
{list each strategy and result}. No implementation found across {N} strategies."
|
|
51
|
+
|
|
52
|
+
**When to use**: Only after ALL applicable strategies in `assets/multi-strategy-search.md` have returned
|
|
53
|
+
no results. The minimum bar is all six strategies, or all strategies applicable to the requirement type
|
|
54
|
+
as defined in multi-strategy-search.md §Minimum Strategies by Requirement Type.
|
|
55
|
+
|
|
56
|
+
Two search strategies is never sufficient. Always follow the full six-strategy protocol.
|
|
57
|
+
|
|
58
|
+
**NOT acceptable**: Marking MISSING after one or two searches. The six-strategy protocol is mandatory.
|
|
59
|
+
See `assets/multi-strategy-search.md` for the full protocol and evidence recording format.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### INCORRECT
|
|
64
|
+
**Definition**: Implementation exists but contradicts or violates the requirement. The code does
|
|
65
|
+
something different from what was specified — not just incomplete, but actively wrong.
|
|
66
|
+
|
|
67
|
+
**Evidence Requirement**: Must cite the requirement's expected behavior AND the actual code's
|
|
68
|
+
behavior, with file path and function name.
|
|
69
|
+
|
|
70
|
+
**When to use**:
|
|
71
|
+
- Required field maximum is 10 characters but implementation allows 20
|
|
72
|
+
- Required API uses POST but implementation uses GET
|
|
73
|
+
- Required navigation goes to ScreenA but implementation goes to ScreenB
|
|
74
|
+
- Required calculation formula is different from implemented formula
|
|
75
|
+
- Required error message says X but implementation says Y (use INCORRECT for systematic error,
|
|
76
|
+
use PARTIALLY_IMPLEMENTED if only the message wording is off and everything else is right)
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### EXTRA
|
|
81
|
+
**Definition**: Implementation found that has no corresponding requirement in BRD, User Stories,
|
|
82
|
+
or Test Cases. Not a defect — reported separately for awareness.
|
|
83
|
+
|
|
84
|
+
**Evidence Requirement**: Must cite file path. Must confirm no matching requirement found after
|
|
85
|
+
searching all three input documents.
|
|
86
|
+
|
|
87
|
+
**When to use**: Screens, APIs, features, business rules, or validation rules that exist in code
|
|
88
|
+
but were never requested. This is NOT a failure status — it is an informational flag.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### NOT_VERIFIED
|
|
93
|
+
**Definition**: Insufficient evidence in the source code to make a determination. The code is too
|
|
94
|
+
abstract, generated, or obfuscated to confirm whether the requirement is met.
|
|
95
|
+
|
|
96
|
+
**Evidence Requirement**: Must explain why verification was not possible.
|
|
97
|
+
|
|
98
|
+
**When to use** (rare, last resort):
|
|
99
|
+
- Code is entirely generated and cannot be inspected
|
|
100
|
+
- Requirement depends on runtime configuration not in source
|
|
101
|
+
- Feature is behind a feature flag and cannot be traced
|
|
102
|
+
- Code uses dynamic imports that cannot be statically analyzed
|
|
103
|
+
|
|
104
|
+
**NOT acceptable as a default**: NOT_VERIFIED must never be used as a shortcut when a thorough
|
|
105
|
+
search has not been performed.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Test Case Verdict
|
|
110
|
+
|
|
111
|
+
### PASS
|
|
112
|
+
**Definition**: All test steps can be traced to working implementation. The expected result
|
|
113
|
+
described in the test case matches what the actual code will produce.
|
|
114
|
+
|
|
115
|
+
**Evidence Requirement**: For each test step, cite the implementing code. For the expected result,
|
|
116
|
+
confirm the code produces that output.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### PARTIAL_PASS
|
|
121
|
+
**Definition**: Most test steps are satisfied, but one or more expected results differ from what
|
|
122
|
+
the implementation will produce. The feature exists but has a gap that causes partial failure.
|
|
123
|
+
|
|
124
|
+
**Evidence Requirement**: List which steps pass (with evidence) and which steps fail (with
|
|
125
|
+
specific reason and what is missing or wrong).
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### FAIL
|
|
130
|
+
**Definition**: The implementation cannot satisfy the test case. The feature exists but is
|
|
131
|
+
implemented in a way that contradicts the expected result.
|
|
132
|
+
|
|
133
|
+
**Evidence Requirement**: Cite the specific implementation that produces the wrong behavior.
|
|
134
|
+
State what the expected result is and what the actual implementation produces instead.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### NOT_IMPLEMENTED
|
|
139
|
+
**Definition**: The feature or screen or API required to execute this test case does not exist.
|
|
140
|
+
The test cannot even begin because the prerequisite implementation is absent.
|
|
141
|
+
|
|
142
|
+
**Evidence Requirement**: State what is missing and confirm via search that it does not exist.
|
|
143
|
+
|
|
144
|
+
**Implication**: Every test case with NOT_IMPLEMENTED verdict means there is also a MISSING
|
|
145
|
+
entry in the BRD/Story compliance reports.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### BLOCKED
|
|
150
|
+
**Definition**: This test case cannot be evaluated because it depends on another feature that is
|
|
151
|
+
itself missing or failing. The dependency must be resolved first.
|
|
152
|
+
|
|
153
|
+
**Evidence Requirement**: Name the blocking dependency (BRD-ID, US-ID, or feature name).
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### UNKNOWN
|
|
158
|
+
**Definition**: Cannot determine whether the test case passes or fails due to insufficient
|
|
159
|
+
code evidence. Use only when thorough analysis was performed and still inconclusive.
|
|
160
|
+
|
|
161
|
+
**Evidence Requirement**: Explain what was attempted and why a verdict cannot be reached.
|
|
162
|
+
State what would be needed to make a determination.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Acceptance Criterion Status
|
|
167
|
+
|
|
168
|
+
### SATISFIED
|
|
169
|
+
**Definition**: The acceptance criterion is fully met. Evidence confirms the described behavior
|
|
170
|
+
exists in the implementation.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### PARTIALLY_SATISFIED
|
|
175
|
+
**Definition**: The acceptance criterion is partially met. Some aspects of it are implemented,
|
|
176
|
+
but specific parts are missing or incorrect. The gap is documented.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### NOT_SATISFIED
|
|
181
|
+
**Definition**: The acceptance criterion is not met. The implementation does not produce the
|
|
182
|
+
required behavior.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### NOT_VERIFIABLE
|
|
187
|
+
**Definition**: Cannot determine from source code alone whether this criterion is satisfied.
|
|
188
|
+
Common for criteria that describe UX behavior, performance, or user perception.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Additional BRD Requirement Statuses
|
|
193
|
+
|
|
194
|
+
### CONFLICTED
|
|
195
|
+
**Definition**: Two or more source documents (BRD, User Stories, or intra-BRD sections) specify
|
|
196
|
+
contradictory values for the same requirement. The implementation cannot be judged until the
|
|
197
|
+
contradiction is resolved.
|
|
198
|
+
|
|
199
|
+
**Evidence Requirement**: Cite both conflicting sources with their exact text and values.
|
|
200
|
+
Example: "BRD-014 says max PIN length = 6. US-007-AC-03 says max PIN length = 8. Contradiction."
|
|
201
|
+
|
|
202
|
+
**Coverage impact**: CONFLICTED requirements score 0% until the conflict is resolved by
|
|
203
|
+
the project team. They appear in a dedicated "Conflicts" table in File 02.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### SCOPED_OUT
|
|
208
|
+
**Definition**: This requirement was intentionally excluded from this audit by the user (via Q8).
|
|
209
|
+
It exists in the BRD but is not in scope for the current release or audit session.
|
|
210
|
+
|
|
211
|
+
**Evidence Requirement**: Reference the user's Q8 input.
|
|
212
|
+
|
|
213
|
+
**Coverage impact**: SCOPED_OUT items are excluded from the denominator entirely. They appear
|
|
214
|
+
in a separate "Deferred / Out of Scope" section in File 02 and do NOT affect the overall score.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Confidence Levels
|
|
219
|
+
|
|
220
|
+
Applied to all IMPLEMENTED and PARTIALLY_IMPLEMENTED statuses. Use the decision tree below —
|
|
221
|
+
do not assign confidence intuitively.
|
|
222
|
+
|
|
223
|
+
### Confidence Decision Tree
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
Did you open and read the specific file that contains the implementation?
|
|
227
|
+
YES → Did you find the exact function/component that implements this requirement?
|
|
228
|
+
YES → Did you read enough of that function to confirm behavior matches requirements?
|
|
229
|
+
YES → HIGH confidence
|
|
230
|
+
NO → MEDIUM confidence (function found, not fully traced)
|
|
231
|
+
NO → Was the file read but implementation inferred from imports or file name?
|
|
232
|
+
YES → MEDIUM confidence
|
|
233
|
+
NO → LOW confidence
|
|
234
|
+
NO → Did you find the file path from a grep pattern match (but did not read the file)?
|
|
235
|
+
YES → MEDIUM confidence (indirect — pattern matched, content not confirmed)
|
|
236
|
+
NO → LOW confidence (circumstantial — directory name, related file, similar naming)
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### HIGH
|
|
240
|
+
**Criteria**: Directly read the implementing function. Behavior confirmed from source.
|
|
241
|
+
No ambiguity. Cite: file path + function name + line range read.
|
|
242
|
+
|
|
243
|
+
### MEDIUM
|
|
244
|
+
**Criteria**: Indirect evidence — either read the file but couldn't trace all branches,
|
|
245
|
+
OR found the file via grep but didn't read in full. Implementation strongly inferred.
|
|
246
|
+
Cite: what was read and what was inferred.
|
|
247
|
+
|
|
248
|
+
### LOW
|
|
249
|
+
**Criteria**: Circumstantial only. File structure, naming, or import graph suggests
|
|
250
|
+
implementation but no direct confirmation. Usually indicates PARTIALLY_IMPLEMENTED or
|
|
251
|
+
NOT_VERIFIED is the more appropriate status.
|
|
252
|
+
|
|
253
|
+
**Rule**: Status = IMPLEMENTED with LOW confidence is only permitted if there are 3+ independent
|
|
254
|
+
circumstantial signals all pointing to the same conclusion. Otherwise use PARTIALLY_IMPLEMENTED.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Message Match Status (for Validation Analysis)
|
|
259
|
+
|
|
260
|
+
### EXACT
|
|
261
|
+
Implemented message is character-for-character identical to the required message (case-insensitive
|
|
262
|
+
comparison is allowed; leading/trailing whitespace is trimmed before comparison).
|
|
263
|
+
|
|
264
|
+
### SIMILAR
|
|
265
|
+
Implemented message conveys the same meaning but with different wording. Still a mismatch — must
|
|
266
|
+
be flagged for review and approval by business stakeholders.
|
|
267
|
+
|
|
268
|
+
### MISMATCH
|
|
269
|
+
Implemented message is substantially different from the required message. Wrong tone, wrong field
|
|
270
|
+
name, missing field name, or wrong instruction.
|
|
271
|
+
|
|
272
|
+
### MISSING
|
|
273
|
+
No validation message is displayed. Field may be validated but no user-facing message is shown.
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Example Invocations — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Example 1 — React Native Project
|
|
6
|
+
|
|
7
|
+
**User invokes**:
|
|
8
|
+
```
|
|
9
|
+
/code-test-coverage-analyzer BRD.md USER_STORIES.md TEST_CASES.md
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Skill asks**:
|
|
13
|
+
```
|
|
14
|
+
COMPLIANCE AUDITOR — CONFIGURATION
|
|
15
|
+
===================================
|
|
16
|
+
Q1 BRD File: ? (what is the path to your BRD Markdown file?)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**User provides**: `./docs/BRD.md`
|
|
20
|
+
|
|
21
|
+
**Skill continues collecting Q2–Q5**, auto-detects platform from package.json (ReactNative, Redux Toolkit, Axios).
|
|
22
|
+
|
|
23
|
+
**Skill presents summary**:
|
|
24
|
+
```
|
|
25
|
+
COMPLIANCE AUDITOR — CONFIGURATION SUMMARY
|
|
26
|
+
===========================================
|
|
27
|
+
Q1 BRD File: ./docs/BRD.md
|
|
28
|
+
Q2 User Stories: ./docs/USER_STORIES.md
|
|
29
|
+
Q3 Test Cases: ./docs/TEST_CASES.md
|
|
30
|
+
Q4 Project Root: ./
|
|
31
|
+
Q5 Output Folder: COMPLIANCE_AUDIT_REPORT/
|
|
32
|
+
Q6 Platform: ReactNative
|
|
33
|
+
Q7 Optional Docs: None
|
|
34
|
+
|
|
35
|
+
Estimated scope:
|
|
36
|
+
Source files to scan: 247
|
|
37
|
+
Platform patterns: references/react-native-patterns.md
|
|
38
|
+
|
|
39
|
+
Type "OK" to begin the audit or "cancel" to abort.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**User types**: `OK`
|
|
43
|
+
|
|
44
|
+
**Skill begins 12-pass analysis, then generates 14 files.**
|
|
45
|
+
|
|
46
|
+
**Final output**:
|
|
47
|
+
```
|
|
48
|
+
AUDIT COMPLETE
|
|
49
|
+
==============
|
|
50
|
+
Project: MyBankingApp
|
|
51
|
+
Platform: ReactNative (Redux Toolkit + Axios)
|
|
52
|
+
Output Folder: COMPLIANCE_AUDIT_REPORT/
|
|
53
|
+
|
|
54
|
+
Input Documents:
|
|
55
|
+
BRD: ./docs/BRD.md — 48 requirements parsed
|
|
56
|
+
User Stories: ./docs/USER_STORIES.md — 22 stories, 87 acceptance criteria
|
|
57
|
+
Test Cases: ./docs/TEST_CASES.md — 65 test cases
|
|
58
|
+
|
|
59
|
+
Files Generated:
|
|
60
|
+
[01] 01_EXECUTIVE_SUMMARY.md — 89 lines
|
|
61
|
+
[02] 02_BRD_COMPLIANCE.md — 312 lines
|
|
62
|
+
[03] 03_USER_STORY_COMPLIANCE.md — 445 lines
|
|
63
|
+
[04] 04_TEST_CASE_COMPLIANCE.md — 598 lines
|
|
64
|
+
[05] 05_VALIDATION_ANALYSIS.md — 234 lines
|
|
65
|
+
[06] 06_UI_ANALYSIS.md — 187 lines
|
|
66
|
+
[07] 07_API_ANALYSIS.md — 156 lines
|
|
67
|
+
[08] 08_BUSINESS_LOGIC_ANALYSIS.md — 203 lines
|
|
68
|
+
[09] 09_NAVIGATION_ANALYSIS.md — 145 lines
|
|
69
|
+
[10] 10_TRACEABILITY_MATRIX.md — 178 lines
|
|
70
|
+
[11] 11_MISSING_FEATURES.md — 134 lines
|
|
71
|
+
[12] 12_EXTRA_IMPLEMENTATION.md — 67 lines
|
|
72
|
+
[13] 13_COMPLIANCE_SCORECARD.md — 98 lines
|
|
73
|
+
[14] 14_FINAL_RECOMMENDATIONS.md — 156 lines
|
|
74
|
+
|
|
75
|
+
Overall Compliance Score: 73%
|
|
76
|
+
Risk Level: MEDIUM
|
|
77
|
+
Production Readiness: CONDITIONAL
|
|
78
|
+
|
|
79
|
+
Placeholder Validation: PASS (0 remaining)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Example 2 — Flutter Project with Optional Docs
|
|
85
|
+
|
|
86
|
+
**User invokes**:
|
|
87
|
+
```
|
|
88
|
+
/code-test-coverage-analyzer
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Q7 provided**: `./docs/api-swagger.yaml, ./docs/architecture.md`
|
|
92
|
+
|
|
93
|
+
**Skill incorporates**:
|
|
94
|
+
- `api-swagger.yaml` → used in Pass 3 (API Discovery) to cross-check expected endpoints
|
|
95
|
+
- `architecture.md` → used in Pass 1 (Structure Discovery) to validate actual architecture
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Example 3 — Android Project (Pre-populated Paths)
|
|
100
|
+
|
|
101
|
+
**User invokes**:
|
|
102
|
+
```
|
|
103
|
+
/code-test-coverage-analyzer ./requirements/BRD.md ./requirements/UserStories.md ./requirements/TestCases.md ./MyApp
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Skill auto-fills Q1–Q4 from arguments, only asks Q5 (output folder name).**
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Sample Executive Summary Output (excerpt)
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# Executive Summary
|
|
114
|
+
Generated by: Project Requirements Compliance Auditor
|
|
115
|
+
Audit Date: 2026-07-07
|
|
116
|
+
Project: /projects/MyBankingApp
|
|
117
|
+
Platform: ReactNative
|
|
118
|
+
|
|
119
|
+
## Overall Compliance Score
|
|
120
|
+
|
|
121
|
+
Overall Compliance: 73%
|
|
122
|
+
[====================> ] 73/100
|
|
123
|
+
|
|
124
|
+
## Risk Score
|
|
125
|
+
|
|
126
|
+
**MEDIUM** — The project has notable compliance gaps but core flows are implemented.
|
|
127
|
+
Non-critical features and some validations are missing.
|
|
128
|
+
|
|
129
|
+
## Production Readiness
|
|
130
|
+
|
|
131
|
+
**CONDITIONAL** — Can proceed to UAT with a targeted fix sprint.
|
|
132
|
+
Must resolve Priority 1 blockers (4 items) before production release.
|
|
133
|
+
|
|
134
|
+
## Coverage at a Glance
|
|
135
|
+
|
|
136
|
+
| Dimension | Total | Implemented | Partial | Missing | Coverage % |
|
|
137
|
+
|------------------------|-------|-------------|---------|---------|------------|
|
|
138
|
+
| BRD Requirements | 48 | 34 | 7 | 7 | 70.8% |
|
|
139
|
+
| User Stories | 22 | 15 | 5 | 2 | 68.2% |
|
|
140
|
+
| Acceptance Criteria | 87 | 61 | 14 | 12 | 70.1% |
|
|
141
|
+
| Test Cases (Pass) | 65 | 43 | 12 | 10 | 66.2% |
|
|
142
|
+
| Validations | 31 | 24 | 4 | 3 | 77.4% |
|
|
143
|
+
| APIs | 18 | 16 | 1 | 1 | 88.9% |
|
|
144
|
+
| UI Screens | 12 | 10 | 1 | 1 | 83.3% |
|
|
145
|
+
| Business Logic Rules | 24 | 18 | 3 | 3 | 75.0% |
|
|
146
|
+
| Navigation Flows | 19 | 14 | 2 | 3 | 73.7% |
|
|
147
|
+
|
|
148
|
+
## Critical Issues
|
|
149
|
+
|
|
150
|
+
1. **BRD-023** — Loan Confirmation Screen not implemented (MISSING) — 3 test cases blocked
|
|
151
|
+
2. **BRD-031** — Real-time EMI calculation not displayed before submission (PARTIALLY_IMPLEMENTED)
|
|
152
|
+
3. **BRD-038** — PIN lockout after 3 failed attempts missing (MISSING)
|
|
153
|
+
4. **TC-045** — OTP resend timer does not reset on re-entry (FAIL)
|
|
154
|
+
5. **TC-052** — Aadhaar number validation accepts 11-digit input (INCORRECT)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Sample Validation Analysis Output (excerpt)
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
#### Field: aadhaarNumber on AadhaarVerificationScreen
|
|
163
|
+
|
|
164
|
+
| Aspect | Required (from BRD-019) | Implemented (from code) | Match |
|
|
165
|
+
|--------|------------------------|------------------------|-------|
|
|
166
|
+
| Rule | required + exactly 12 digits | required + maxLength=12 (no digit-only check) | MISMATCH |
|
|
167
|
+
| Error Message | "Please enter valid 12-digit Aadhaar number" | "Aadhaar number is required" | MISMATCH |
|
|
168
|
+
| Trigger | onSubmit + onChange | onSubmit only | MISMATCH |
|
|
169
|
+
| File | — | src/screens/kyc/AadhaarScreen.tsx:45 | — |
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Sample Test Case Block (excerpt)
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
### TC-052 — Aadhaar Number Validation
|
|
178
|
+
|
|
179
|
+
**Type**: Validation
|
|
180
|
+
**Related Story**: US-011
|
|
181
|
+
**Related BRD**: BRD-019
|
|
182
|
+
**Verdict**: FAIL
|
|
183
|
+
**Confidence**: HIGH
|
|
184
|
+
|
|
185
|
+
#### Test Steps vs Implementation
|
|
186
|
+
|
|
187
|
+
| # | Test Step | Expected Outcome | Actual Implementation | Step Status |
|
|
188
|
+
|---|-----------|-----------------|----------------------|-------------|
|
|
189
|
+
| 1 | Navigate to Aadhaar verification screen | Screen visible | AadhaarScreen.tsx exists — renders correctly | PASS |
|
|
190
|
+
| 2 | Enter 11-digit number (e.g., 12345678901) | Show error "Please enter valid 12-digit Aadhaar number" | No error shown — maxLength=12 allows 11 chars to pass | FAIL |
|
|
191
|
+
| 3 | Enter alphabetic characters | Characters rejected | No regex filter — alphabetic input accepted | FAIL |
|
|
192
|
+
| 4 | Enter valid 12-digit number | Field valid, no error | Accepted — no digit-only validation | PARTIAL |
|
|
193
|
+
|
|
194
|
+
#### Evidence Files
|
|
195
|
+
- `src/screens/kyc/AadhaarScreen.tsx:45` — aadhaarNumber TextInput with maxLength=12 only
|
|
196
|
+
- `src/validation/kycSchema.ts:23` — kycSchema — aadhaarNumber: Yup.string().required() — no matches() or length check
|
|
197
|
+
|
|
198
|
+
#### Verdict Reason
|
|
199
|
+
Validation only checks required(). Does not enforce 12-digit minimum, 12-digit maximum, or digits-only.
|
|
200
|
+
11-digit Aadhaar passes validation. Non-numeric characters are accepted.
|
|
201
|
+
|
|
202
|
+
#### Recommendation
|
|
203
|
+
In kycSchema.ts:23, update aadhaarNumber validation:
|
|
204
|
+
aadhaarNumber: Yup.string()
|
|
205
|
+
.required('Please enter valid 12-digit Aadhaar number')
|
|
206
|
+
.matches(/^\d{12}$/, 'Please enter valid 12-digit Aadhaar number')
|
|
207
|
+
Add VALIDATION_REGEX.numericOnly to AadhaarScreen.tsx TextInput regex prop.
|
|
208
|
+
```
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Android — Scanning Patterns Reference
|
|
2
|
+
|
|
3
|
+
Load this file ONLY when the detected platform is Android (Kotlin/Java).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Screen Detection Patterns
|
|
8
|
+
|
|
9
|
+
**File patterns** (Glob):
|
|
10
|
+
```
|
|
11
|
+
**/*Activity.kt
|
|
12
|
+
**/*Fragment.kt
|
|
13
|
+
**/*Activity.java
|
|
14
|
+
**/*Fragment.java
|
|
15
|
+
**/*Screen.kt
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Confirmation**: Extends `AppCompatActivity`, `Fragment`, `DialogFragment`, or `BottomSheetDialogFragment`.
|
|
19
|
+
|
|
20
|
+
**Layout files**:
|
|
21
|
+
```
|
|
22
|
+
**/res/layout/**/*.xml
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## State Management Detection
|
|
28
|
+
|
|
29
|
+
| Library | Signal |
|
|
30
|
+
|---|---|
|
|
31
|
+
| ViewModel + LiveData | `androidx.lifecycle.ViewModel`, `LiveData`, `MutableLiveData` |
|
|
32
|
+
| ViewModel + StateFlow | `StateFlow`, `MutableStateFlow`, `viewModelScope` |
|
|
33
|
+
| MVI | `Intent` sealed classes, `State` sealed classes, `Effect` |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## API Call Patterns
|
|
38
|
+
|
|
39
|
+
**HTTP client detection**: `okhttp3` or `retrofit2` in `build.gradle`.
|
|
40
|
+
|
|
41
|
+
**Grep patterns**:
|
|
42
|
+
```
|
|
43
|
+
@GET\(
|
|
44
|
+
@POST\(
|
|
45
|
+
@PUT\(
|
|
46
|
+
@PATCH\(
|
|
47
|
+
@DELETE\(
|
|
48
|
+
OkHttpClient
|
|
49
|
+
\.newCall\(
|
|
50
|
+
Retrofit\.Builder
|
|
51
|
+
enqueue\(
|
|
52
|
+
okhttp3
|
|
53
|
+
retrofit2
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Repository / Data source files**:
|
|
57
|
+
```
|
|
58
|
+
**/*Repository.kt
|
|
59
|
+
**/*DataSource.kt
|
|
60
|
+
**/*RemoteDataSource.kt
|
|
61
|
+
**/*ApiService.kt
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Interceptor files**:
|
|
65
|
+
```
|
|
66
|
+
**/*Interceptor.kt
|
|
67
|
+
**/*Interceptor.java
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Validation Patterns
|
|
73
|
+
|
|
74
|
+
**Grep patterns**:
|
|
75
|
+
```
|
|
76
|
+
\.isEmpty\(\)
|
|
77
|
+
\.isBlank\(\)
|
|
78
|
+
\.length <
|
|
79
|
+
\.length >
|
|
80
|
+
TextUtils\.isEmpty
|
|
81
|
+
Patterns\.EMAIL_ADDRESS
|
|
82
|
+
\.matches\(
|
|
83
|
+
binding\..*setError\(
|
|
84
|
+
textInputLayout\.error =
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**String resource files** (MUST resolve string IDs to actual strings):
|
|
88
|
+
```
|
|
89
|
+
**/res/values/strings.xml
|
|
90
|
+
**/res/values-*/strings.xml
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Navigation Patterns
|
|
96
|
+
|
|
97
|
+
**Library detection**: `navigation-fragment-ktx` in build.gradle → Navigation Component.
|
|
98
|
+
|
|
99
|
+
**Grep patterns**:
|
|
100
|
+
```
|
|
101
|
+
findNavController\(\)
|
|
102
|
+
navController\.navigate\(
|
|
103
|
+
startActivity\(Intent\(
|
|
104
|
+
Intent\(this,
|
|
105
|
+
startActivityForResult\(
|
|
106
|
+
popBackStack\(\)
|
|
107
|
+
Navigation\.findNavController
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**NavGraph files**:
|
|
111
|
+
```
|
|
112
|
+
**/res/navigation/**/*.xml
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Business Logic Patterns
|
|
118
|
+
|
|
119
|
+
**File patterns**:
|
|
120
|
+
```
|
|
121
|
+
**/*ViewModel.kt
|
|
122
|
+
**/*UseCase.kt
|
|
123
|
+
**/*Interactor.kt
|
|
124
|
+
**/*Service.kt
|
|
125
|
+
**/*Manager.kt
|
|
126
|
+
**/domain/**/*.kt
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Grep patterns**:
|
|
130
|
+
```
|
|
131
|
+
if.*eligible
|
|
132
|
+
if.*approved
|
|
133
|
+
if.*limit
|
|
134
|
+
Math\.round\(
|
|
135
|
+
Math\.floor\(
|
|
136
|
+
Math\.ceil\(
|
|
137
|
+
.toBigDecimal\(\)
|
|
138
|
+
calculateAmount
|
|
139
|
+
calculateInterest
|
|
140
|
+
BigDecimal\(
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## UI Element Patterns
|
|
146
|
+
|
|
147
|
+
**Grep patterns (XML layouts)**:
|
|
148
|
+
```
|
|
149
|
+
<EditText
|
|
150
|
+
<TextInputEditText
|
|
151
|
+
<TextInputLayout
|
|
152
|
+
<Button
|
|
153
|
+
<MaterialButton
|
|
154
|
+
<TextView
|
|
155
|
+
<Spinner
|
|
156
|
+
<RecyclerView
|
|
157
|
+
<ProgressBar
|
|
158
|
+
<CircularProgressIndicator
|
|
159
|
+
hint=
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Grep patterns (Kotlin code)**:
|
|
163
|
+
```
|
|
164
|
+
binding\..*\.text =
|
|
165
|
+
binding\..*\.setError\(
|
|
166
|
+
Snackbar\.make\(
|
|
167
|
+
Toast\.makeText\(
|
|
168
|
+
AlertDialog\.Builder\(
|
|
169
|
+
BottomSheetDialog\(
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Localization Patterns
|
|
175
|
+
|
|
176
|
+
**String resources**:
|
|
177
|
+
```
|
|
178
|
+
**/res/values/strings.xml
|
|
179
|
+
**/res/values-en/strings.xml
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Grep patterns**:
|
|
183
|
+
```
|
|
184
|
+
getString\(R\.string\.
|
|
185
|
+
resources\.getString\(
|
|
186
|
+
context\.getString\(
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Error Handling Patterns
|
|
192
|
+
|
|
193
|
+
**Grep patterns**:
|
|
194
|
+
```
|
|
195
|
+
catch\s*\(
|
|
196
|
+
HttpException
|
|
197
|
+
IOException
|
|
198
|
+
SocketTimeoutException
|
|
199
|
+
onFailure\(
|
|
200
|
+
\.onError\{
|
|
201
|
+
Timber\.e\(
|
|
202
|
+
Log\.e\(
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Authentication Patterns
|
|
208
|
+
|
|
209
|
+
**Grep patterns**:
|
|
210
|
+
```
|
|
211
|
+
EncryptedSharedPreferences.*token
|
|
212
|
+
SharedPreferences.*token
|
|
213
|
+
Authorization.*Bearer
|
|
214
|
+
accessToken
|
|
215
|
+
refreshToken
|
|
216
|
+
Authenticator
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Feature Flag Patterns
|
|
222
|
+
|
|
223
|
+
**Grep patterns**:
|
|
224
|
+
```
|
|
225
|
+
RemoteConfig
|
|
226
|
+
featureFlag
|
|
227
|
+
isEnabled\(
|
|
228
|
+
BuildConfig\.
|
|
229
|
+
```
|