@elliemae/pui-cli 8.56.0 → 8.56.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/build/docs/404.html +16 -0
  2. package/build/docs/api/functions/loadRoutes/index.html +22 -0
  3. package/build/docs/api/index.html +22 -0
  4. package/build/docs/api/type-aliases/LIB_NAME/index.html +17 -0
  5. package/build/docs/api/variables/babelConfig/index.html +40 -0
  6. package/build/docs/api/variables/commitlintConfig/index.html +20 -0
  7. package/build/docs/api/variables/eslintBaseConfig/index.html +130 -0
  8. package/build/docs/api/variables/eslintConfig/index.html +178 -0
  9. package/build/docs/api/variables/jestConfig/index.html +98 -0
  10. package/build/docs/api/variables/jestNodeConfig/index.html +98 -0
  11. package/build/docs/api/variables/lintStagedConfig/index.html +24 -0
  12. package/build/docs/api/variables/prettierConfig/index.html +30 -0
  13. package/build/docs/api/variables/stylelintConfig/index.html +30 -0
  14. package/build/docs/api/variables/vitestConfig/index.html +17 -0
  15. package/build/docs/assets/css/styles.b1b52ffd.css +1 -0
  16. package/build/docs/assets/js/04ee7372.fd34f1b5.js +1 -0
  17. package/build/docs/assets/js/0551d4dd.953e2993.js +1 -0
  18. package/build/docs/assets/js/1519.d030447d.js +1 -0
  19. package/build/docs/assets/js/1653.40368431.js +1 -0
  20. package/build/docs/assets/js/16b7bc88.f03095d0.js +1 -0
  21. package/build/docs/assets/js/1784.61dd8523.js +1 -0
  22. package/build/docs/assets/js/17896441.cc1fa77c.js +1 -0
  23. package/build/docs/assets/js/1945.61806072.js +1 -0
  24. package/build/docs/assets/js/1991.0f6feacc.js +1 -0
  25. package/build/docs/assets/js/1b9df811.469b0728.js +1 -0
  26. package/build/docs/assets/js/2045.7448b9d1.js +1 -0
  27. package/build/docs/assets/js/2776.b657fa5b.js +1 -0
  28. package/build/docs/assets/js/3038.0e4c1fa9.js +1 -0
  29. package/build/docs/assets/js/3070.a6690fa0.js +1 -0
  30. package/build/docs/assets/js/33.f8c1be59.js +1 -0
  31. package/build/docs/assets/js/37d86055.43b240e7.js +1 -0
  32. package/build/docs/assets/js/3899.f749022f.js +1 -0
  33. package/build/docs/assets/js/407.af5c71fd.js +1 -0
  34. package/build/docs/assets/js/4362.ede2f67e.js +1 -0
  35. package/build/docs/assets/js/459.fde5cc35.js +1 -0
  36. package/build/docs/assets/js/4860.8e8cbbc5.js +1 -0
  37. package/build/docs/assets/js/4931.416d91de.js +1 -0
  38. package/build/docs/assets/js/5122.3aa42065.js +1 -0
  39. package/build/docs/assets/js/5621.a8e0cf8e.js +2 -0
  40. package/build/docs/assets/js/5621.a8e0cf8e.js.LICENSE.txt +1 -0
  41. package/build/docs/assets/js/5820.4d0c57d5.js +1 -0
  42. package/build/docs/assets/js/5d5f1db0.ff686deb.js +1 -0
  43. package/build/docs/assets/js/5e8c322a.18511dc7.js +1 -0
  44. package/build/docs/assets/js/5e95c892.5e57e195.js +1 -0
  45. package/build/docs/assets/js/5fb3c522.d18d25f3.js +1 -0
  46. package/build/docs/assets/js/638.e2d76085.js +2 -0
  47. package/build/docs/assets/js/638.e2d76085.js.LICENSE.txt +9 -0
  48. package/build/docs/assets/js/6409.81de5a57.js +1 -0
  49. package/build/docs/assets/js/654.6042ce81.js +1 -0
  50. package/build/docs/assets/js/6961.c9ddb0aa.js +1 -0
  51. package/build/docs/assets/js/6bd11e52.4c7596d2.js +1 -0
  52. package/build/docs/assets/js/6e96545e.ef44dd17.js +1 -0
  53. package/build/docs/assets/js/7039.b99fc8e8.js +1 -0
  54. package/build/docs/assets/js/71f6d02b.9af88530.js +1 -0
  55. package/build/docs/assets/js/7299.3c7d7fe8.js +1 -0
  56. package/build/docs/assets/js/7666.dbfcc59e.js +1 -0
  57. package/build/docs/assets/js/7685.58b654ee.js +1 -0
  58. package/build/docs/assets/js/7807.ca692475.js +1 -0
  59. package/build/docs/assets/js/7860.7531e4aa.js +1 -0
  60. package/build/docs/assets/js/7868.01aba323.js +1 -0
  61. package/build/docs/assets/js/7968.4841fd3d.js +1 -0
  62. package/build/docs/assets/js/7997.71dc976e.js +1 -0
  63. package/build/docs/assets/js/80e87108.46343ebb.js +1 -0
  64. package/build/docs/assets/js/8130.d018025f.js +1 -0
  65. package/build/docs/assets/js/8182.04e3ced7.js +1 -0
  66. package/build/docs/assets/js/8257.052d6779.js +1 -0
  67. package/build/docs/assets/js/8587.308973e9.js +1 -0
  68. package/build/docs/assets/js/8796.27977834.js +1 -0
  69. package/build/docs/assets/js/8907.742e77d1.js +1 -0
  70. package/build/docs/assets/js/9176.0ae23755.js +1 -0
  71. package/build/docs/assets/js/9439.b8c071be.js +1 -0
  72. package/build/docs/assets/js/967.29f54a93.js +1 -0
  73. package/build/docs/assets/js/9839.1d013bad.js +1 -0
  74. package/build/docs/assets/js/a7bd4aaa.cf6f21dd.js +1 -0
  75. package/build/docs/assets/js/a94703ab.97010aaa.js +1 -0
  76. package/build/docs/assets/js/aba21aa0.0612e2e7.js +1 -0
  77. package/build/docs/assets/js/b8ac1d98.401d7970.js +1 -0
  78. package/build/docs/assets/js/bde5209a.aa0a8f57.js +1 -0
  79. package/build/docs/assets/js/c377a04b.a72f4152.js +1 -0
  80. package/build/docs/assets/js/common.03e48d9e.js +1 -0
  81. package/build/docs/assets/js/e5f79924.9835c1f1.js +1 -0
  82. package/build/docs/assets/js/f736c962.4b7c9d35.js +1 -0
  83. package/build/docs/assets/js/main.2dc2f922.js +2 -0
  84. package/build/docs/assets/js/main.2dc2f922.js.LICENSE.txt +51 -0
  85. package/build/docs/assets/js/runtime~main.41f949c1.js +1 -0
  86. package/build/docs/img/favicon.ico +0 -0
  87. package/build/docs/img/logo.jpeg +0 -0
  88. package/build/docs/img/logo.svg +22 -0
  89. package/build/docs/img/readme.md +1 -0
  90. package/build/docs/index.html +175 -0
  91. package/build/docs/readme.md +1 -0
  92. package/build/docs/sitemap.xml +1 -0
  93. package/build/docs/ssl-certificate-setup/index.html +284 -0
  94. package/build/docs/usage-guide/index.html +385 -0
  95. package/dist/cjs/testing/jest.config.cjs +1 -0
  96. package/dist/cjs/testing/mocks/pui-logrocket.js +45 -0
  97. package/dist/cjs/testing/setup-tests.js +2 -0
  98. package/dist/cjs/webpack/helpers.js +14 -1
  99. package/dist/cjs/webpack/webpack.base.babel.js +9 -1
  100. package/dist/cjs/webpack/webpack.dev.babel.js +3 -1
  101. package/dist/cjs/webpack/webpack.lib.base.babel.js +2 -1
  102. package/dist/cjs/webpack/webpack.prod.babel.js +2 -0
  103. package/dist/cjs/webpack/webpack.storybook.js +1 -0
  104. package/dist/esm/testing/jest.config.cjs +1 -0
  105. package/dist/esm/testing/mocks/pui-logrocket.js +25 -0
  106. package/dist/esm/testing/setup-tests.js +2 -0
  107. package/dist/esm/webpack/helpers.js +14 -1
  108. package/dist/esm/webpack/webpack.base.babel.js +9 -1
  109. package/dist/esm/webpack/webpack.dev.babel.js +3 -1
  110. package/dist/esm/webpack/webpack.lib.base.babel.js +2 -1
  111. package/dist/esm/webpack/webpack.prod.babel.js +2 -0
  112. package/dist/esm/webpack/webpack.storybook.js +1 -0
  113. package/dist/types/lib/testing/jest.config.d.cts +1 -0
  114. package/dist/types/lib/testing/jest.node.config.d.cts +1 -0
  115. package/dist/types/lib/testing/mocks/pui-logrocket.d.ts +12 -0
  116. package/dist/types/lib/webpack/helpers.d.ts +1 -0
  117. package/dist/types/tsconfig.tsbuildinfo +1 -1
  118. package/package.json +2 -1
@@ -0,0 +1,385 @@
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-usage-guide" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v3.9.2">
6
+ <title data-rh="true">Usage Guide | 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/usage-guide"><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="Usage Guide | Cli"><meta data-rh="true" name="description" content="This guide provides detailed documentation for all available commands in @elliemae/pui-cli."><meta data-rh="true" property="og:description" content="This guide provides detailed documentation for all available commands in @elliemae/pui-cli."><link data-rh="true" rel="icon" href="/cli/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/cli/usage-guide"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/usage-guide" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/cli/usage-guide" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Usage Guide","item":"https://pui.ice.com/cli/usage-guide"}]}</script><link rel="stylesheet" href="/cli/assets/css/styles.b1b52ffd.css">
7
+ <script src="/cli/assets/js/runtime~main.41f949c1.js" defer="defer"></script>
8
+ <script src="/cli/assets/js/main.2dc2f922.js" defer="defer"></script>
9
+ </head>
10
+ <body class="navigation-with-keyboard">
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_SnHH" 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_HKXQ themedComponent--light_txKY"><img src="/cli/img/logo.svg" alt="Cli" class="themedComponent_HKXQ themedComponent--dark_hUIO"></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_ciBl"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_aIEz colorModeToggle_JR0Z"><button class="clean-btn toggleButton_Pjkz toggleButtonDisabled_rmLQ" 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_USCn lightToggleIcon_Q_57"><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_USCn darkToggleIcon_dNPp"><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_USCn systemToggleIcon_zwBP"><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_WgEA"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_wh11"><div class="docsWrapper_AOIM"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_oeS_" type="button"></button><div class="docRoot_aX5A"><aside class="theme-doc-sidebar-container docSidebarContainer_ZfcB"><div class="sidebarViewport_eMqn"><div class="sidebar_V7zO"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_jDW2"><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_j1_M menu__link menu__link--sublist" href="/cli/api/"><span title="Cli API" class="categoryLinkLabel_sD4p">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/"><span title="PUI CLI Documentation" class="linkLabel_Xa1M">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/ssl-certificate-setup"><span title="Trust SSL Certificate Guide" class="linkLabel_Xa1M">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 menu__link--active" aria-current="page" href="/cli/usage-guide"><span title="Usage Guide" class="linkLabel_Xa1M">Usage Guide</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_B6ht"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol__3k3"><div class="docItemContainer_K2zw"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_sF6w" 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_SOKB"><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">Usage Guide</span></li></ul></nav><div class="tocCollapsible_Xq8A theme-doc-toc-mobile tocMobile_XpZ8"><button type="button" class="clean-btn tocCollapsibleButton_MJUG">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Usage Guide</h1></header>
15
+ <p>This guide provides detailed documentation for all available commands in <code>@elliemae/pui-cli</code>.</p>
16
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="table-of-contents">Table of Contents<a href="#table-of-contents" class="hash-link" aria-label="Direct link to Table of Contents" title="Direct link to Table of Contents" translate="no">​</a></h2>
17
+ <ul>
18
+ <li class=""><a href="#build-commands" class="">Build Commands</a></li>
19
+ <li class=""><a href="#development-commands" class="">Development Commands</a></li>
20
+ <li class=""><a href="#testing-commands" class="">Testing Commands</a></li>
21
+ <li class=""><a href="#linting-commands" class="">Linting Commands</a></li>
22
+ <li class=""><a href="#documentation-commands" class="">Documentation Commands</a></li>
23
+ <li class=""><a href="#utility-commands" class="">Utility Commands</a></li>
24
+ </ul>
25
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="build-commands">Build Commands<a href="#build-commands" class="hash-link" aria-label="Direct link to Build Commands" title="Direct link to Build Commands" translate="no">​</a></h2>
26
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-build"><code>pui-cli build</code><a href="#pui-cli-build" class="hash-link" aria-label="Direct link to pui-cli-build" title="Direct link to pui-cli-build" translate="no">​</a></h3>
27
+ <p>Builds your application for production.</p>
28
+ <p><strong>Usage:</strong></p>
29
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli build [options]</span><br></span></code></pre></div></div>
30
+ <p><strong>Options:</strong></p>
31
+ <ul>
32
+ <li class=""><code>-p, --prod</code> - Production build with optimizations</li>
33
+ </ul>
34
+ <p><strong>Examples:</strong></p>
35
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Build web application (development)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli build</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Build web application (production)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli build -p</span><br></span></code></pre></div></div>
36
+ <p><strong>Output:</strong></p>
37
+ <ul>
38
+ <li class="">Application builds go to <code>build/</code> or <code>dist/</code> directory</li>
39
+ <li class="">Creates optimized bundles with code splitting</li>
40
+ </ul>
41
+ <p><strong>What it does:</strong></p>
42
+ <ul>
43
+ <li class="">Bundles code using Webpack</li>
44
+ <li class="">Minifies JavaScript and CSS</li>
45
+ <li class="">Generates source maps</li>
46
+ <li class="">Optimizes assets</li>
47
+ <li class="">Creates production-ready build</li>
48
+ <li class="">Applies tree shaking for smaller bundles</li>
49
+ </ul>
50
+ <hr>
51
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-buildcdn"><code>pui-cli buildCDN</code><a href="#pui-cli-buildcdn" class="hash-link" aria-label="Direct link to pui-cli-buildcdn" title="Direct link to pui-cli-buildcdn" translate="no">​</a></h3>
52
+ <p>Builds the application for CDN deployment.</p>
53
+ <p><strong>Usage:</strong></p>
54
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli buildCDN</span><br></span></code></pre></div></div>
55
+ <p><strong>What it does:</strong></p>
56
+ <ul>
57
+ <li class="">Creates CDN-optimized builds</li>
58
+ <li class="">Generates proper asset paths for CDN</li>
59
+ <li class="">Optimizes bundle splitting</li>
60
+ </ul>
61
+ <hr>
62
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-pack"><code>pui-cli pack</code><a href="#pui-cli-pack" class="hash-link" aria-label="Direct link to pui-cli-pack" title="Direct link to pui-cli-pack" translate="no">​</a></h3>
63
+ <p>Packages your library for distribution with multiple output formats.</p>
64
+ <p><strong>Usage:</strong></p>
65
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack [options]</span><br></span></code></pre></div></div>
66
+ <p><strong>Options:</strong></p>
67
+ <ul>
68
+ <li class=""><code>-p, --prod</code> - Production build with minification</li>
69
+ <li class=""><code>-t, --target &lt;target&gt;</code> - Build target (default: browser, options: node, browser)</li>
70
+ </ul>
71
+ <p><strong>Examples:</strong></p>
72
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Build library (development)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Build library (production)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack -p</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Build for Node.js target</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli pack -p -t node</span><br></span></code></pre></div></div>
73
+ <p><strong>Output:</strong></p>
74
+ <ul>
75
+ <li class="">Creates <code>dist/</code> directory with:<!-- -->
76
+ <ul>
77
+ <li class=""><code>dist/esm/</code> - ES Module format</li>
78
+ <li class=""><code>dist/cjs/</code> - CommonJS format</li>
79
+ <li class=""><code>dist/types/</code> - TypeScript declarations</li>
80
+ <li class=""><code>dist/umd/</code> - UMD format (browser)</li>
81
+ </ul>
82
+ </li>
83
+ </ul>
84
+ <p><strong>What it does:</strong></p>
85
+ <ul>
86
+ <li class="">Builds library in multiple formats (ESM, CJS, UMD)</li>
87
+ <li class="">Generates TypeScript declaration files</li>
88
+ <li class="">Minifies code in production mode</li>
89
+ <li class="">Creates source maps</li>
90
+ <li class="">Validates package.json exports</li>
91
+ <li class="">Optimized for tree-shaking</li>
92
+ </ul>
93
+ <hr>
94
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="development-commands">Development Commands<a href="#development-commands" class="hash-link" aria-label="Direct link to Development Commands" title="Direct link to Development Commands" translate="no">​</a></h2>
95
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-start"><code>pui-cli start</code><a href="#pui-cli-start" class="hash-link" aria-label="Direct link to pui-cli-start" title="Direct link to pui-cli-start" translate="no">​</a></h3>
96
+ <p>Starts the development server with hot module replacement.</p>
97
+ <p><strong>Usage:</strong></p>
98
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli start [options]</span><br></span></code></pre></div></div>
99
+ <p><strong>Options:</strong></p>
100
+ <ul>
101
+ <li class=""><code>-p, --prod</code> - Start in production mode</li>
102
+ <li class=""><code>--port &lt;number&gt;</code> - Specify port (default: 3000)</li>
103
+ <li class=""><code>--open</code> - Automatically open browser</li>
104
+ <li class=""><code>--hot</code> - Enable hot module replacement (default: true)</li>
105
+ </ul>
106
+ <p><strong>Examples:</strong></p>
107
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Start on default port (development)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli start</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Start in production mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli start -p</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># or</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm start:prod</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Start on custom port</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli start --port 8080</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Start and open browser</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli start --open</span><br></span></code></pre></div></div>
108
+ <p><strong>What it does:</strong></p>
109
+ <ul>
110
+ <li class="">Starts Webpack dev server</li>
111
+ <li class="">Enables hot module replacement</li>
112
+ <li class="">Serves static files</li>
113
+ <li class="">Provides mock API endpoints</li>
114
+ <li class="">Auto-reloads on file changes</li>
115
+ </ul>
116
+ <p><strong>Environment Variables:</strong></p>
117
+ <div class="language-env codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-env codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">PORT=3000</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">HOST=localhost</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTPS=false</span><br></span></code></pre></div></div>
118
+ <hr>
119
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-storybook"><code>pui-cli storybook</code><a href="#pui-cli-storybook" class="hash-link" aria-label="Direct link to pui-cli-storybook" title="Direct link to pui-cli-storybook" translate="no">​</a></h3>
120
+ <p>Runs Storybook for component development and documentation.</p>
121
+ <p><strong>Usage:</strong></p>
122
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook [options]</span><br></span></code></pre></div></div>
123
+ <p><strong>Options:</strong></p>
124
+ <ul>
125
+ <li class=""><code>-b, --build</code> - Build static storybook</li>
126
+ <li class=""><code>--docs</code> - Run in documentation mode</li>
127
+ <li class=""><code>--port &lt;number&gt;</code> - Specify port (default: 6006)</li>
128
+ </ul>
129
+ <p><strong>Examples:</strong></p>
130
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Start Storybook dev server</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Start with documentation mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook --docs</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Build static Storybook</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook -b</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Build with documentation mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook -b --docs</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run on custom port</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli storybook --port 9000</span><br></span></code></pre></div></div>
131
+ <p><strong>What it does:</strong></p>
132
+ <ul>
133
+ <li class="">Starts Storybook development server</li>
134
+ <li class="">Provides interactive component playground</li>
135
+ <li class="">Generates component documentation</li>
136
+ <li class="">Useful for library development</li>
137
+ </ul>
138
+ <hr>
139
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="testing-commands">Testing Commands<a href="#testing-commands" class="hash-link" aria-label="Direct link to Testing Commands" title="Direct link to Testing Commands" translate="no">​</a></h2>
140
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-test"><code>pui-cli test</code><a href="#pui-cli-test" class="hash-link" aria-label="Direct link to pui-cli-test" title="Direct link to pui-cli-test" translate="no">​</a></h3>
141
+ <p>Runs Jest tests with coverage reporting.</p>
142
+ <p><strong>Usage:</strong></p>
143
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test [options]</span><br></span></code></pre></div></div>
144
+ <p><strong>Options:</strong></p>
145
+ <ul>
146
+ <li class=""><code>-f, --fix</code> - Update snapshots (<code>-u</code>)</li>
147
+ <li class=""><code>-p, --prod</code> - Run tests in production mode</li>
148
+ <li class=""><code>--watch</code> - Run tests in watch mode</li>
149
+ <li class=""><code>--debug</code> - Run tests in debug mode</li>
150
+ <li class=""><code>--coverage</code> - Generate coverage reports (default: true)</li>
151
+ <li class=""><code>--passWithNoTests</code> - Don&#x27;t fail if no tests found</li>
152
+ <li class=""><code>--bail</code> - Stop on first test failure</li>
153
+ <li class=""><code>--findRelatedTests</code> - Run tests related to changed files</li>
154
+ </ul>
155
+ <p><strong>Examples:</strong></p>
156
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Run all tests with coverage</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run tests in production mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test -p</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run in watch mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test:watch</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Update snapshots</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test -f</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># or</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test:fix</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Debug tests</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test --debug</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># or</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test:debug</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run only tests related to changed files (useful for pre-commit)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test --coverage --passWithNoTests --bail --findRelatedTests</span><br></span></code></pre></div></div>
157
+ <p><strong>What it does:</strong></p>
158
+ <ul>
159
+ <li class="">Executes Jest test runner</li>
160
+ <li class="">Generates coverage reports in <code>reports/</code> directory</li>
161
+ <li class="">Supports React Testing Library</li>
162
+ <li class="">Provides snapshot testing</li>
163
+ <li class="">Generates HTML coverage reports</li>
164
+ </ul>
165
+ <p><strong>Coverage Reports:</strong></p>
166
+ <p>After running tests, view coverage at:</p>
167
+ <ul>
168
+ <li class=""><code>reports/index.html</code> - Overall coverage report</li>
169
+ <li class=""><code>reports/lcov-report/index.html</code> - Detailed line coverage</li>
170
+ </ul>
171
+ <hr>
172
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-vitest"><code>pui-cli vitest</code><a href="#pui-cli-vitest" class="hash-link" aria-label="Direct link to pui-cli-vitest" title="Direct link to pui-cli-vitest" translate="no">​</a></h3>
173
+ <p>Runs Vitest for modern, fast testing.</p>
174
+ <p><strong>Usage:</strong></p>
175
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli vitest [options]</span><br></span></code></pre></div></div>
176
+ <p><strong>Options:</strong></p>
177
+ <ul>
178
+ <li class=""><code>--watch</code> - Run in watch mode</li>
179
+ <li class=""><code>--ui</code> - Open Vitest UI</li>
180
+ <li class=""><code>--coverage</code> - Generate coverage</li>
181
+ </ul>
182
+ <p><strong>Examples:</strong></p>
183
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Run tests</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli vitest</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run with UI</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli vitest --ui</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Run in watch mode</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli vitest --watch</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Generate coverage</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli vitest --coverage</span><br></span></code></pre></div></div>
184
+ <p><strong>What it does:</strong></p>
185
+ <ul>
186
+ <li class="">Provides fast test execution with Vite</li>
187
+ <li class="">Supports ESM natively</li>
188
+ <li class="">Offers visual test UI</li>
189
+ <li class="">Compatible with Jest syntax</li>
190
+ </ul>
191
+ <hr>
192
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="linting-commands">Linting Commands<a href="#linting-commands" class="hash-link" aria-label="Direct link to Linting Commands" title="Direct link to Linting Commands" translate="no">​</a></h2>
193
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-lint"><code>pui-cli lint</code><a href="#pui-cli-lint" class="hash-link" aria-label="Direct link to pui-cli-lint" title="Direct link to pui-cli-lint" translate="no">​</a></h3>
194
+ <p>Lints your codebase for code quality and style issues.</p>
195
+ <p><strong>Usage:</strong></p>
196
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint [options]</span><br></span></code></pre></div></div>
197
+ <p><strong>Options:</strong></p>
198
+ <ul>
199
+ <li class=""><code>--fix</code> - Automatically fix linting issues</li>
200
+ <li class=""><code>--js</code> - Lint JavaScript/TypeScript files only</li>
201
+ <li class=""><code>--css</code> - Lint CSS/SCSS files only</li>
202
+ <li class=""><code>--commit</code> - Lint commit messages</li>
203
+ <li class=""><code>--debug</code> - Show detailed error messages</li>
204
+ </ul>
205
+ <p><strong>Examples:</strong></p>
206
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Lint all files</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Auto-fix issues</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint --fix</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Lint only JavaScript files</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint --js</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Lint only CSS files</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint --css</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Lint commit messages</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint --commit</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Show debug information</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli lint --debug</span><br></span></code></pre></div></div>
207
+ <p><strong>What it does:</strong></p>
208
+ <ul>
209
+ <li class="">Runs ESLint on JavaScript/TypeScript files</li>
210
+ <li class="">Runs Stylelint on CSS/SCSS files</li>
211
+ <li class="">Runs Commitlint on commit messages</li>
212
+ <li class="">Enforces code style consistency</li>
213
+ <li class="">Checks for common errors and anti-patterns</li>
214
+ </ul>
215
+ <p><strong>Linting Rules:</strong></p>
216
+ <p>The CLI provides pre-configured rules for:</p>
217
+ <ul>
218
+ <li class=""><strong>ESLint</strong>: React, TypeScript, Jest best practices</li>
219
+ <li class=""><strong>Stylelint</strong>: CSS best practices and conventions</li>
220
+ <li class=""><strong>Commitlint</strong>: Conventional Commits format</li>
221
+ </ul>
222
+ <hr>
223
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-tscheck"><code>pui-cli tscheck</code><a href="#pui-cli-tscheck" class="hash-link" aria-label="Direct link to pui-cli-tscheck" title="Direct link to pui-cli-tscheck" translate="no">​</a></h3>
224
+ <p>Type-checks TypeScript files without emitting output.</p>
225
+ <p><strong>Usage:</strong></p>
226
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli tscheck [options]</span><br></span></code></pre></div></div>
227
+ <p><strong>Options:</strong></p>
228
+ <ul>
229
+ <li class=""><code>--files</code> - Check specific files only</li>
230
+ <li class=""><code>--watch</code> - Watch mode for continuous type checking</li>
231
+ <li class=""><code>--debug</code> - Show detailed TypeScript errors</li>
232
+ </ul>
233
+ <p><strong>Examples:</strong></p>
234
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Check all types</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli tscheck</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Check with file listing</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli tscheck --files</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Watch for changes</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli tscheck --watch</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Show detailed errors</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli tscheck --debug</span><br></span></code></pre></div></div>
235
+ <p><strong>What it does:</strong></p>
236
+ <ul>
237
+ <li class="">Runs TypeScript compiler in check mode</li>
238
+ <li class="">Reports type errors</li>
239
+ <li class="">Doesn&#x27;t emit JavaScript files</li>
240
+ <li class="">Useful for CI/CD pipelines</li>
241
+ </ul>
242
+ <hr>
243
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="documentation-commands">Documentation Commands<a href="#documentation-commands" class="hash-link" aria-label="Direct link to Documentation Commands" title="Direct link to Documentation Commands" translate="no">​</a></h2>
244
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-gendoc"><code>pui-cli gendoc</code><a href="#pui-cli-gendoc" class="hash-link" aria-label="Direct link to pui-cli-gendoc" title="Direct link to pui-cli-gendoc" translate="no">​</a></h3>
245
+ <p>Generates API documentation from your code.</p>
246
+ <p><strong>Usage:</strong></p>
247
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli gendoc</span><br></span></code></pre></div></div>
248
+ <p><strong>What it does:</strong></p>
249
+ <ul>
250
+ <li class="">Generates TypeDoc documentation</li>
251
+ <li class="">Extracts JSDoc comments</li>
252
+ <li class="">Creates HTML documentation</li>
253
+ <li class="">Outputs to <code>docs/api/</code> directory</li>
254
+ </ul>
255
+ <p><strong>Example JSDoc comments:</strong></p>
256
+ <div class="language-typescript codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-typescript codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic">/**</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * Adds two numbers together</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * </span><span class="token doc-comment comment keyword" style="color:#00009f;font-style:italic">@param</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"> </span><span class="token doc-comment comment parameter" style="color:#999988;font-style:italic">a</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"> - First number</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * </span><span class="token doc-comment comment keyword" style="color:#00009f;font-style:italic">@param</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"> </span><span class="token doc-comment comment parameter" style="color:#999988;font-style:italic">b</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"> - Second number</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * </span><span class="token doc-comment comment keyword" style="color:#00009f;font-style:italic">@returns</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"> The sum of a and b</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * </span><span class="token doc-comment comment keyword" style="color:#00009f;font-style:italic">@example</span><span class="token doc-comment comment" style="color:#999988;font-style:italic"></span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * ```ts</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * add(2, 3) // returns 5</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> * ```</span><br></span><span class="token-line" style="color:#393A34"><span class="token doc-comment comment" style="color:#999988;font-style:italic"> */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">add</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">a</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> b</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> a </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> b</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
257
+ <hr>
258
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="utility-commands">Utility Commands<a href="#utility-commands" class="hash-link" aria-label="Direct link to Utility Commands" title="Direct link to Utility Commands" translate="no">​</a></h2>
259
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-version"><code>pui-cli version</code><a href="#pui-cli-version" class="hash-link" aria-label="Direct link to pui-cli-version" title="Direct link to pui-cli-version" translate="no">​</a></h3>
260
+ <p>Manages versioning for monorepo workspaces.</p>
261
+ <p><strong>Usage:</strong></p>
262
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli version [options]</span><br></span></code></pre></div></div>
263
+ <p><strong>Options:</strong></p>
264
+ <ul>
265
+ <li class=""><code>--set &lt;version&gt;</code> - Set specific version for all packages</li>
266
+ <li class=""><code>--workspace</code> - Update workspace package versions</li>
267
+ </ul>
268
+ <p><strong>Examples:</strong></p>
269
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Update versions in monorepo</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli version --workspace</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Set specific version</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli version --set 2.0.0</span><br></span></code></pre></div></div>
270
+ <p><strong>What it does:</strong></p>
271
+ <ul>
272
+ <li class="">Updates package.json versions</li>
273
+ <li class="">Maintains version consistency in monorepos</li>
274
+ <li class="">Updates dependency versions</li>
275
+ </ul>
276
+ <hr>
277
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="pui-cli-codemod"><code>pui-cli codemod</code><a href="#pui-cli-codemod" class="hash-link" aria-label="Direct link to pui-cli-codemod" title="Direct link to pui-cli-codemod" translate="no">​</a></h3>
278
+ <p>Runs code transformations using jscodeshift.</p>
279
+ <p><strong>Usage:</strong></p>
280
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli codemod &lt;transform&gt;</span><br></span></code></pre></div></div>
281
+ <p><strong>Arguments:</strong></p>
282
+ <ul>
283
+ <li class=""><code>&lt;transform&gt;</code> - Name of the transform to apply</li>
284
+ </ul>
285
+ <p><strong>What it does:</strong></p>
286
+ <ul>
287
+ <li class="">Applies automated code transformations</li>
288
+ <li class="">Useful for migrations</li>
289
+ <li class="">Batch code refactoring</li>
290
+ </ul>
291
+ <hr>
292
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="advanced-usage">Advanced Usage<a href="#advanced-usage" class="hash-link" aria-label="Direct link to Advanced Usage" title="Direct link to Advanced Usage" translate="no">​</a></h2>
293
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="using-pui-cli-in-npm-scripts">Using pui-cli in npm scripts<a href="#using-pui-cli-in-npm-scripts" class="hash-link" aria-label="Direct link to Using pui-cli in npm scripts" title="Direct link to Using pui-cli in npm scripts" translate="no">​</a></h3>
294
+ <p><strong>package.json example:</strong></p>
295
+ <div class="language-json codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-json codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;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 start&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;build:lib&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 --service&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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 --coverage&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;test:watch&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 --watch&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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></span><span 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></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint:js&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 --js --fix&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;lint:css&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 --css --fix&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;typecheck&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&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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></span><span 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 --build&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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 punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;pack&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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">&quot;precommit&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 plain"></span><br></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
296
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="cicd-integration">CI/CD Integration<a href="#cicd-integration" class="hash-link" aria-label="Direct link to CI/CD Integration" title="Direct link to CI/CD Integration" translate="no">​</a></h3>
297
+ <p><strong>Jenkins example:</strong></p>
298
+ <div class="language-groovy codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-groovy codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pipeline {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> agent any</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stages {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stage(&#x27;Install&#x27;) {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> steps {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> sh &#x27;pnpm install&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stage(&#x27;Lint&#x27;) {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> steps {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> sh &#x27;pnpm lint&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stage(&#x27;Type Check&#x27;) {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> steps {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> sh &#x27;pnpm tscheck&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stage(&#x27;Test&#x27;) {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> steps {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> sh &#x27;pnpm test&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> stage(&#x27;Build&#x27;) {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> steps {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> sh &#x27;pnpm build&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span><br></span></code></pre></div></div>
299
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="using-exported-configurations">Using Exported Configurations<a href="#using-exported-configurations" class="hash-link" aria-label="Direct link to Using Exported Configurations" title="Direct link to Using Exported Configurations" translate="no">​</a></h3>
300
+ <p>You can import and extend the CLI&#x27;s configurations in your own config files:</p>
301
+ <p><strong>ESLint:</strong></p>
302
+ <div class="language-javascript codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-javascript codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span 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"> eslintConfig </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></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span 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"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token spread operator" style="color:#393A34">...</span><span class="token plain">eslintConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">rules</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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Your custom rules</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string-property property" style="color:#36acaa">&#x27;no-console&#x27;</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;warn&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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></span><span 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></span><span 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><br></span></code></pre></div></div>
303
+ <p><strong>Prettier:</strong></p>
304
+ <div class="language-javascript codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-javascript codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span 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"> prettierConfig </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></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span 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"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token spread operator" style="color:#393A34">...</span><span class="token plain">prettierConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Your custom overrides</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">printWidth</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">100</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span 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><br></span></code></pre></div></div>
305
+ <p><strong>Vitest:</strong></p>
306
+ <div class="language-typescript codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-typescript codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> defineConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;vitest/config&#x27;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> vitestConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;@elliemae/pui-cli/vitest&#x27;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">defineConfig</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token operator" style="color:#393A34">...</span><span class="token plain">vitestConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> test</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></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token operator" style="color:#393A34">...</span><span class="token plain">vitestConfig</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">test</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Your custom test config</span><span class="token plain"></span><br></span><span 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></span><span 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 punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
307
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="configuration-priority">Configuration Priority<a href="#configuration-priority" class="hash-link" aria-label="Direct link to Configuration Priority" title="Direct link to Configuration Priority" translate="no">​</a></h2>
308
+ <p>The CLI follows this priority order for configuration:</p>
309
+ <ol>
310
+ <li class="">Project-level configuration files</li>
311
+ <li class="">CLI&#x27;s default configurations</li>
312
+ <li class="">Command-line arguments</li>
313
+ <li class="">Environment variables</li>
314
+ </ol>
315
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="best-practices">Best Practices<a href="#best-practices" class="hash-link" aria-label="Direct link to Best Practices" title="Direct link to Best Practices" translate="no">​</a></h2>
316
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="development-workflow">Development Workflow<a href="#development-workflow" class="hash-link" aria-label="Direct link to Development Workflow" title="Direct link to Development Workflow" translate="no">​</a></h3>
317
+ <ol>
318
+ <li class="">
319
+ <p><strong>Start development server:</strong></p>
320
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm start</span><br></span></code></pre></div></div>
321
+ </li>
322
+ <li class="">
323
+ <p><strong>Run tests in watch mode (separate terminal):</strong></p>
324
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test --watch</span><br></span></code></pre></div></div>
325
+ </li>
326
+ <li class="">
327
+ <p><strong>Type check (separate terminal):</strong></p>
328
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm tscheck --watch</span><br></span></code></pre></div></div>
329
+ </li>
330
+ <li class="">
331
+ <p><strong>Before committing:</strong></p>
332
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm lint:fix</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm typecheck</span><br></span></code></pre></div></div>
333
+ </li>
334
+ </ol>
335
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="library-development-workflow">Library Development Workflow<a href="#library-development-workflow" class="hash-link" aria-label="Direct link to Library Development Workflow" title="Direct link to Library Development Workflow" translate="no">​</a></h3>
336
+ <ol>
337
+ <li class="">
338
+ <p><strong>Start Storybook:</strong></p>
339
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm storybook</span><br></span></code></pre></div></div>
340
+ </li>
341
+ <li class="">
342
+ <p><strong>Run tests in watch mode:</strong></p>
343
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm test --watch</span><br></span></code></pre></div></div>
344
+ </li>
345
+ <li class="">
346
+ <p><strong>Build library:</strong></p>
347
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm build --service</span><br></span></code></pre></div></div>
348
+ </li>
349
+ <li class="">
350
+ <p><strong>Test package:</strong></p>
351
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain">pnpm pack</span><br></span></code></pre></div></div>
352
+ </li>
353
+ </ol>
354
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="performance-tips">Performance Tips<a href="#performance-tips" class="hash-link" aria-label="Direct link to Performance Tips" title="Direct link to Performance Tips" translate="no">​</a></h3>
355
+ <ul>
356
+ <li class="">Use <code>--findRelatedTests</code> to run only relevant tests</li>
357
+ <li class="">Enable <code>--watch</code> mode during development</li>
358
+ <li class="">Use <code>--silent</code> in CI to reduce output</li>
359
+ <li class="">Run <code>lint --js</code> and <code>lint --css</code> separately for faster feedback</li>
360
+ </ul>
361
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="troubleshooting">Troubleshooting<a href="#troubleshooting" class="hash-link" aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting" translate="no">​</a></h2>
362
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="build-issues">Build Issues<a href="#build-issues" class="hash-link" aria-label="Direct link to Build Issues" title="Direct link to Build Issues" translate="no">​</a></h3>
363
+ <p><strong>Error: Module not found</strong></p>
364
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Clear cache and rebuild</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">rm -rf node_modules dist</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm install</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm build</span><br></span></code></pre></div></div>
365
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="test-issues">Test Issues<a href="#test-issues" class="hash-link" aria-label="Direct link to Test Issues" title="Direct link to Test Issues" translate="no">​</a></h3>
366
+ <p><strong>Error: Tests timing out</strong></p>
367
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Increase timeout in jest.config</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pui-cli test --debug</span><br></span></code></pre></div></div>
368
+ <h3 class="anchor anchorTargetStickyNavbar_lctC" id="linting-issues">Linting Issues<a href="#linting-issues" class="hash-link" aria-label="Direct link to Linting Issues" title="Direct link to Linting Issues" translate="no">​</a></h3>
369
+ <p><strong>Error: Too many linting errors</strong></p>
370
+ <div class="language-bash codeBlockContainer_ZiCJ theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_qg2P"><pre tabindex="0" class="prism-code language-bash codeBlock_pbXh thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_WjGD"><span class="token-line" style="color:#393A34"><span class="token plain"># Fix automatically</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm lint --fix</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Fix only JS</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm lint --js --fix</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"># Fix only CSS</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pnpm lint --css --fix</span><br></span></code></pre></div></div>
371
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="additional-resources">Additional Resources<a href="#additional-resources" class="hash-link" aria-label="Direct link to Additional Resources" title="Direct link to Additional Resources" translate="no">​</a></h2>
372
+ <ul>
373
+ <li class=""><a class="" href="/cli/#getting-started">Getting Started Guide</a></li>
374
+ <li class=""><a class="" href="/cli/api/">API Documentation</a></li>
375
+ <li class=""><a href="https://git.elliemae.io/platform-ui/pui-cli#migration-guide" target="_blank" rel="noopener noreferrer" class="">Migration Guide</a></li>
376
+ <li class=""><a href="https://git.elliemae.io/platform-ui/pui-cli" target="_blank" rel="noopener noreferrer" class="">GitHub Repository</a></li>
377
+ </ul>
378
+ <h2 class="anchor anchorTargetStickyNavbar_lctC" id="need-help">Need Help?<a href="#need-help" class="hash-link" aria-label="Direct link to Need Help?" title="Direct link to Need Help?" translate="no">​</a></h2>
379
+ <p>If you encounter issues or have questions:</p>
380
+ <ul>
381
+ <li class="">Review the documentation</li>
382
+ <li class="">Contact the UI Platform team via ui-platform teams channel</li>
383
+ </ul></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_Op20"><a href="https://git.elliemae.io/platform-ui/pui-cli.git/docs/usage-guide.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_Zwsr" 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_Qj7h"></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/ssl-certificate-setup"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Trust SSL Certificate Guide</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_dXWK thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#table-of-contents" class="table-of-contents__link toc-highlight">Table of Contents</a></li><li><a href="#build-commands" class="table-of-contents__link toc-highlight">Build Commands</a><ul><li><a href="#pui-cli-build" class="table-of-contents__link toc-highlight"><code>pui-cli build</code></a></li><li><a href="#pui-cli-buildcdn" class="table-of-contents__link toc-highlight"><code>pui-cli buildCDN</code></a></li><li><a href="#pui-cli-pack" class="table-of-contents__link toc-highlight"><code>pui-cli pack</code></a></li></ul></li><li><a href="#development-commands" class="table-of-contents__link toc-highlight">Development Commands</a><ul><li><a href="#pui-cli-start" class="table-of-contents__link toc-highlight"><code>pui-cli start</code></a></li><li><a href="#pui-cli-storybook" class="table-of-contents__link toc-highlight"><code>pui-cli storybook</code></a></li></ul></li><li><a href="#testing-commands" class="table-of-contents__link toc-highlight">Testing Commands</a><ul><li><a href="#pui-cli-test" class="table-of-contents__link toc-highlight"><code>pui-cli test</code></a></li><li><a href="#pui-cli-vitest" class="table-of-contents__link toc-highlight"><code>pui-cli vitest</code></a></li></ul></li><li><a href="#linting-commands" class="table-of-contents__link toc-highlight">Linting Commands</a><ul><li><a href="#pui-cli-lint" class="table-of-contents__link toc-highlight"><code>pui-cli lint</code></a></li><li><a href="#pui-cli-tscheck" class="table-of-contents__link toc-highlight"><code>pui-cli tscheck</code></a></li></ul></li><li><a href="#documentation-commands" class="table-of-contents__link toc-highlight">Documentation Commands</a><ul><li><a href="#pui-cli-gendoc" class="table-of-contents__link toc-highlight"><code>pui-cli gendoc</code></a></li></ul></li><li><a href="#utility-commands" class="table-of-contents__link toc-highlight">Utility Commands</a><ul><li><a href="#pui-cli-version" class="table-of-contents__link toc-highlight"><code>pui-cli version</code></a></li><li><a href="#pui-cli-codemod" class="table-of-contents__link toc-highlight"><code>pui-cli codemod</code></a></li></ul></li><li><a href="#advanced-usage" class="table-of-contents__link toc-highlight">Advanced Usage</a><ul><li><a href="#using-pui-cli-in-npm-scripts" class="table-of-contents__link toc-highlight">Using pui-cli in npm scripts</a></li><li><a href="#cicd-integration" class="table-of-contents__link toc-highlight">CI/CD Integration</a></li><li><a href="#using-exported-configurations" class="table-of-contents__link toc-highlight">Using Exported Configurations</a></li></ul></li><li><a href="#configuration-priority" class="table-of-contents__link toc-highlight">Configuration Priority</a></li><li><a href="#best-practices" class="table-of-contents__link toc-highlight">Best Practices</a><ul><li><a href="#development-workflow" class="table-of-contents__link toc-highlight">Development Workflow</a></li><li><a href="#library-development-workflow" class="table-of-contents__link toc-highlight">Library Development Workflow</a></li><li><a href="#performance-tips" class="table-of-contents__link toc-highlight">Performance Tips</a></li></ul></li><li><a href="#troubleshooting" class="table-of-contents__link toc-highlight">Troubleshooting</a><ul><li><a href="#build-issues" class="table-of-contents__link toc-highlight">Build Issues</a></li><li><a href="#test-issues" class="table-of-contents__link toc-highlight">Test Issues</a></li><li><a href="#linting-issues" class="table-of-contents__link toc-highlight">Linting Issues</a></li></ul></li><li><a href="#additional-resources" class="table-of-contents__link toc-highlight">Additional Resources</a></li><li><a href="#need-help" class="table-of-contents__link toc-highlight">Need 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_ciBl"><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_ciBl"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 ICE.</div></div></div></footer></div>
384
+ </body>
385
+ </html>