@elliemae/pui-cli 8.62.2 → 9.0.0-alpha.10

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 (290) hide show
  1. package/README.md +43 -0
  2. package/app.tsconfig.json +1 -1
  3. package/build/docs/404.html +16 -0
  4. package/build/docs/api/functions/loadRoutes/index.html +22 -0
  5. package/build/docs/api/index.html +22 -0
  6. package/build/docs/api/type-aliases/LIB_NAME/index.html +17 -0
  7. package/build/docs/api/variables/babelConfig/index.html +40 -0
  8. package/build/docs/api/variables/commitlintConfig/index.html +20 -0
  9. package/build/docs/api/variables/eslintBaseConfig/index.html +132 -0
  10. package/build/docs/api/variables/eslintConfig/index.html +180 -0
  11. package/build/docs/api/variables/eslintFlatBaseConfig/index.html +18 -0
  12. package/build/docs/api/variables/eslintFlatBaseConfigStrict/index.html +18 -0
  13. package/build/docs/api/variables/eslintFlatConfig/index.html +18 -0
  14. package/build/docs/api/variables/eslintFlatConfigStrict/index.html +18 -0
  15. package/build/docs/api/variables/jestConfig/index.html +98 -0
  16. package/build/docs/api/variables/jestNodeConfig/index.html +98 -0
  17. package/build/docs/api/variables/lintStagedConfig/index.html +24 -0
  18. package/build/docs/api/variables/prettierConfig/index.html +30 -0
  19. package/build/docs/api/variables/stylelintConfig/index.html +17 -0
  20. package/build/docs/api/variables/vitestConfig/index.html +17 -0
  21. package/build/docs/assets/css/styles.74603f39.css +1 -0
  22. package/build/docs/assets/js/04ee7372.eaa386ed.js +1 -0
  23. package/build/docs/assets/js/0551d4dd.ebb18f4f.js +1 -0
  24. package/build/docs/assets/js/0a1d0315.fc8f91a7.js +1 -0
  25. package/build/docs/assets/js/1126.fa547e9c.js +1 -0
  26. package/build/docs/assets/js/1127.f28430e6.js +1 -0
  27. package/build/docs/assets/js/1298.fb0939c9.js +1 -0
  28. package/build/docs/assets/js/13097d8d.c1821d28.js +1 -0
  29. package/build/docs/assets/js/1617.b2623271.js +1 -0
  30. package/build/docs/assets/js/16b7bc88.c3779e27.js +1 -0
  31. package/build/docs/assets/js/1700.4f7a9007.js +1 -0
  32. package/build/docs/assets/js/17896441.84339068.js +1 -0
  33. package/build/docs/assets/js/1b9df811.aaa95da1.js +1 -0
  34. package/build/docs/assets/js/213.e69351b3.js +1 -0
  35. package/build/docs/assets/js/2297.e63290f4.js +1 -0
  36. package/build/docs/assets/js/232a0286.33b2782b.js +1 -0
  37. package/build/docs/assets/js/2399.cc5803e0.js +1 -0
  38. package/build/docs/assets/js/242.73516ab6.js +1 -0
  39. package/build/docs/assets/js/247.e1522e52.js +1 -0
  40. package/build/docs/assets/js/2673.da75a556.js +1 -0
  41. package/build/docs/assets/js/2805.f0505f8c.js +1 -0
  42. package/build/docs/assets/js/3395.eb3dad5b.js +1 -0
  43. package/build/docs/assets/js/3499.2d5c6821.js +1 -0
  44. package/build/docs/assets/js/3552.9272c0d9.js +1 -0
  45. package/build/docs/assets/js/3720.8e7f36d4.js +2 -0
  46. package/build/docs/assets/js/3720.8e7f36d4.js.LICENSE.txt +9 -0
  47. package/build/docs/assets/js/37d86055.47211796.js +1 -0
  48. package/build/docs/assets/js/3992.0ac29b2f.js +2 -0
  49. package/build/docs/assets/js/3992.0ac29b2f.js.LICENSE.txt +1 -0
  50. package/build/docs/assets/js/4069.301f1115.js +1 -0
  51. package/build/docs/assets/js/4134.553b3645.js +1 -0
  52. package/build/docs/assets/js/4257.9afce6ac.js +1 -0
  53. package/build/docs/assets/js/4772.6294b364.js +1 -0
  54. package/build/docs/assets/js/4884.9dbe23e5.js +1 -0
  55. package/build/docs/assets/js/4fb6949f.369cc1b9.js +1 -0
  56. package/build/docs/assets/js/5196.98f7e06a.js +1 -0
  57. package/build/docs/assets/js/5248.ee436cea.js +1 -0
  58. package/build/docs/assets/js/5428.71752e9a.js +1 -0
  59. package/build/docs/assets/js/5964.0728ed91.js +1 -0
  60. package/build/docs/assets/js/5968.5f4ccba7.js +1 -0
  61. package/build/docs/assets/js/5befad71.5f19afb5.js +1 -0
  62. package/build/docs/assets/js/5d5f1db0.c5aa5afa.js +1 -0
  63. package/build/docs/assets/js/5e8c322a.ef3b894b.js +1 -0
  64. package/build/docs/assets/js/5e95c892.f550b901.js +1 -0
  65. package/build/docs/assets/js/5fb3c522.da5628e8.js +1 -0
  66. package/build/docs/assets/js/6486.68ae0007.js +1 -0
  67. package/build/docs/assets/js/6704.2615a5c6.js +1 -0
  68. package/build/docs/assets/js/6bd11e52.08b95209.js +1 -0
  69. package/build/docs/assets/js/6e96545e.30c1b801.js +1 -0
  70. package/build/docs/assets/js/7080.efd5ba6c.js +1 -0
  71. package/build/docs/assets/js/71f6d02b.cfd98385.js +1 -0
  72. package/build/docs/assets/js/7201.e90ba636.js +1 -0
  73. package/build/docs/assets/js/7344.95656e38.js +1 -0
  74. package/build/docs/assets/js/7516.b6668d60.js +1 -0
  75. package/build/docs/assets/js/7525.a8d0db87.js +1 -0
  76. package/build/docs/assets/js/7540.7a4353cf.js +1 -0
  77. package/build/docs/assets/js/7985.8c6943d6.js +1 -0
  78. package/build/docs/assets/js/8049.8ba75278.js +1 -0
  79. package/build/docs/assets/js/80e87108.f9507b95.js +1 -0
  80. package/build/docs/assets/js/8152.f2bebb2f.js +1 -0
  81. package/build/docs/assets/js/821.8d4e2a80.js +1 -0
  82. package/build/docs/assets/js/8290.a4f7a2ca.js +1 -0
  83. package/build/docs/assets/js/8355.864847a1.js +1 -0
  84. package/build/docs/assets/js/8389.26a9caca.js +1 -0
  85. package/build/docs/assets/js/8585.3cb09ff7.js +1 -0
  86. package/build/docs/assets/js/8788.03856709.js +1 -0
  87. package/build/docs/assets/js/9178.50ac2954.js +1 -0
  88. package/build/docs/assets/js/9210.1ac21da8.js +1 -0
  89. package/build/docs/assets/js/9354.37ad86f9.js +1 -0
  90. package/build/docs/assets/js/936.c151b43f.js +1 -0
  91. package/build/docs/assets/js/9574.b172d607.js +1 -0
  92. package/build/docs/assets/js/97.70eddfb5.js +1 -0
  93. package/build/docs/assets/js/9852.f77caf52.js +1 -0
  94. package/build/docs/assets/js/9953.f6278635.js +1 -0
  95. package/build/docs/assets/js/a7bd4aaa.30ffad02.js +1 -0
  96. package/build/docs/assets/js/a94703ab.f1796514.js +1 -0
  97. package/build/docs/assets/js/aba21aa0.3bbcf0cc.js +1 -0
  98. package/build/docs/assets/js/b7b585d8.6d53e73f.js +1 -0
  99. package/build/docs/assets/js/b8ac1d98.62684003.js +1 -0
  100. package/build/docs/assets/js/bde5209a.f5bca8b2.js +1 -0
  101. package/build/docs/assets/js/c377a04b.0f8625c6.js +1 -0
  102. package/build/docs/assets/js/dfd75424.51c4e2cb.js +1 -0
  103. package/build/docs/assets/js/e5f79924.c793a74d.js +1 -0
  104. package/build/docs/assets/js/f736c962.dbd0d004.js +1 -0
  105. package/build/docs/assets/js/main.00e13c37.js +2 -0
  106. package/build/docs/assets/js/main.00e13c37.js.LICENSE.txt +51 -0
  107. package/build/docs/assets/js/runtime~main.cb214d1a.js +1 -0
  108. package/build/docs/eslint-rules-migration/index.html +135 -0
  109. package/build/docs/img/favicon.ico +0 -0
  110. package/build/docs/img/logo.jpeg +0 -0
  111. package/build/docs/img/logo.svg +22 -0
  112. package/build/docs/img/readme.md +1 -0
  113. package/build/docs/index.html +179 -0
  114. package/build/docs/pui-cli-9-migration/index.html +150 -0
  115. package/build/docs/readme.md +1 -0
  116. package/build/docs/sitemap.xml +1 -0
  117. package/build/docs/ssl-certificate-setup/index.html +284 -0
  118. package/build/docs/stylelint-migration/index.html +57 -0
  119. package/build/docs/usage-guide/index.html +439 -0
  120. package/dist/cjs/cli.js +3 -13
  121. package/dist/cjs/commands/build.js +1 -2
  122. package/dist/cjs/commands/buildcdn.js +1 -2
  123. package/dist/cjs/commands/codemod.js +1 -12
  124. package/dist/cjs/commands/gendoc.js +1 -2
  125. package/dist/cjs/commands/lint.js +11 -9
  126. package/dist/cjs/commands/pack.js +1 -2
  127. package/dist/cjs/commands/skills.js +206 -0
  128. package/dist/cjs/commands/start.js +1 -2
  129. package/dist/cjs/commands/storybook.js +1 -12
  130. package/dist/cjs/commands/test.js +1 -13
  131. package/dist/cjs/commands/tscheck.js +1 -2
  132. package/dist/cjs/commands/utils.js +16 -12
  133. package/dist/cjs/commands/version.js +1 -12
  134. package/dist/cjs/commands/vitest.js +1 -13
  135. package/dist/cjs/index.cjs +13 -1
  136. package/dist/cjs/index.js +8 -2
  137. package/dist/cjs/lint-config/eslint/common.cjs +1 -1
  138. package/dist/cjs/lint-config/eslint/flat/common.mjs +169 -0
  139. package/dist/cjs/lint-config/eslint/flat/compat.mjs +27 -0
  140. package/dist/cjs/lint-config/eslint/flat/index.mjs +21 -0
  141. package/dist/cjs/lint-config/eslint/flat/non-react-export.mjs +10 -0
  142. package/dist/cjs/lint-config/eslint/flat/non-react.mjs +6 -0
  143. package/dist/cjs/lint-config/eslint/flat/presets.mjs +96 -0
  144. package/dist/cjs/lint-config/eslint/flat/react-export.mjs +7 -0
  145. package/dist/cjs/lint-config/eslint/flat/react.mjs +59 -0
  146. package/dist/cjs/lint-config/eslint/flat/rules.mjs +185 -0
  147. package/dist/cjs/lint-config/eslint/typescript/non-react.cjs +1 -1
  148. package/dist/cjs/lint-config/eslint/typescript/react.cjs +1 -1
  149. package/dist/cjs/lint-config/stylelint/config.mjs +27 -0
  150. package/dist/cjs/lint-config/stylelint/export.mjs +1 -0
  151. package/dist/cjs/lint-config/stylelint.config.cjs +3 -19
  152. package/dist/cjs/monorepo/utils.cjs +16 -8
  153. package/dist/cjs/monorepo/utils.js +5 -8
  154. package/dist/cjs/{release.config.cjs → release.config.mjs} +3 -2
  155. package/dist/cjs/{semantic-release-plugin.cjs → semantic-release-plugin.mjs} +3 -3
  156. package/dist/cjs/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
  157. package/dist/cjs/testing/jest.config.cjs +5 -9
  158. package/dist/cjs/testing/resolver.cjs +1 -1
  159. package/dist/cjs/testing/setup-react-env.js +1 -1
  160. package/dist/cjs/testing/vitest.config.js +2 -1
  161. package/dist/cjs/transpile/esbuild.js +1 -1
  162. package/dist/cjs/webpack/csp-plugin.js +2 -4
  163. package/dist/cjs/webpack/helpers.js +2 -6
  164. package/dist/cjs/webpack/prop-types-shim.js +0 -1
  165. package/dist/cjs/webpack/webpack.dev.babel.js +1 -23
  166. package/dist/cjs/webpack/webpack.lib.base.babel.js +0 -8
  167. package/dist/esm/cli.js +3 -13
  168. package/dist/esm/commands/build.js +1 -2
  169. package/dist/esm/commands/buildcdn.js +1 -2
  170. package/dist/esm/commands/codemod.js +1 -2
  171. package/dist/esm/commands/gendoc.js +1 -2
  172. package/dist/esm/commands/lint.js +11 -9
  173. package/dist/esm/commands/pack.js +1 -2
  174. package/dist/esm/commands/skills.js +175 -0
  175. package/dist/esm/commands/start.js +1 -2
  176. package/dist/esm/commands/storybook.js +1 -2
  177. package/dist/esm/commands/test.js +1 -3
  178. package/dist/esm/commands/tscheck.js +1 -2
  179. package/dist/esm/commands/utils.js +17 -13
  180. package/dist/esm/commands/version.js +1 -2
  181. package/dist/esm/commands/vitest.js +1 -3
  182. package/dist/esm/index.cjs +13 -1
  183. package/dist/esm/index.js +13 -1
  184. package/dist/esm/lint-config/eslint/common.cjs +1 -1
  185. package/dist/esm/lint-config/eslint/flat/common.mjs +169 -0
  186. package/dist/esm/lint-config/eslint/flat/compat.mjs +27 -0
  187. package/dist/esm/lint-config/eslint/flat/index.mjs +21 -0
  188. package/dist/esm/lint-config/eslint/flat/non-react-export.mjs +10 -0
  189. package/dist/esm/lint-config/eslint/flat/non-react.mjs +6 -0
  190. package/dist/esm/lint-config/eslint/flat/presets.mjs +96 -0
  191. package/dist/esm/lint-config/eslint/flat/react-export.mjs +7 -0
  192. package/dist/esm/lint-config/eslint/flat/react.mjs +59 -0
  193. package/dist/esm/lint-config/eslint/flat/rules.mjs +185 -0
  194. package/dist/esm/lint-config/eslint/typescript/non-react.cjs +1 -1
  195. package/dist/esm/lint-config/eslint/typescript/react.cjs +1 -1
  196. package/dist/esm/lint-config/stylelint/config.mjs +27 -0
  197. package/dist/esm/lint-config/stylelint/export.mjs +1 -0
  198. package/dist/esm/lint-config/stylelint.config.cjs +3 -19
  199. package/dist/esm/monorepo/utils.cjs +16 -8
  200. package/dist/esm/monorepo/utils.js +5 -8
  201. package/dist/esm/{release.config.cjs → release.config.mjs} +3 -2
  202. package/dist/esm/{semantic-release-plugin.cjs → semantic-release-plugin.mjs} +3 -3
  203. package/dist/esm/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
  204. package/dist/esm/testing/jest.config.cjs +5 -9
  205. package/dist/esm/testing/resolver.cjs +1 -1
  206. package/dist/esm/testing/setup-react-env.js +1 -1
  207. package/dist/esm/testing/vitest.config.js +2 -1
  208. package/dist/esm/transpile/esbuild.js +1 -1
  209. package/dist/esm/webpack/csp-plugin.js +2 -4
  210. package/dist/esm/webpack/helpers.js +2 -6
  211. package/dist/esm/webpack/prop-types-shim.js +0 -1
  212. package/dist/esm/webpack/webpack.dev.babel.js +2 -26
  213. package/dist/esm/webpack/webpack.lib.base.babel.js +0 -8
  214. package/dist/types/docusaurus.config.d.ts +3 -2
  215. package/dist/types/lib/commands/build.d.ts +1 -1
  216. package/dist/types/lib/commands/buildcdn.d.ts +1 -1
  217. package/dist/types/lib/commands/codemod.d.ts +1 -1
  218. package/dist/types/lib/commands/gendoc.d.ts +1 -1
  219. package/dist/types/lib/commands/lint.d.ts +1 -1
  220. package/dist/types/lib/commands/pack.d.ts +1 -1
  221. package/dist/types/lib/commands/skills.d.ts +11 -0
  222. package/dist/types/lib/commands/start.d.ts +1 -1
  223. package/dist/types/lib/commands/storybook.d.ts +1 -1
  224. package/dist/types/lib/commands/test.d.ts +1 -1
  225. package/dist/types/lib/commands/tscheck.d.ts +1 -1
  226. package/dist/types/lib/commands/utils.d.ts +43 -2
  227. package/dist/types/lib/commands/version.d.ts +1 -1
  228. package/dist/types/lib/commands/vitest.d.ts +1 -1
  229. package/dist/types/lib/index.d.cts +6 -2
  230. package/dist/types/lib/index.d.ts +5 -1
  231. package/dist/types/lib/lint-config/eslint/flat/common.d.mts +6 -0
  232. package/dist/types/lib/lint-config/eslint/flat/compat.d.mts +9 -0
  233. package/dist/types/lib/lint-config/eslint/flat/index.d.mts +6 -0
  234. package/dist/types/lib/lint-config/eslint/flat/non-react-export.d.mts +4 -0
  235. package/dist/types/lib/lint-config/eslint/flat/non-react.d.mts +3 -0
  236. package/dist/types/lib/lint-config/eslint/flat/presets.d.mts +34 -0
  237. package/dist/types/lib/lint-config/eslint/flat/react-export.d.mts +4 -0
  238. package/dist/types/lib/lint-config/eslint/flat/react.d.mts +4 -0
  239. package/dist/types/lib/lint-config/eslint/flat/rules.d.mts +361 -0
  240. package/dist/types/lib/lint-config/stylelint/config.d.mts +3 -0
  241. package/dist/types/lib/lint-config/stylelint/export.d.mts +1 -0
  242. package/dist/types/lib/lint-config/stylelint.config.d.cts +2 -10
  243. package/dist/types/lib/release.config.d.mts +10 -0
  244. package/dist/types/lib/semantic-release-plugin.d.mts +4 -0
  245. package/dist/types/lib/server/appRoutes.d.ts +1 -1
  246. package/dist/types/lib/server/csp.d.ts +1 -1
  247. package/dist/types/lib/server/middlewares.d.ts +1 -1
  248. package/dist/types/lib/webpack/csp-plugin.d.ts +3 -3
  249. package/dist/types/lib/webpack/helpers.d.ts +1 -6
  250. package/dist/types/lib/webpack/interceptor-middleware.d.ts +2 -2
  251. package/dist/types/lib/webpack/webpack.base.babel.d.ts +1 -1
  252. package/dist/types/lib/webpack/webpack.lib.base.babel.d.ts +1 -1
  253. package/dist/types/lib/webpack/webpack.lib.prod.babel.d.ts +1 -1
  254. package/dist/types/lib/webpack/webpack.prod.babel.d.ts +1 -1
  255. package/dist/types/lib/webpack/webpack.storybook.d.ts +1 -1
  256. package/dist/types/tsconfig.tsbuildinfo +1 -1
  257. package/lib/lint-config/commitlint.config.cjs +1 -0
  258. package/lib/lint-config/eslint/common.cjs +164 -0
  259. package/lib/lint-config/eslint/flat/common.mjs +169 -0
  260. package/lib/lint-config/eslint/flat/compat.mjs +27 -0
  261. package/lib/lint-config/eslint/flat/index.mjs +21 -0
  262. package/lib/lint-config/eslint/flat/non-react-export.mjs +10 -0
  263. package/lib/lint-config/eslint/flat/non-react.mjs +6 -0
  264. package/lib/lint-config/eslint/flat/presets.mjs +96 -0
  265. package/lib/lint-config/eslint/flat/react-export.mjs +7 -0
  266. package/lib/lint-config/eslint/flat/react.mjs +59 -0
  267. package/lib/lint-config/eslint/flat/rules.mjs +185 -0
  268. package/lib/lint-config/eslint/non-react.cjs +14 -0
  269. package/lib/lint-config/eslint/react.cjs +26 -0
  270. package/lib/lint-config/eslint/typescript/common.cjs +49 -0
  271. package/lib/lint-config/eslint/typescript/non-react.cjs +12 -0
  272. package/lib/lint-config/eslint/typescript/react.cjs +19 -0
  273. package/lib/lint-config/lint-staged.config.js +15 -0
  274. package/lib/lint-config/prettier.config.cjs +8 -0
  275. package/lib/lint-config/stylelint/config.mjs +27 -0
  276. package/lib/lint-config/stylelint/export.mjs +1 -0
  277. package/lib/lint-config/stylelint.config.cjs +3 -0
  278. package/lib/release.config.mjs +28 -0
  279. package/lib/semantic-release-plugin.mjs +30 -0
  280. package/lib/skills/migrate-to-pui-cli-9/SKILL.md +271 -0
  281. package/library.tsconfig.json +1 -1
  282. package/package.json +103 -89
  283. package/dist/cjs/server/versionPathMiddleware.js +0 -44
  284. package/dist/cjs/testing/setup-env.js +0 -8
  285. package/dist/esm/server/versionPathMiddleware.js +0 -24
  286. package/dist/esm/testing/setup-env.js +0 -7
  287. package/dist/types/lib/release.config.d.cts +0 -7
  288. package/dist/types/lib/semantic-release-plugin.d.cts +0 -1
  289. package/dist/types/lib/server/versionPathMiddleware.d.ts +0 -8
  290. package/dist/types/lib/testing/setup-env.d.ts +0 -1
@@ -0,0 +1,179 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-index" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v3.10.1">
6
+ <title data-rh="true">PUI CLI Documentation | Cli</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/cli/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="PUI CLI Documentation | Cli"><meta data-rh="true" name="description" content="Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries."><meta data-rh="true" property="og:description" content="Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/" hreflang="x-default"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/cli/</span> </p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",function(){void 0===window.docusaurus&&insertBanner()})</script><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"PUI CLI Documentation","item":"https://pui.ice.com/cli/"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.74603f39.css">
7
+ <script src="/cli/assets/js/runtime~main.cb214d1a.js" defer="defer"></script>
8
+ <script src="/cli/assets/js/main.00e13c37.js" defer="defer"></script>
9
+ </head>
10
+ <body>
11
+ <svg style="display: none;"><defs>
12
+ <symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
13
+ </defs></svg>
14
+ <script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent__KB6" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/cli/"><div class="navbar__logo"><img src="/cli/img/logo.svg" alt="Cli" class="themedComponent__Gxr themedComponent--light_euW4"><img src="/cli/img/logo.svg" alt="Cli" class="themedComponent__Gxr themedComponent--dark_cG3D"></div><b class="navbar__title text--truncate">Cli</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/cli/">Getting Started</a><a class="navbar__item navbar__link" href="/cli/api">API</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://git.elliemae.io/platform-ui/pui-cli.git" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink__EWc"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_TGb8 colorModeToggle_zDjd"><button class="clean-btn toggleButton_pX7R toggleButtonDisabled_J9eq" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_aiXM lightToggleIcon_TXA8"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_aiXM darkToggleIcon_koy3"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_aiXM systemToggleIcon_nzkW"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer__iSk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_KuT8"><div class="docsWrapper_VaWq"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_j5oK" type="button"></button><div class="docRoot_noFI"><aside class="theme-doc-sidebar-container docSidebarContainer_VgAC"><div class="sidebarViewport_KhCA"><div class="sidebar_kOfH"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_OmRr"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_jyam menu__link menu__link--sublist" href="/cli/api/"><span title="Cli API" class="categoryLinkLabel_sc1K">Cli API</span></a><button aria-label="Expand sidebar category &#x27;Cli API&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cli/eslint-rules-migration"><span title="ESLint rules migration guide (legacy → ESLint 10 flat config)" class="linkLabel_gjq0">ESLint rules migration guide (legacy → ESLint 10 flat config)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/cli/"><span title="PUI CLI Documentation" class="linkLabel_gjq0">PUI CLI Documentation</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cli/pui-cli-9-migration"><span title="pui-cli 9 migration guide" class="linkLabel_gjq0">pui-cli 9 migration guide</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cli/ssl-certificate-setup"><span title="Trust SSL Certificate Guide" class="linkLabel_gjq0">Trust SSL Certificate Guide</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cli/stylelint-migration"><span title="Stylelint migration guide (pui-cli 8 → 9 / Stylelint 17)" class="linkLabel_gjq0">Stylelint migration guide (pui-cli 8 → 9 / Stylelint 17)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/cli/usage-guide"><span title="Usage Guide" class="linkLabel_gjq0">Usage Guide</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_QTZx"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_zFNv"><div class="docItemContainer_gTAZ"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_WbZx" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/cli/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_eRUI"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">PUI CLI Documentation</span></li></ul></nav><div class="tocCollapsible_XRgF theme-doc-toc-mobile tocMobile_QmTN"><button type="button" class="clean-btn tocCollapsibleButton_wt2y">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>PUI CLI Documentation</h1></header>
15
+ <p>Welcome to the ICE MT UI Platform CLI documentation. This CLI tool provides a comprehensive set of commands for building, testing, and maintaining UI applications and libraries.</p>
16
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="quick-links">Quick Links<a href="#quick-links" class="hash-link" aria-label="Direct link to Quick Links" title="Direct link to Quick Links" translate="no">​</a></h2>
17
+ <ul>
18
+ <li class=""><a href="https://git.elliemae.io/platform-ui/pui-cli" target="_blank" rel="noopener noreferrer" class="">GitHub Repository</a></li>
19
+ <li class=""><a href="https://jenkinsbuild.elliemae.cloud/job/UIPlatform/job/pui-cli/job/master" target="_blank" rel="noopener noreferrer" class="">Build Job</a></li>
20
+ <li class=""><a href="https://sonarqube.jenkins.elliemae.cloud/overview?id=elliemae.pui.cli-master" target="_blank" rel="noopener noreferrer" class="">SonarQube Report</a></li>
21
+ <li class=""><strong><a class="" href="/cli/usage-guide">Usage Guide</a></strong> - Detailed command reference and examples</li>
22
+ <li class=""><strong><a class="" href="/cli/pui-cli-9-migration">pui-cli 9 Migration Guide</a></strong> - Node 24, pnpm 11, ESLint 10 upgrade path</li>
23
+ <li class=""><strong><a class="" href="/cli/eslint-rules-migration">ESLint Rules Migration</a></strong> - Legacy ESLint 8 → flat config rule comparison</li>
24
+ <li class=""><strong><a class="" href="/cli/api/">API Documentation</a></strong> - Generated API docs from source code</li>
25
+ <li class=""><strong><a class="" href="/cli/ssl-certificate-setup">SSL Certificate Setup</a></strong> - HTTPS certificate configuration</li>
26
+ </ul>
27
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="features">Features<a href="#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
28
+ <ul>
29
+ <li class="">🚀 <strong>Modern Build Tools</strong> - Webpack and Vite integration</li>
30
+ <li class="">🧪 <strong>Testing</strong> - Jest and Vitest support with coverage</li>
31
+ <li class="">🎨 <strong>Linting</strong> - ESLint, Prettier, and Stylelint configurations</li>
32
+ <li class="">📝 <strong>TypeScript</strong> - Full TypeScript support</li>
33
+ <li class="">📚 <strong>Storybook</strong> - Component development and documentation</li>
34
+ <li class="">🔧 <strong>Development Server</strong> - Hot module replacement</li>
35
+ <li class="">📦 <strong>Library Support</strong> - Build both applications and libraries</li>
36
+ <li class="">🎯 <strong>Monorepo Support</strong> - Workspace version management</li>
37
+ </ul>
38
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="getting-started">Getting Started<a href="#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started" translate="no">​</a></h2>
39
+ <p>This guide will help you get started with <code>@elliemae/pui-cli</code>, a command-line interface tool for building and managing UI applications and libraries.</p>
40
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites" translate="no">​</a></h3>
41
+ <p>Before you begin, ensure you have the following installed:</p>
42
+ <ul>
43
+ <li class=""><strong>Node.js</strong>: Version 20</li>
44
+ <li class=""><strong>pnpm</strong>: Version 8 (recommended package manager)</li>
45
+ </ul>
46
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="installation">Installation<a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation" translate="no">​</a></h3>
47
+ <h4 class="anchor anchorTargetStickyNavbar_jFbF" id="for-new-projects">For New Projects<a href="#for-new-projects" class="hash-link" aria-label="Direct link to For New Projects" title="Direct link to For New Projects" translate="no">​</a></h4>
48
+ <p>Install the CLI as a development dependency in your project:</p>
49
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm add -D @elliemae/pui-cli</span><br></div></code></pre></div></div>
50
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="quick-start">Quick Start<a href="#quick-start" class="hash-link" aria-label="Direct link to Quick Start" title="Direct link to Quick Start" translate="no">​</a></h3>
51
+ <h4 class="anchor anchorTargetStickyNavbar_jFbF" id="setting-up-a-new-application">Setting Up a New Application<a href="#setting-up-a-new-application" class="hash-link" aria-label="Direct link to Setting Up a New Application" title="Direct link to Setting Up a New Application" translate="no">​</a></h4>
52
+ <ol>
53
+ <li class=""><strong>Create a package.json</strong> if you don&#x27;t have one:</li>
54
+ </ol>
55
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm init</span><br></div></code></pre></div></div>
56
+ <ol start="2">
57
+ <li class=""><strong>Install pui-cli</strong>:</li>
58
+ </ol>
59
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm add -D @elliemae/pui-cli</span><br></div></code></pre></div></div>
60
+ <ol start="3">
61
+ <li class=""><strong>Add scripts to your package.json</strong>:</li>
62
+ </ol>
63
+ <p>For applications:</p>
64
+ <div class="language-json codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-json codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;scripts&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;start&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli start&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;start:prod&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli start -p&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;build&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli build&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli test&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;vitest&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli vitest&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test:fix&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli test -f&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test:debug&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli test --debug&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli lint&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint:fix&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli lint --fix&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint:staged&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;lint-staged&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;tscheck&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli tscheck --files&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;storybook&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli storybook&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;storybook:docs&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli storybook --docs&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;storybook:build&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli storybook -b&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;gendoc&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli gendoc&quot;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
65
+ <p>For libraries:</p>
66
+ <div class="language-json codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-json codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;scripts&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;build&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli pack -p&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;build:dev&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli pack&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli test&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test:fix&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli test -f&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli lint&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint:fix&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli lint --fix&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;tscheck&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;pui-cli tscheck --files&quot;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
67
+ <ol start="4">
68
+ <li class=""><strong>Create a TypeScript configuration</strong> (<code>tsconfig.json</code>):</li>
69
+ </ol>
70
+ <p>For applications:</p>
71
+ <div class="language-json codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-json codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;extends&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;@elliemae/pui-cli/app.tsconfig.json&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;compilerOptions&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;outDir&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;dist/types&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;baseUrl&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;.&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;paths&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;include&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;app/**/*&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;wdio.config.mjs&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;vitest.config.ts&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;docusaurus.config.ts&quot;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;exclude&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">&quot;node_modules&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;**/*.spec.ts&quot;</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
72
+ <p>For libraries:</p>
73
+ <div class="language-json codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-json codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;extends&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;@elliemae/pui-cli/library.tsconfig.json&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;compilerOptions&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;outDir&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;dist/types&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;declarationDir&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;dist/types&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;baseUrl&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;.&quot;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;include&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">&quot;lib/**/*&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;./docusaurus.config.ts&quot;</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;exclude&quot;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">&quot;node_modules&quot;</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
74
+ <ol start="5">
75
+ <li class=""><strong>Create your source structure</strong>:</li>
76
+ </ol>
77
+ <p>For applications:</p>
78
+ <div class="language-text codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-text codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">your-project/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── app/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── index.tsx # Entry point</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── route/ # Routes</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── view/ # Components</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── data/ # Redux slices</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── api/ # RTK Query APIs</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── sideeffect/ # Redux Sagas</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── utils/ # Utilities</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ └── app.config.json # App configuration</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── public/ # Static assets</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── package.json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">└── tsconfig.json</span><br></div></code></pre></div></div>
79
+ <p>For libraries:</p>
80
+ <div class="language-text codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-text codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">your-project/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── lib/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── index.ts # Entry point</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── components/ # Components</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── utils/ # Utilities</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ └── __tests__/ # Tests</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── stories/ # Storybook stories (optional)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── package.json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">└── tsconfig.json</span><br></div></code></pre></div></div>
81
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="project-structure">Project Structure<a href="#project-structure" class="hash-link" aria-label="Direct link to Project Structure" title="Direct link to Project Structure" translate="no">​</a></h2>
82
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="application-structure">Application Structure<a href="#application-structure" class="hash-link" aria-label="Direct link to Application Structure" title="Direct link to Application Structure" translate="no">​</a></h3>
83
+ <div class="language-text codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-text codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">your-app/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── app/ # Application source code</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── index.tsx # Entry point</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── route/ # Route definitions</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── view/ # UI components</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── data/ # Redux slices (state)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── api/ # RTK Query API definitions</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── sideeffect/ # Redux Sagas</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── utils/ # Utility functions</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── tests/ # Test files</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ └── app.config.json # App configuration</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── public/ # Static assets</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── e2e/ # E2E tests (optional)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── docs/ # Docusaurus docs (optional)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── package.json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">└── tsconfig.json</span><br></div></code></pre></div></div>
84
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="library-structure">Library Structure<a href="#library-structure" class="hash-link" aria-label="Direct link to Library Structure" title="Direct link to Library Structure" translate="no">​</a></h3>
85
+ <div class="language-text codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-text codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">your-library/</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── lib/ # Library source code</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── index.ts # Entry point</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ ├── components/ # Components</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">│ └── __tests__/ # Test files</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── stories/ # Storybook stories</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">├── package.json</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">└── tsconfig.json</span><br></div></code></pre></div></div>
86
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="configuration-files">Configuration Files<a href="#configuration-files" class="hash-link" aria-label="Direct link to Configuration Files" title="Direct link to Configuration Files" translate="no">​</a></h2>
87
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="prettier-configuration">Prettier Configuration<a href="#prettier-configuration" class="hash-link" aria-label="Direct link to Prettier Configuration" title="Direct link to Prettier Configuration" translate="no">​</a></h3>
88
+ <p>Create <code>prettier.config.cjs</code>:</p>
89
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> prettierConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">require</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">module</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">exports</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> prettierConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
90
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="stylelint-configuration">Stylelint Configuration<a href="#stylelint-configuration" class="hash-link" aria-label="Direct link to Stylelint Configuration" title="Direct link to Stylelint Configuration" translate="no">​</a></h3>
91
+ <p>Create <code>stylelint.config.mjs</code> (recommended) or <code>stylelint.config.cjs</code>:</p>
92
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// stylelint.config.mjs</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:#393A34">{</span><span class="token imports"> stylelintConfig </span><span class="token imports punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli/stylelint&#x27;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token plain"> stylelintConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
93
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// stylelint.config.cjs</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> stylelintConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">require</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">module</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">exports</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> stylelintConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
94
+ <p>See <a class="" href="/cli/stylelint-migration">Stylelint migration guide</a> when upgrading from pui-cli 8.</p>
95
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="commitlint-configuration">Commitlint Configuration<a href="#commitlint-configuration" class="hash-link" aria-label="Direct link to Commitlint Configuration" title="Direct link to Commitlint Configuration" translate="no">​</a></h3>
96
+ <p>Create <code>commitlint.config.cjs</code>:</p>
97
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> commitlintConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">require</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">module</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">exports</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> commitlintConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
98
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="lint-staged-configuration">Lint-staged Configuration<a href="#lint-staged-configuration" class="hash-link" aria-label="Direct link to Lint-staged Configuration" title="Direct link to Lint-staged Configuration" translate="no">​</a></h3>
99
+ <p>Create <code>lint-staged.config.mjs</code>:</p>
100
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:#393A34">{</span><span class="token imports"> lintStagedConfig </span><span class="token imports punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token plain"> lintStagedConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
101
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="babel-configuration-optional">Babel Configuration (Optional)<a href="#babel-configuration-optional" class="hash-link" aria-label="Direct link to Babel Configuration (Optional)" title="Direct link to Babel Configuration (Optional)" translate="no">​</a></h3>
102
+ <p>Create <code>babel.config.cjs</code> for custom Babel configuration:</p>
103
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> babelConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">require</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">module</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">exports</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> babelConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
104
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="git-hooks-setup">Git Hooks Setup<a href="#git-hooks-setup" class="hash-link" aria-label="Direct link to Git Hooks Setup" title="Direct link to Git Hooks Setup" translate="no">​</a></h2>
105
+ <p>To enable pre-commit hooks with Husky:</p>
106
+ <ol>
107
+ <li class=""><strong>Install Husky</strong>:</li>
108
+ </ol>
109
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm add -D husky</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx husky init</span><br></div></code></pre></div></div>
110
+ <ol start="2">
111
+ <li class=""><strong>Create <code>.husky/pre-commit</code></strong>:</li>
112
+ </ol>
113
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm -s dlx lint-staged</span><br></div></code></pre></div></div>
114
+ <ol start="3">
115
+ <li class=""><strong>Create <code>.husky/commit-msg</code></strong> (optional, for commitlint):</li>
116
+ </ol>
117
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">pnpm exec commitlint --edit $1</span><br></div></code></pre></div></div>
118
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="additional-configuration-files">Additional Configuration Files<a href="#additional-configuration-files" class="hash-link" aria-label="Direct link to Additional Configuration Files" title="Direct link to Additional Configuration Files" translate="no">​</a></h2>
119
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="jest-configuration">Jest Configuration<a href="#jest-configuration" class="hash-link" aria-label="Direct link to Jest Configuration" title="Direct link to Jest Configuration" translate="no">​</a></h3>
120
+ <p>For custom Jest configuration, create <code>jest.config.cjs</code>:</p>
121
+ <div class="language-javascript codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-javascript codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> jestConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">require</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">module</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">exports</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> jestConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
122
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="environment-variables">Environment Variables<a href="#environment-variables" class="hash-link" aria-label="Direct link to Environment Variables" title="Direct link to Environment Variables" translate="no">​</a></h2>
123
+ <p>Create a <code>.env</code> file in your project root for environment-specific configuration:</p>
124
+ <div class="language-env codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-env codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain">PORT=3000</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">NODE_ENV=development</span><br></div></code></pre></div></div>
125
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="running-your-first-build">Running Your First Build<a href="#running-your-first-build" class="hash-link" aria-label="Direct link to Running Your First Build" title="Direct link to Running Your First Build" translate="no">​</a></h2>
126
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="start-development-server">Start Development Server<a href="#start-development-server" class="hash-link" aria-label="Direct link to Start Development Server" title="Direct link to Start Development Server" translate="no">​</a></h3>
127
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Start development server</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm start</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Start with production mode</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm start:prod</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># or</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pui-cli start -p</span><br></div></code></pre></div></div>
128
+ <p>This will:</p>
129
+ <ul>
130
+ <li class="">Start webpack dev server</li>
131
+ <li class="">Enable hot module replacement</li>
132
+ <li class="">Serve your application (default: <a href="http://localhost:3000" target="_blank" rel="noopener noreferrer" class="">http://localhost:3000</a>)</li>
133
+ <li class="">Watch for file changes</li>
134
+ </ul>
135
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="build-for-production">Build for Production<a href="#build-for-production" class="hash-link" aria-label="Direct link to Build for Production" title="Direct link to Build for Production" translate="no">​</a></h3>
136
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Build application</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm build</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Build library</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack -p</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Build library for development (no minification)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack</span><br></div></code></pre></div></div>
137
+ <p>This will:</p>
138
+ <ul>
139
+ <li class="">Create an optimized production build</li>
140
+ <li class="">Output files to the <code>dist/</code> or <code>build/</code> directory</li>
141
+ <li class="">Generate source maps</li>
142
+ <li class="">Minify and bundle your code</li>
143
+ <li class="">For libraries: Generate ESM, CJS, and type declarations</li>
144
+ </ul>
145
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="run-tests">Run Tests<a href="#run-tests" class="hash-link" aria-label="Direct link to Run Tests" title="Direct link to Run Tests" translate="no">​</a></h3>
146
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Run Jest tests</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm test</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Run tests with auto-fix</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm test:fix</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Debug tests</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm test:debug</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Watch mode</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm test:watch</span><br></div></code></pre></div></div>
147
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="linting-and-type-checking">Linting and Type Checking<a href="#linting-and-type-checking" class="hash-link" aria-label="Direct link to Linting and Type Checking" title="Direct link to Linting and Type Checking" translate="no">​</a></h3>
148
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Lint code</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm lint</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Auto-fix lint issues</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm lint:fix</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Type check</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm tscheck</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Lint staged files only</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm lint:staged</span><br></div></code></pre></div></div>
149
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="storybook">Storybook<a href="#storybook" class="hash-link" aria-label="Direct link to Storybook" title="Direct link to Storybook" translate="no">​</a></h3>
150
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Run Storybook dev server</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm storybook</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Run with docs mode</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm storybook:docs</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"># Build static Storybook</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm storybook:build</span><br></div></code></pre></div></div>
151
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="next-steps">Next Steps<a href="#next-steps" class="hash-link" aria-label="Direct link to Next Steps" title="Direct link to Next Steps" translate="no">​</a></h2>
152
+ <ul>
153
+ <li class="">Read the <a class="" href="/cli/usage-guide">Usage Guide</a> for detailed command documentation</li>
154
+ <li class="">Check out the <a class="" href="/cli/api/">API Documentation</a> for library exports</li>
155
+ <li class="">Review the <a href="https://git.elliemae.io/platform-ui/pui-cli#migration-guide" target="_blank" rel="noopener noreferrer" class="">Migration Guide</a> if upgrading from an older version</li>
156
+ </ul>
157
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="troubleshooting">Troubleshooting<a href="#troubleshooting" class="hash-link" aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting" translate="no">​</a></h2>
158
+ <h3 class="anchor anchorTargetStickyNavbar_jFbF" id="common-issues">Common Issues<a href="#common-issues" class="hash-link" aria-label="Direct link to Common Issues" title="Direct link to Common Issues" translate="no">​</a></h3>
159
+ <p><strong>Port already in use:</strong></p>
160
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Change the port in your .env file</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">PORT=3001</span><br></div></code></pre></div></div>
161
+ <p><strong>Module not found errors:</strong></p>
162
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Clear node_modules and reinstall</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">rm -rf node_modules</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm install</span><br></div></code></pre></div></div>
163
+ <p><strong>Build fails with TypeScript errors:</strong></p>
164
+ <div class="language-bash codeBlockContainer_uLrG theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_yDoo"><pre tabindex="0" class="prism-code language-bash codeBlock_whMN thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_r5mI"><div class="token-line" style="color:#393A34"><span class="token plain"># Run type checking separately to see detailed errors</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">pnpm tscheck</span><br></div></code></pre></div></div>
165
+ <p><strong>HTTPS certificate warnings:</strong></p>
166
+ <p>If you see &quot;Not Secure&quot; or certificate warnings when using HTTPS in development:</p>
167
+ <ul>
168
+ <li class="">See the <a class="" href="/cli/ssl-certificate-setup">SSL Certificate Setup Guide</a> for detailed instructions</li>
169
+ <li class="">You need to trust the self-signed CA certificate on your system</li>
170
+ <li class="">Platform-specific instructions available for macOS, Windows, and Firefox</li>
171
+ </ul>
172
+ <h2 class="anchor anchorTargetStickyNavbar_jFbF" id="getting-help">Getting Help<a href="#getting-help" class="hash-link" aria-label="Direct link to Getting Help" title="Direct link to Getting Help" translate="no">​</a></h2>
173
+ <p>If you encounter issues:</p>
174
+ <ol>
175
+ <li class="">Review the documentation in the <code>docs/</code> folder</li>
176
+ <li class="">Reach out to the ui-platform teams channel</li>
177
+ </ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_sn50"><a href="https://git.elliemae.io/platform-ui/pui-cli.git/docs/index.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_sbI6" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_n07i"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/cli/eslint-rules-migration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">ESLint rules migration guide (legacy → ESLint 10 flat config)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/cli/pui-cli-9-migration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">pui-cli 9 migration guide</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_gGRX thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#quick-links" class="table-of-contents__link toc-highlight">Quick Links</a></li><li><a href="#features" class="table-of-contents__link toc-highlight">Features</a></li><li><a href="#getting-started" class="table-of-contents__link toc-highlight">Getting Started</a><ul><li><a href="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a></li><li><a href="#installation" class="table-of-contents__link toc-highlight">Installation</a></li><li><a href="#quick-start" class="table-of-contents__link toc-highlight">Quick Start</a></li></ul></li><li><a href="#project-structure" class="table-of-contents__link toc-highlight">Project Structure</a><ul><li><a href="#application-structure" class="table-of-contents__link toc-highlight">Application Structure</a></li><li><a href="#library-structure" class="table-of-contents__link toc-highlight">Library Structure</a></li></ul></li><li><a href="#configuration-files" class="table-of-contents__link toc-highlight">Configuration Files</a><ul><li><a href="#prettier-configuration" class="table-of-contents__link toc-highlight">Prettier Configuration</a></li><li><a href="#stylelint-configuration" class="table-of-contents__link toc-highlight">Stylelint Configuration</a></li><li><a href="#commitlint-configuration" class="table-of-contents__link toc-highlight">Commitlint Configuration</a></li><li><a href="#lint-staged-configuration" class="table-of-contents__link toc-highlight">Lint-staged Configuration</a></li><li><a href="#babel-configuration-optional" class="table-of-contents__link toc-highlight">Babel Configuration (Optional)</a></li></ul></li><li><a href="#git-hooks-setup" class="table-of-contents__link toc-highlight">Git Hooks Setup</a></li><li><a href="#additional-configuration-files" class="table-of-contents__link toc-highlight">Additional Configuration Files</a><ul><li><a href="#jest-configuration" class="table-of-contents__link toc-highlight">Jest Configuration</a></li></ul></li><li><a href="#environment-variables" class="table-of-contents__link toc-highlight">Environment Variables</a></li><li><a href="#running-your-first-build" class="table-of-contents__link toc-highlight">Running Your First Build</a><ul><li><a href="#start-development-server" class="table-of-contents__link toc-highlight">Start Development Server</a></li><li><a href="#build-for-production" class="table-of-contents__link toc-highlight">Build for Production</a></li><li><a href="#run-tests" class="table-of-contents__link toc-highlight">Run Tests</a></li><li><a href="#linting-and-type-checking" class="table-of-contents__link toc-highlight">Linting and Type Checking</a></li><li><a href="#storybook" class="table-of-contents__link toc-highlight">Storybook</a></li></ul></li><li><a href="#next-steps" class="table-of-contents__link toc-highlight">Next Steps</a></li><li><a href="#troubleshooting" class="table-of-contents__link toc-highlight">Troubleshooting</a><ul><li><a href="#common-issues" class="table-of-contents__link toc-highlight">Common Issues</a></li></ul></li><li><a href="#getting-help" class="table-of-contents__link toc-highlight">Getting Help</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/cli/">Getting Started</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://icemortgagetechnology.slack.com/archives/C01M49EGP6Z" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink__EWc"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://git.elliemae.io/platform-ui/pui-cli.git" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink__EWc"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 ICE.</div></div></div></footer></div>
178
+ </body>
179
+ </html>