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.
Files changed (223) hide show
  1. package/.github/skills/boiler-project-generator/SKILL.md +103 -0
  2. package/.github/skills/boiler-project-generator/assets/templates/android/README.md +3 -0
  3. package/.github/skills/boiler-project-generator/assets/templates/angular/README.md +3 -0
  4. package/.github/skills/boiler-project-generator/assets/templates/flutter/README.md +3 -0
  5. package/.github/skills/boiler-project-generator/assets/templates/ios/README.md +3 -0
  6. package/.github/skills/boiler-project-generator/assets/templates/react/README.md +3 -0
  7. package/.github/skills/boiler-project-generator/assets/templates/react-native/README.md +3 -0
  8. package/.github/skills/boiler-project-generator/assets/templates/react-native/api-setup.ts +76 -0
  9. package/.github/skills/boiler-project-generator/assets/templates/react-native/component-primary-button.tsx +29 -0
  10. package/.github/skills/boiler-project-generator/assets/templates/react-native/env-config.env +4 -0
  11. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-auth-screen.tsx +45 -0
  12. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-dashboard-screen.tsx +45 -0
  13. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-profile-screen.tsx +45 -0
  14. package/.github/skills/boiler-project-generator/assets/templates/react-native/hook-use-app-boot.ts +11 -0
  15. package/.github/skills/boiler-project-generator/assets/templates/react-native/navigation-setup.tsx +25 -0
  16. package/.github/skills/boiler-project-generator/assets/templates/react-native/project-structure.md +24 -0
  17. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-hooks.ts +5 -0
  18. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-session-slice.ts +29 -0
  19. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-store.ts +15 -0
  20. package/.github/skills/boiler-project-generator/assets/templates/react-native/theme-index.ts +23 -0
  21. package/.github/skills/boiler-project-generator/assets/templates/react-native/utils-helpers.ts +7 -0
  22. package/.github/skills/boiler-project-generator/metadata.yaml +29 -0
  23. package/.github/skills/boiler-project-generator/references/android.md +19 -0
  24. package/.github/skills/boiler-project-generator/references/angular.md +14 -0
  25. package/.github/skills/boiler-project-generator/references/flutter.md +17 -0
  26. package/.github/skills/boiler-project-generator/references/ios.md +17 -0
  27. package/.github/skills/boiler-project-generator/references/react-native.md +103 -0
  28. package/.github/skills/boiler-project-generator/references/react.md +17 -0
  29. package/.github/skills/boiler-project-generator/scripts/angular.js +43 -0
  30. package/.github/skills/boiler-project-generator/scripts/generate-project.mjs +107 -0
  31. package/.github/skills/boiler-project-generator/scripts/init.js +105 -0
  32. package/.github/skills/boiler-project-generator/scripts/react-native.js +1041 -0
  33. package/.github/skills/boiler-project-generator/scripts/react.js +32 -0
  34. package/.github/skills/clean-architecture-generator/SKILL.md +235 -0
  35. package/.github/skills/clean-architecture-generator/references/architecture-core.md +126 -0
  36. package/.github/skills/clean-architecture-generator/references/platform-angular.md +374 -0
  37. package/.github/skills/clean-architecture-generator/references/platform-flutter.md +366 -0
  38. package/.github/skills/clean-architecture-generator/references/platform-react-native.md +590 -0
  39. package/.github/skills/clean-architecture-generator/references/platform-react.md +261 -0
  40. package/.github/skills/code-test-coverage-analyzer/SKILL.md +1358 -0
  41. package/.github/skills/code-test-coverage-analyzer/assets/config-questionnaire.md +118 -0
  42. package/.github/skills/code-test-coverage-analyzer/assets/conflict-resolution-protocol.md +99 -0
  43. package/.github/skills/code-test-coverage-analyzer/assets/coverage-calculation-rules.md +294 -0
  44. package/.github/skills/code-test-coverage-analyzer/assets/multi-strategy-search.md +145 -0
  45. package/.github/skills/code-test-coverage-analyzer/assets/output-file-contracts.md +651 -0
  46. package/.github/skills/code-test-coverage-analyzer/assets/status-definitions.md +273 -0
  47. package/.github/skills/code-test-coverage-analyzer/examples/example-invocation.md +208 -0
  48. package/.github/skills/code-test-coverage-analyzer/references/android-patterns.md +229 -0
  49. package/.github/skills/code-test-coverage-analyzer/references/angular-patterns.md +177 -0
  50. package/.github/skills/code-test-coverage-analyzer/references/backend-patterns.md +383 -0
  51. package/.github/skills/code-test-coverage-analyzer/references/flutter-patterns.md +254 -0
  52. package/.github/skills/code-test-coverage-analyzer/references/ios-patterns.md +228 -0
  53. package/.github/skills/code-test-coverage-analyzer/references/react-native-patterns.md +431 -0
  54. package/.github/skills/code-test-coverage-analyzer/references/react-patterns.md +206 -0
  55. package/.github/skills/code-test-coverage-analyzer/scripts/detect-platform.ps1 +261 -0
  56. package/.github/skills/code-test-coverage-analyzer/scripts/scan-repository.ps1 +242 -0
  57. package/.github/skills/code-test-coverage-analyzer/templates/brd-compliance-row.md +107 -0
  58. package/.github/skills/code-test-coverage-analyzer/templates/test-case-row.md +130 -0
  59. package/.github/skills/code-test-coverage-analyzer/templates/user-story-compliance-row.md +170 -0
  60. package/.github/skills/custom-font-integrator/SKILL.md +373 -0
  61. package/.github/skills/custom-font-integrator/assets/FontTestScreen.js +150 -0
  62. package/.github/skills/custom-font-integrator/references/example-info-plist.xml +21 -0
  63. package/.github/skills/custom-font-integrator/scripts/setup-fonts.sh +99 -0
  64. package/.github/skills/encryption-decryption-utility/Instructions.md +282 -0
  65. package/.github/skills/encryption-decryption-utility/README.md +222 -0
  66. package/.github/skills/encryption-decryption-utility/SKILL.md +645 -0
  67. package/.github/skills/encryption-decryption-utility/assets/encryption-config-template.json +13 -0
  68. package/.github/skills/encryption-decryption-utility/assets/platform-matrix.json +180 -0
  69. package/.github/skills/encryption-decryption-utility/metadata.yaml +51 -0
  70. package/.github/skills/encryption-decryption-utility/references/android-crypto.md +157 -0
  71. package/.github/skills/encryption-decryption-utility/references/angular-crypto.md +130 -0
  72. package/.github/skills/encryption-decryption-utility/references/approach-1-webcrypto.md +95 -0
  73. package/.github/skills/encryption-decryption-utility/references/approach-2-rsa-aes-cbc.md +111 -0
  74. package/.github/skills/encryption-decryption-utility/references/approach-3-aes-sharedkey.md +114 -0
  75. package/.github/skills/encryption-decryption-utility/references/architecture.md +233 -0
  76. package/.github/skills/encryption-decryption-utility/references/backend-alignment.md +506 -0
  77. package/.github/skills/encryption-decryption-utility/references/dependency-guidance.md +234 -0
  78. package/.github/skills/encryption-decryption-utility/references/ec-implementation.md +832 -0
  79. package/.github/skills/encryption-decryption-utility/references/error-handling-playbook.md +234 -0
  80. package/.github/skills/encryption-decryption-utility/references/flutter-crypto.md +105 -0
  81. package/.github/skills/encryption-decryption-utility/references/ios-crypto.md +338 -0
  82. package/.github/skills/encryption-decryption-utility/references/native-rsa-implementation.md +373 -0
  83. package/.github/skills/encryption-decryption-utility/references/node-crypto.md +86 -0
  84. package/.github/skills/encryption-decryption-utility/references/react-crypto.md +105 -0
  85. package/.github/skills/encryption-decryption-utility/references/react-native-crypto.md +1001 -0
  86. package/.github/skills/encryption-decryption-utility/references/react-web-crypto.md +668 -0
  87. package/.github/skills/encryption-decryption-utility/references/security-checklist.md +176 -0
  88. package/.github/skills/encryption-decryption-utility/references/web-crypto.md +74 -0
  89. package/.github/skills/encryption-decryption-utility/scripts/detect.js +128 -0
  90. package/.github/skills/encryption-decryption-utility/scripts/install.js +1713 -0
  91. package/.github/skills/encryption-decryption-utility/scripts/setup.js +800 -0
  92. package/.github/skills/encryption-decryption-utility/template.md +241 -0
  93. package/.github/skills/encryption-decryption-utility/templates/config-questionnaire.md +467 -0
  94. package/.github/skills/encryption-decryption-utility/templates/delivery-checklist.md +206 -0
  95. package/.github/skills/encryption-decryption-utility/templates/implementation-plan.md +304 -0
  96. package/.github/skills/feature-generator/SKILL.MD +2741 -0
  97. package/.github/skills/feature-generator/assets/fingerprint-schema.json +385 -0
  98. package/.github/skills/feature-generator/assets/spec-template.md +172 -0
  99. package/.github/skills/feature-generator/assets/transform-rules.json +82 -0
  100. package/.github/skills/feature-generator/references/api-envelope-patterns.md +327 -0
  101. package/.github/skills/feature-generator/references/screen-logic-patterns.md +399 -0
  102. package/.github/skills/feature-generator/references/state-library-patterns.md +464 -0
  103. package/.github/skills/figma-ui-mapper/README.md +34 -0
  104. package/.github/skills/figma-ui-mapper/SKILL.md +101 -0
  105. package/.github/skills/figma-ui-mapper/assets/templates/component-map-template.md +30 -0
  106. package/.github/skills/figma-ui-mapper/assets/templates/generation-report-template.md +49 -0
  107. package/.github/skills/figma-ui-mapper/metadata.yaml +22 -0
  108. package/.github/skills/figma-ui-mapper/references/android.md +11 -0
  109. package/.github/skills/figma-ui-mapper/references/angular.md +18 -0
  110. package/.github/skills/figma-ui-mapper/references/capacitor.md +18 -0
  111. package/.github/skills/figma-ui-mapper/references/common.md +23 -0
  112. package/.github/skills/figma-ui-mapper/references/expo.md +18 -0
  113. package/.github/skills/figma-ui-mapper/references/flutter.md +18 -0
  114. package/.github/skills/figma-ui-mapper/references/frameworks/angular/rules.md +23 -0
  115. package/.github/skills/figma-ui-mapper/references/frameworks/capacitor/rules.md +23 -0
  116. package/.github/skills/figma-ui-mapper/references/frameworks/expo/rules.md +23 -0
  117. package/.github/skills/figma-ui-mapper/references/frameworks/flutter/rules.md +23 -0
  118. package/.github/skills/figma-ui-mapper/references/frameworks/ionic/rules.md +23 -0
  119. package/.github/skills/figma-ui-mapper/references/frameworks/kotlin-multiplatform/rules.md +23 -0
  120. package/.github/skills/figma-ui-mapper/references/frameworks/native-android/rules.md +23 -0
  121. package/.github/skills/figma-ui-mapper/references/frameworks/native-ios/rules.md +23 -0
  122. package/.github/skills/figma-ui-mapper/references/frameworks/next/rules.md +23 -0
  123. package/.github/skills/figma-ui-mapper/references/frameworks/nuxt/rules.md +23 -0
  124. package/.github/skills/figma-ui-mapper/references/frameworks/react/rules.md +19 -0
  125. package/.github/skills/figma-ui-mapper/references/frameworks/react-native/rules.md +23 -0
  126. package/.github/skills/figma-ui-mapper/references/frameworks/svelte/rules.md +23 -0
  127. package/.github/skills/figma-ui-mapper/references/frameworks/vue/rules.md +23 -0
  128. package/.github/skills/figma-ui-mapper/references/ionic.md +18 -0
  129. package/.github/skills/figma-ui-mapper/references/ios.md +11 -0
  130. package/.github/skills/figma-ui-mapper/references/kotlin-multiplatform.md +18 -0
  131. package/.github/skills/figma-ui-mapper/references/native-android.md +18 -0
  132. package/.github/skills/figma-ui-mapper/references/native-ios.md +18 -0
  133. package/.github/skills/figma-ui-mapper/references/next.md +18 -0
  134. package/.github/skills/figma-ui-mapper/references/nuxt.md +18 -0
  135. package/.github/skills/figma-ui-mapper/references/react-figma-guideline.md +21 -0
  136. package/.github/skills/figma-ui-mapper/references/react-native.md +18 -0
  137. package/.github/skills/figma-ui-mapper/references/react.md +18 -0
  138. package/.github/skills/figma-ui-mapper/references/script-usage.md +46 -0
  139. package/.github/skills/figma-ui-mapper/references/svelte.md +18 -0
  140. package/.github/skills/figma-ui-mapper/references/vue.md +18 -0
  141. package/.github/skills/figma-ui-mapper/references/workflow.md +74 -0
  142. package/.github/skills/figma-ui-mapper/scripts/generate-page-through-figma.js +635 -0
  143. package/.github/skills/figma-ui-mapper/scripts/generate-react-page-through-figma.js +4 -0
  144. package/.github/skills/frontend-task-breakdown/SKILL.md +734 -0
  145. package/.github/skills/md-file-converter/SKILL.md +291 -0
  146. package/.github/skills/md-file-converter/config/formats.json +114 -0
  147. package/.github/skills/md-file-converter/extractors/extract-docx.sh +120 -0
  148. package/.github/skills/md-file-converter/extractors/extract-eml.py +108 -0
  149. package/.github/skills/md-file-converter/extractors/extract-pdf.sh +97 -0
  150. package/.github/skills/md-file-converter/extractors/extract-pptx.py +143 -0
  151. package/.github/skills/md-file-converter/extractors/extract-xlsx.py +175 -0
  152. package/.github/skills/md-file-converter/scripts/check-tools.sh +47 -0
  153. package/.github/skills/md-file-converter/scripts/extract-archive.sh +83 -0
  154. package/.github/skills/md-file-converter/scripts/extract-ocr.sh +77 -0
  155. package/.github/skills/md-file-converter/scripts/get-metadata.sh +57 -0
  156. package/.github/skills/md-file-converter/templates/output.md +73 -0
  157. package/.github/skills/md-file-converter/templates/unsupported-object.md +6 -0
  158. package/.github/skills/mockAPI-contract-generator/SKILL.md +607 -0
  159. package/.github/skills/test-case-validator/CHANGELOG.md +155 -0
  160. package/.github/skills/test-case-validator/CONFIGURATION.md +130 -0
  161. package/.github/skills/test-case-validator/EXAMPLES.md +50 -0
  162. package/.github/skills/test-case-validator/QUALITY_SCORING.md +98 -0
  163. package/.github/skills/test-case-validator/README.md +111 -0
  164. package/.github/skills/test-case-validator/REPORT_TEMPLATE.md +116 -0
  165. package/.github/skills/test-case-validator/SKILL.md +209 -0
  166. package/.github/skills/test-case-validator/SYSTEM_PROMPT.md +127 -0
  167. package/.github/skills/test-case-validator/TRACEABILITY_ENGINE.md +152 -0
  168. package/.github/skills/test-case-validator/VALIDATION_RULES.md +411 -0
  169. package/.github/skills/test-case-validator/config/default.config.yaml +62 -0
  170. package/.github/skills/test-case-validator/docs/ARCHITECTURE.md +66 -0
  171. package/.github/skills/test-case-validator/docs/EXTENDING.md +85 -0
  172. package/.github/skills/test-case-validator/docs/FAQ.md +88 -0
  173. package/.github/skills/test-case-validator/docs/VERSIONING.md +55 -0
  174. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-brd.md +43 -0
  175. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-test-cases.csv +9 -0
  176. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-user-story.md +29 -0
  177. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/output-report.md +303 -0
  178. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-spec.md +43 -0
  179. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-test-files-index.md +56 -0
  180. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/output-report.md +274 -0
  181. package/.github/skills/test-case-validator/prompts/00-applicability-resolution.md +61 -0
  182. package/.github/skills/test-case-validator/prompts/01-extraction-user-story.md +58 -0
  183. package/.github/skills/test-case-validator/prompts/02-extraction-brd.md +64 -0
  184. package/.github/skills/test-case-validator/prompts/03-extraction-test-cases.md +92 -0
  185. package/.github/skills/test-case-validator/prompts/04-traceability-matrix.md +41 -0
  186. package/.github/skills/test-case-validator/prompts/05-coverage-analysis.md +46 -0
  187. package/.github/skills/test-case-validator/prompts/06-missing-scenario-detection.md +32 -0
  188. package/.github/skills/test-case-validator/prompts/07-duplicate-detection.md +36 -0
  189. package/.github/skills/test-case-validator/prompts/08-risk-analysis.md +39 -0
  190. package/.github/skills/test-case-validator/prompts/09-gated-wiring-validation.md +53 -0
  191. package/.github/skills/test-case-validator/prompts/10-observation-report.md +56 -0
  192. package/.github/skills/test-case-validator/prompts/11-final-report-assembly.md +57 -0
  193. package/.github/skills/test-case-validator/templates/coverage-table.md +25 -0
  194. package/.github/skills/test-case-validator/templates/executive-summary.md +38 -0
  195. package/.github/skills/test-case-validator/templates/final-summary-block.md +87 -0
  196. package/.github/skills/test-case-validator/templates/observation-entry.md +41 -0
  197. package/.github/skills/test-case-validator/templates/rtm-row.md +25 -0
  198. package/.github/skills/validation-engine-builder/README.md +50 -0
  199. package/.github/skills/validation-engine-builder/SKILL.md +241 -0
  200. package/.github/skills/validation-engine-builder/references/core.md +158 -0
  201. package/.github/skills/validation-engine-builder/references/platform-angular.md +166 -0
  202. package/.github/skills/validation-engine-builder/references/platform-flutter.md +118 -0
  203. package/.github/skills/validation-engine-builder/references/platform-react-native.md +170 -0
  204. package/.github/skills/validation-engine-builder/references/platform-react.md +94 -0
  205. package/.github/skills/validation-engine-builder/scripts/apply-to-project.js +80 -0
  206. package/.github/skills/validation-engine-builder/scripts/generate-angular.js +271 -0
  207. package/.github/skills/validation-engine-builder/scripts/generate-flutter.js +298 -0
  208. package/.github/skills/validation-engine-builder/scripts/generate-react-native.js +217 -0
  209. package/.github/skills/validation-engine-builder/scripts/generate-react.js +163 -0
  210. package/.github/skills/validation-engine-builder/scripts/install-deps.js +53 -0
  211. package/.github/skills/validation-engine-builder/scripts/shared/detect-platform.js +68 -0
  212. package/.github/skills/validation-engine-builder/scripts/shared/npm-deps.js +103 -0
  213. package/.github/skills/validation-engine-builder/scripts/shared/rhf-hook.js +43 -0
  214. package/.github/skills/validation-engine-builder/scripts/shared/ts-messages-regex.js +62 -0
  215. package/.github/skills/validation-engine-builder/scripts/shared/util.js +44 -0
  216. package/.github/skills/validation-engine-builder/scripts/shared/yup-schemas.js +80 -0
  217. package/.github/skills/validation-engine-builder/template.md +73 -0
  218. package/.github/skills/validation-engine-builder/templates/messages.json +22 -0
  219. package/.github/skills/validation-engine-builder/templates/regex.json +16 -0
  220. package/.github/skills/validation-engine-builder/templates/schemas.json +48 -0
  221. package/bin/index.js +145 -0
  222. package/package.json +22 -0
  223. package/readme.md +0 -0
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: boiler-project-generator
3
+ description: 'MUST be used to create a boiler project, boiler plate project, or boilerplate project for a chosen framework (Angular, React, React Native, Flutter, etc.). Use when the user asks to create, generate, scaffold, or bootstrap a starter app and you need to ask for framework, language, template, and project name.'
4
+ argument-hint: 'Describe the boilerplate project to scaffold'
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Boiler Project Generator
9
+
10
+ ## Purpose
11
+
12
+ Generate a reproducible starter project (boilerplate) for a chosen framework and language. The skill is execution-focused and delegates framework-specific steps to scripts and reference guides.
13
+
14
+ ## Trigger Conditions
15
+
16
+ Use this skill when the user requests to:
17
+ - Create or scaffold a new project (starter app)
18
+ - Generate boilerplate for a framework (Angular, React, React Native, etc.)
19
+ - Bootstrap a minimal app with specified language and project name
20
+
21
+ ## Inputs
22
+
23
+ - `framework` (optional): `angular | react | react-native | other` — preferred framework
24
+ - `language` (optional): `javascript | typescript` — preferred language
25
+ - `projectName` (optional): desired project folder name
26
+ - `options` (optional): additional flags passed to generator scripts
27
+
28
+ ## References
29
+
30
+ - `references/angular.md` — Angular-specific guidance and validation notes
31
+ - `references/react.md` — React-specific notes (if present)
32
+ - `references/react-native.md` — React Native notes (if present)
33
+ - `references/ios.md` — iOS build & CI guidance
34
+ - `references/android.md` — Android build & CI guidance
35
+ - `references/flutter.md` — Flutter post-generation guidance
36
+
37
+ ## Assets
38
+
39
+ - `assets/templates/react-native/` — React Native source templates (screens, components, navigation, redux, api, env, theme, hooks, utils) applied by `scripts/react-native.js`
40
+ - Other framework templates and defaults may be stored under `assets/` as needed.
41
+
42
+ ## Scripts
43
+
44
+ - `scripts/generate-project.mjs` — canonical CLI entrypoint; supports `--framework`, `--language`, `--project`, `--template`, `--dry-run`, `--force`, and produces deterministic JSON reports in `artifacts/boiler-generator/`.
45
+ - `scripts/init.js` — interactive orchestrator (platform-agnostic driver)
46
+ - `scripts/angular.js` — Angular-specific generator script (framework implementation)
47
+ - `scripts/react.js` — React-specific generator script
48
+ - `scripts/react-native.js` — React Native production-ready generator with interactive prompts for navigation, redux, env config, and platform verification; uses templates from `assets/templates/react-native/`
49
+
50
+ ## Execution Steps
51
+
52
+ 1. Collect missing inputs: `framework`, `language`, `projectName` via prompts if not provided.
53
+ 2. Validate inputs for allowed values and sanitize `projectName`.
54
+ 3. Invoke `scripts/init.js` to dispatch to the framework-specific generator. All additional CLI flags (e.g. `--enableNavigation`, `--enableRedux`) are forwarded to the child script.
55
+ 4. After generation, run framework-specific validation from inside the generated project directory (see `references/*` for each framework's post-generation steps).
56
+ 5. Print a summary of created files, installed packages, and verification results. When using `scripts/generate-project.mjs`, a deterministic JSON report is also emitted.
57
+
58
+ ## Agent Behavior
59
+
60
+ - Always pass ALL flags in a single non-interactive command. Do not rely on interactive prompts.
61
+ - For React Native, call `scripts/react-native.js` directly with all flags for the most reliable flow.
62
+ - Do NOT interrupt the script while packages are installing. The script prints numbered progress steps `[1/6]` through `[6/6]` — wait for the full sequence to complete.
63
+ - If the terminal appears idle during `react-native init` or `npm install`, the script is still running. Wait for it.
64
+ - The script verifies dependency compatibility after all installs. Do not start manual fixes before the script finishes.
65
+
66
+ ## Rules
67
+
68
+ - SKILL.md MUST NOT contain platform-specific implementation details; those belong in `references/` and `scripts/`.
69
+ - Do not hardcode absolute paths — use relative references and the workspace root.
70
+ - Scripts MUST be idempotent and support a `--help` flag.
71
+ - Generated output must be deterministic given the same inputs and script versions.
72
+
73
+ ## Output Format
74
+
75
+ The skill produces a machine-readable JSON summary with fields:
76
+
77
+ ```json
78
+ {
79
+ "projectName": "<name>",
80
+ "framework": "<framework>",
81
+ "language": "<lang>",
82
+ "status": "success|failed",
83
+ "steps": [ { "step": "init", "ok": true, "details": "..." } ]
84
+ }
85
+ ```
86
+
87
+ Human-readable HTML report generation is optional and performed by scripts if requested.
88
+
89
+ ## Examples
90
+
91
+ User request: "Create a React TypeScript starter named MyApp"
92
+
93
+ ```
94
+ node ./.github/skills/boiler-project-generator/scripts/init.js --framework react --language typescript --project MyApp
95
+ ```
96
+
97
+ User request: "Create a React Native app named TradeDesk with navigation and Redux"
98
+
99
+ ```
100
+ node ./.github/skills/boiler-project-generator/scripts/react-native.js --project TradeDesk --language typescript --enableNavigation yes --enableRedux yes --enableEnv yes --verificationTarget none
101
+ ```
102
+
103
+ See `references/angular.md` for Angular-specific and `references/react-native.md` for React Native-specific guidance.
@@ -0,0 +1,3 @@
1
+ # Android templates
2
+
3
+ Place Android-specific project snippets and CI notes here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,3 @@
1
+ # Angular templates
2
+
3
+ Place Angular starter templates and config snippets here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,3 @@
1
+ # Flutter templates
2
+
3
+ Place Flutter starter templates and config snippets here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,3 @@
1
+ # iOS templates
2
+
3
+ Place iOS-specific project snippets and CI notes here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,3 @@
1
+ # React templates
2
+
3
+ Place React starter templates and config snippets here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,3 @@
1
+ # React Native templates
2
+
3
+ Place React Native starter templates and config snippets here. Scripts will look up templates by name under this directory.
@@ -0,0 +1,76 @@
1
+ import axios, {
2
+ AxiosError,
3
+ AxiosInstance,
4
+ AxiosResponse,
5
+ InternalAxiosRequestConfig,
6
+ } from 'axios';
7
+ import Config from 'react-native-config';
8
+
9
+ const API_BASE_URL = Config.API_BASE_URL || 'https://api.example.com';
10
+ const API_TIMEOUT_MS = 30000;
11
+
12
+ type ErrorPayload = {
13
+ message?: string;
14
+ code?: string;
15
+ };
16
+
17
+ export class ApiError extends Error {
18
+ status?: number;
19
+ code?: string;
20
+
21
+ constructor(message: string, status?: number, code?: string) {
22
+ super(message);
23
+ this.name = 'ApiError';
24
+ this.status = status;
25
+ this.code = code;
26
+ }
27
+ }
28
+
29
+ class ApiService {
30
+ private instance: AxiosInstance;
31
+ private token: string | null = null;
32
+
33
+ constructor() {
34
+ this.instance = axios.create({
35
+ baseURL: API_BASE_URL,
36
+ timeout: API_TIMEOUT_MS,
37
+ headers: {
38
+ 'Content-Type': 'application/json',
39
+ Accept: 'application/json',
40
+ },
41
+ });
42
+
43
+ this.setupInterceptors();
44
+ }
45
+
46
+ setAuthToken(token: string | null): void {
47
+ this.token = token;
48
+ }
49
+
50
+ private setupInterceptors(): void {
51
+ this.instance.interceptors.request.use((config: InternalAxiosRequestConfig) => {
52
+ const nextConfig = {...config};
53
+ if (this.token) {
54
+ nextConfig.headers.set('Authorization', `Bearer ${this.token}`);
55
+ }
56
+ return nextConfig;
57
+ });
58
+
59
+ this.instance.interceptors.response.use(
60
+ (response: AxiosResponse) => response,
61
+ (error: AxiosError<ErrorPayload>) => {
62
+ const status = error.response?.status;
63
+ const code = error.response?.data?.code;
64
+ const message =
65
+ error.response?.data?.message || error.message || 'Unexpected API error';
66
+ return Promise.reject(new ApiError(message, status, code));
67
+ },
68
+ );
69
+ }
70
+
71
+ get client(): AxiosInstance {
72
+ return this.instance;
73
+ }
74
+ }
75
+
76
+ export const apiService = new ApiService();
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import {Pressable, StyleSheet, Text} from 'react-native';
3
+
4
+ type Props = {
5
+ title: string;
6
+ onPress: () => void;
7
+ };
8
+
9
+ export default function PrimaryButton({title, onPress}: Props): React.JSX.Element {
10
+ return (
11
+ <Pressable style={styles.button} onPress={onPress}>
12
+ <Text style={styles.label}>{title}</Text>
13
+ </Pressable>
14
+ );
15
+ }
16
+
17
+ const styles = StyleSheet.create({
18
+ button: {
19
+ backgroundColor: '#0F172A',
20
+ paddingVertical: 12,
21
+ paddingHorizontal: 16,
22
+ borderRadius: 8,
23
+ },
24
+ label: {
25
+ color: '#FFFFFF',
26
+ fontSize: 16,
27
+ fontWeight: '600',
28
+ },
29
+ });
@@ -0,0 +1,4 @@
1
+ API_BASE_URL=__API_BASE_URL__
2
+ API_TIMEOUT_MS=30000
3
+ APP_ENV=__APP_ENV__
4
+ SENTRY_DSN=
@@ -0,0 +1,45 @@
1
+ import {NativeStackScreenProps} from '@react-navigation/native-stack';
2
+ import React from 'react';
3
+ import {Pressable, StyleSheet, Text, View} from 'react-native';
4
+
5
+ import {RootStackParamList} from '../../navigation/RootNavigator';
6
+
7
+ type Props = NativeStackScreenProps<RootStackParamList, 'Auth'>;
8
+
9
+ export default function AuthScreen({navigation}: Props): React.JSX.Element {
10
+ return (
11
+ <View style={styles.container}>
12
+ <Text style={styles.title}>Auth</Text>
13
+ <Text>Implement login and session bootstrap here.</Text>
14
+ <Pressable style={styles.button} onPress={() => navigation.navigate('Dashboard')}>
15
+ <Text style={styles.buttonText}>Continue to Dashboard</Text>
16
+ </Pressable>
17
+ </View>
18
+ );
19
+ }
20
+
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ flex: 1,
24
+ justifyContent: 'center',
25
+ alignItems: 'center',
26
+ paddingHorizontal: 24,
27
+ },
28
+ title: {
29
+ fontSize: 24,
30
+ fontWeight: '700',
31
+ marginBottom: 12,
32
+ },
33
+ button: {
34
+ marginTop: 24,
35
+ backgroundColor: '#111E58',
36
+ paddingVertical: 12,
37
+ paddingHorizontal: 32,
38
+ borderRadius: 5,
39
+ },
40
+ buttonText: {
41
+ color: '#FFFFFF',
42
+ fontSize: 14,
43
+ fontWeight: '700',
44
+ },
45
+ });
@@ -0,0 +1,45 @@
1
+ import {NativeStackScreenProps} from '@react-navigation/native-stack';
2
+ import React from 'react';
3
+ import {Pressable, StyleSheet, Text, View} from 'react-native';
4
+
5
+ import {RootStackParamList} from '../../navigation/RootNavigator';
6
+
7
+ type Props = NativeStackScreenProps<RootStackParamList, 'Dashboard'>;
8
+
9
+ export default function DashboardScreen({navigation}: Props): React.JSX.Element {
10
+ return (
11
+ <View style={styles.container}>
12
+ <Text style={styles.title}>Dashboard</Text>
13
+ <Text>Business widgets and summary cards go here.</Text>
14
+ <Pressable style={styles.button} onPress={() => navigation.navigate('Profile')}>
15
+ <Text style={styles.buttonText}>Go to Profile</Text>
16
+ </Pressable>
17
+ </View>
18
+ );
19
+ }
20
+
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ flex: 1,
24
+ justifyContent: 'center',
25
+ alignItems: 'center',
26
+ paddingHorizontal: 24,
27
+ },
28
+ title: {
29
+ fontSize: 24,
30
+ fontWeight: '700',
31
+ marginBottom: 12,
32
+ },
33
+ button: {
34
+ marginTop: 24,
35
+ backgroundColor: '#111E58',
36
+ paddingVertical: 12,
37
+ paddingHorizontal: 32,
38
+ borderRadius: 5,
39
+ },
40
+ buttonText: {
41
+ color: '#FFFFFF',
42
+ fontSize: 14,
43
+ fontWeight: '700',
44
+ },
45
+ });
@@ -0,0 +1,45 @@
1
+ import {NativeStackScreenProps} from '@react-navigation/native-stack';
2
+ import React from 'react';
3
+ import {Pressable, StyleSheet, Text, View} from 'react-native';
4
+
5
+ import {RootStackParamList} from '../../navigation/RootNavigator';
6
+
7
+ type Props = NativeStackScreenProps<RootStackParamList, 'Profile'>;
8
+
9
+ export default function ProfileScreen({navigation}: Props): React.JSX.Element {
10
+ return (
11
+ <View style={styles.container}>
12
+ <Text style={styles.title}>Profile</Text>
13
+ <Text>User details and preferences screen.</Text>
14
+ <Pressable style={styles.button} onPress={() => navigation.goBack()}>
15
+ <Text style={styles.buttonText}>Go Back</Text>
16
+ </Pressable>
17
+ </View>
18
+ );
19
+ }
20
+
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ flex: 1,
24
+ justifyContent: 'center',
25
+ alignItems: 'center',
26
+ paddingHorizontal: 24,
27
+ },
28
+ title: {
29
+ fontSize: 24,
30
+ fontWeight: '700',
31
+ marginBottom: 12,
32
+ },
33
+ button: {
34
+ marginTop: 24,
35
+ backgroundColor: '#111E58',
36
+ paddingVertical: 12,
37
+ paddingHorizontal: 32,
38
+ borderRadius: 5,
39
+ },
40
+ buttonText: {
41
+ color: '#FFFFFF',
42
+ fontSize: 14,
43
+ fontWeight: '700',
44
+ },
45
+ });
@@ -0,0 +1,11 @@
1
+ import {useEffect, useState} from 'react';
2
+
3
+ export function useAppBoot(): {isReady: boolean} {
4
+ const [isReady, setReady] = useState(false);
5
+
6
+ useEffect(() => {
7
+ setReady(true);
8
+ }, []);
9
+
10
+ return {isReady};
11
+ }
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import {
3
+ createNativeStackNavigator,
4
+ } from '@react-navigation/native-stack';
5
+ import AuthScreen from '../features/auth/AuthScreen';
6
+ import DashboardScreen from '../features/dashboard/DashboardScreen';
7
+ import ProfileScreen from '../features/profile/ProfileScreen';
8
+
9
+ export type RootStackParamList = {
10
+ Auth: undefined;
11
+ Dashboard: undefined;
12
+ Profile: undefined;
13
+ };
14
+
15
+ const Stack = createNativeStackNavigator<RootStackParamList>();
16
+
17
+ export default function RootNavigator(): React.JSX.Element {
18
+ return (
19
+ <Stack.Navigator screenOptions={{headerBackTitle: 'Back'}}>
20
+ <Stack.Screen name="Auth" component={AuthScreen} />
21
+ <Stack.Screen name="Dashboard" component={DashboardScreen} />
22
+ <Stack.Screen name="Profile" component={ProfileScreen} />
23
+ </Stack.Navigator>
24
+ );
25
+ }
@@ -0,0 +1,24 @@
1
+ src/
2
+ features/
3
+ auth/
4
+ AuthScreen.tsx
5
+ sessionSlice.ts
6
+ dashboard/
7
+ DashboardScreen.tsx
8
+ profile/
9
+ ProfileScreen.tsx
10
+ components/
11
+ PrimaryButton.tsx
12
+ services/
13
+ api.ts
14
+ navigation/
15
+ RootNavigator.tsx
16
+ hooks/
17
+ useAppBoot.ts
18
+ utils/
19
+ helpers.ts
20
+ theme/
21
+ index.ts
22
+ store/
23
+ store.ts
24
+ hooks.ts
@@ -0,0 +1,5 @@
1
+ import {TypedUseSelectorHook, useDispatch, useSelector} from 'react-redux';
2
+ import type {AppDispatch, RootState} from './store';
3
+
4
+ export const useAppDispatch = (): AppDispatch => useDispatch<AppDispatch>();
5
+ export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
@@ -0,0 +1,29 @@
1
+ import {createSlice, PayloadAction} from '@reduxjs/toolkit';
2
+
3
+ type SessionState = {
4
+ isAuthenticated: boolean;
5
+ token: string | null;
6
+ };
7
+
8
+ const initialState: SessionState = {
9
+ isAuthenticated: false,
10
+ token: null,
11
+ };
12
+
13
+ const sessionSlice = createSlice({
14
+ name: 'session',
15
+ initialState,
16
+ reducers: {
17
+ setSession(state, action: PayloadAction<{token: string}>) {
18
+ state.isAuthenticated = true;
19
+ state.token = action.payload.token;
20
+ },
21
+ clearSession(state) {
22
+ state.isAuthenticated = false;
23
+ state.token = null;
24
+ },
25
+ },
26
+ });
27
+
28
+ export const {setSession, clearSession} = sessionSlice.actions;
29
+ export default sessionSlice.reducer;
@@ -0,0 +1,15 @@
1
+ import {configureStore} from '@reduxjs/toolkit';
2
+ import sessionReducer from '../features/auth/sessionSlice';
3
+
4
+ export const store = configureStore({
5
+ reducer: {
6
+ session: sessionReducer,
7
+ },
8
+ middleware: getDefaultMiddleware =>
9
+ getDefaultMiddleware({
10
+ serializableCheck: true,
11
+ }),
12
+ });
13
+
14
+ export type RootState = ReturnType<typeof store.getState>;
15
+ export type AppDispatch = typeof store.dispatch;
@@ -0,0 +1,23 @@
1
+ export const colors = {
2
+ background: '#FFFFFF',
3
+ surface: '#F8FAFC',
4
+ textPrimary: '#0F172A',
5
+ textSecondary: '#475569',
6
+ primary: '#0EA5E9',
7
+ danger: '#DC2626',
8
+ };
9
+
10
+ export const typography = {
11
+ h1: 28,
12
+ h2: 22,
13
+ body: 16,
14
+ caption: 13,
15
+ };
16
+
17
+ export const spacing = {
18
+ xs: 4,
19
+ sm: 8,
20
+ md: 16,
21
+ lg: 24,
22
+ xl: 32,
23
+ };
@@ -0,0 +1,7 @@
1
+ export function formatCurrency(value: number, currency = 'USD'): string {
2
+ return new Intl.NumberFormat('en-US', {
3
+ style: 'currency',
4
+ currency,
5
+ maximumFractionDigits: 2,
6
+ }).format(value);
7
+ }
@@ -0,0 +1,29 @@
1
+ name: boiler-project-generator
2
+ version: 1.0.0
3
+ status: active
4
+ category: generator
5
+ platforms:
6
+ - angular
7
+ - react
8
+ - react-native
9
+ - ios
10
+ - android
11
+ - flutter
12
+
13
+ tags:
14
+ - boilerplate
15
+ - generator
16
+ - templates
17
+ - scaffold
18
+ - cli
19
+
20
+ owner: Himanshu-skill-development-team
21
+
22
+ changelog:
23
+ - version: 1.0.0
24
+ date: 2026-04-28
25
+ changes:
26
+ - Refactored angular-only skill into cross-platform boiler-project-generator
27
+ - Added CLI flags, template support, and assets/templates placeholders
28
+ - Created framework references for platform-specific validation guidance
29
+ - Added deterministic JSON report output and CI smoke workflow
@@ -0,0 +1,19 @@
1
+ # Android Reference: Post-generation Validation and Notes
2
+
3
+ This reference contains Android-specific guidance for the `boiler-project-generator` skill. Use these steps only when `framework=android` or when generating native Android projects.
4
+
5
+ 1. After the generator finishes, change directory into the generated project: `cd <projectName>`.
6
+ 2. Ensure the correct Java/JDK version is installed (check `build.gradle` `java`/`jdk` compatibility). Install via SDK manager or system package manager.
7
+ 3. Install Android SDK tools and set `ANDROID_HOME` / `ANDROID_SDK_ROOT` environment variables.
8
+ 4. Install platform dependencies: run `./gradlew dependencies` or `gradlew.bat dependencies` on Windows.
9
+ 5. Build the project locally: `./gradlew assembleDebug` (or use `gradlew.bat` on Windows).
10
+ 6. Run unit tests: `./gradlew test` and instrumented tests via an emulator or connected device: `./gradlew connectedAndroidTest`.
11
+
12
+ Validation notes
13
+ - Confirm `gradle` wrapper is present and executable (`gradlew` / `gradlew.bat`).
14
+ - Use `--stacktrace` for verbose failure diagnostics when troubleshooting builds.
15
+ - Capture build and test logs and include them in the skill JSON report.
16
+
17
+ CI guidance
18
+ - In CI, ensure the build image includes required JDK and Android SDK components, or use an Android CI image (e.g., `reactnativecommunity/android` or custom image).
19
+ - Use `./gradlew assembleRelease` with proper signing configuration only in controlled CI environments.
@@ -0,0 +1,14 @@
1
+ # Angular Reference: Post-generation Validation and Notes
2
+
3
+ This file contains Angular-specific guidance for the `boiler-project-generator` skill. The generic `SKILL.md` intentionally avoids platform specifics — follow the steps in this reference when `framework=angular`.
4
+
5
+ 1. After the generator finishes, change directory into the generated project: `cd <projectName>`.
6
+ 2. Disable Angular CLI analytics in CI: `export NG_CLI_ANALYTICS=false` (or set `NG_CLI_ANALYTICS=false` in the environment).
7
+ 3. Run a local build to validate the generated app: `npm run build` (or `ng build` inside the project directory).
8
+ 4. If TypeScript is required, note that Angular CLI generates TypeScript projects by default.
9
+ 5. For CI, ensure `node` and `npm` versions match the project requirements and `npm ci` is used to install reproducible dependencies.
10
+
11
+ Validation notes
12
+ - Run `npm run build` from within the generated project folder — not from the skill repository root.
13
+ - Check `package.json` scripts and `engines` to determine required runtimes.
14
+ - Capture build logs and return them as part of the skill's JSON report.
@@ -0,0 +1,17 @@
1
+ # Flutter Reference: Post-generation Validation and Notes
2
+
3
+ This reference contains Flutter-specific guidance for the `boiler-project-generator` skill. Use these steps only when `framework=flutter` or generating Flutter projects.
4
+
5
+ 1. After the generator finishes, change directory into the generated project: `cd <projectName>`.
6
+ 2. Ensure the correct Flutter SDK is installed and on `PATH`: `flutter --version`.
7
+ 3. Run `flutter pub get` to install dependencies.
8
+ 4. Validate the project with `flutter analyze` and run tests with `flutter test`.
9
+ 5. Build the app for target platforms: `flutter build apk` (Android) or `flutter build ios` (iOS, macOS required).
10
+
11
+ Validation notes
12
+ - Use `flutter doctor` to detect common environment problems and include its output in the skill report.
13
+ - Capture analyzer warnings and test results for inclusion in the JSON report.
14
+
15
+ CI guidance
16
+ - Use official Flutter CI images or configure runners with Flutter SDK installed.
17
+ - For iOS builds, CI must run on macOS machines with Xcode installed.
@@ -0,0 +1,17 @@
1
+ # iOS Reference: Post-generation Validation and Notes
2
+
3
+ This reference contains iOS-specific guidance for the `boiler-project-generator` skill. Use these steps only when `framework=ios` or generating iOS projects.
4
+
5
+ 1. After the generator finishes, change directory into the generated project: `cd <projectName>`.
6
+ 2. Ensure Xcode is installed (macOS only) and command line tools are available.
7
+ 3. Install CocoaPods dependencies (if present): `cd ios && pod install`.
8
+ 4. Build the project locally via Xcode or CLI: `xcodebuild -workspace <Workspace>.xcworkspace -scheme <Scheme> -sdk iphonesimulator -configuration Debug`.
9
+ 5. Run unit tests via Xcode or `xcodebuild test` with an appropriate simulator.
10
+
11
+ Validation notes
12
+ - Confirm `Podfile` and `Podfile.lock` are present when CocoaPods are used.
13
+ - Capture build logs and simulator test output and include them in the skill JSON report.
14
+
15
+ CI guidance
16
+ - CI for iOS must run on macOS runners or dedicated macOS build machines.
17
+ - Use `xcodebuild -list` to discover schemes and use `xcodebuild test` with `-destination` to target simulators.