-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
223 lines (217 loc) · 60.9 KB
/
Copy pathindex.html
File metadata and controls
223 lines (217 loc) · 60.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-tutorial/CLICommands" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">CLI Commands | Agent-first open-source admin panel framework</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:image" content="https://adminforth.dev/img/og.jpg"><meta data-rh="true" name="twitter:image" content="https://adminforth.dev/img/og.jpg"><meta data-rh="true" property="og:url" content="https://adminforth.dev/docs/tutorial/CLICommands/"><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="CLI Commands | Agent-first open-source admin panel framework"><meta data-rh="true" name="description" content="Reference page for the AdminForth CLI, including create-app, create-plugin, generate-models, bundle, and other commands used to scaffold and maintain projects."><meta data-rh="true" property="og:description" content="Reference page for the AdminForth CLI, including create-app, create-plugin, generate-models, bundle, and other commands used to scaffold and maintain projects."><meta data-rh="true" name="twitter:title" content="CLI Commands"><meta data-rh="true" name="twitter:description" content="Reference page for the AdminForth CLI, including create-app, create-plugin, generate-models, bundle, and other commands used to scaffold and maintain projects."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://adminforth.dev/docs/tutorial/CLICommands/"><link data-rh="true" rel="alternate" href="https://adminforth.dev/docs/tutorial/CLICommands/" hreflang="en"><link data-rh="true" rel="alternate" href="https://adminforth.dev/docs/tutorial/CLICommands/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://VSIPOF54AV-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"CLI Commands","description":"Reference page for the AdminForth CLI, including create-app, create-plugin, generate-models, bundle, and other commands used to scaffold and maintain projects.","url":"https://adminforth.dev/docs/tutorial/CLICommands","dateModified":"2026-08-17T05:01:16.000Z"}</script><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"CLI Commands","item":"https://adminforth.dev/docs/tutorial/CLICommands"}]}</script><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Agent-first open-source admin panel framework RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Agent-first open-source admin panel framework Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-7K99Q2BH04"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-7K99Q2BH04",{anonymize_ip:!0})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Agent-first open-source admin panel framework" href="/opensearch.xml">
<meta name="application-name" content="AdminForth">
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1">
<meta name="googlebot" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1">
<meta name="keywords" content="agent-first admin panel framework, open-source admin panel, agentic back office, tailwind admin framework, vue typescript admin panel, internal admin agent">
<link rel="image_src" href="https://adminforth.dev/img/adminforth_screenshot.png">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"AdminForth","url":"https://adminforth.dev","description":"Agent-first open-source admin panel framework. Build robust and powerful agentic back-office panels for your projects while maintaining full control over the code.","keywords":"backoffice, vue backoffice, agent-first admin panel framework, open-source admin panel, agentic back office, tailwind admin framework, vue typescript admin panel, internal admin agent"}</script>
<script src="/scripts/adminforth.js"></script>
<script src="/scripts/tluma-config.js"></script>
<script src="https://tluma.ai/widget.js" async></script><link rel="stylesheet" href="/assets/css/styles.e5bdffa0.css">
<script src="/assets/js/runtime~main.ee0f97d0.js" defer="defer"></script>
<script src="/assets/js/main.a1324122.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<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>
</defs></svg>
<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_fXgn" 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="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="AdminForth Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="AdminForth Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">AdminForth</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/tutorial/gettingStarted/">Tutorial</a><a class="navbar__item navbar__link" href="/docs/api/">API</a><a class="navbar__item navbar__link" href="/blog/">Blog</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div><a href="https://demo.adminforth.dev/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Live Demo<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://github.com/devforth/adminforth" 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_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" 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_g3eP lightToggleIcon_pyhR"><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_g3eP darkToggleIcon_wfgR"><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_g3eP systemToggleIcon_QzmC"><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></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/tutorial/gettingStarted/"><span title="Getting Started" class="linkLabel_WmDU">Getting Started</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item hidden-sidebar"><a class="menu__link" href="/docs/tutorial/hello-world/"><span title="Hello world app without CLI" class="linkLabel_WmDU">Hello world app without CLI</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="/docs/tutorial/glossary/"><span title="Glossary" class="linkLabel_WmDU">Glossary</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/docs/tutorial/Customization/branding/"><span title="Customization" class="categoryLinkLabel_W154">Customization</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/branding/"><span title="Branding and Theming" class="linkLabel_WmDU">Branding and Theming</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/customFieldRendering/"><span title="Custom record field rendering" class="linkLabel_WmDU">Custom record field rendering</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/virtualColumns/"><span title="Virtual columns" class="linkLabel_WmDU">Virtual columns</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/hooks/"><span title="Hooks" class="linkLabel_WmDU">Hooks</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/limitingAccess/"><span title="Limiting actions access" class="linkLabel_WmDU">Limiting actions access</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/customPages/"><span title="Custom pages" class="linkLabel_WmDU">Custom pages</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/alert/"><span title="Alerts and confirmations" class="linkLabel_WmDU">Alerts and confirmations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/pageInjections/"><span title="Page Injections" class="linkLabel_WmDU">Page Injections</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/Actions/"><span title="Actions" class="linkLabel_WmDU">Actions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/menuConfiguration/"><span title="Menu & Header" class="linkLabel_WmDU">Menu & Header</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/dataApi/"><span title="Data API" class="linkLabel_WmDU">Data API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/security/"><span title="Security" class="linkLabel_WmDU">Security</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/standardPagesTuning/"><span title="Standard pages tuning" class="linkLabel_WmDU">Standard pages tuning</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/afcl/"><span title="AdminForth Components Library" class="linkLabel_WmDU">AdminForth Components Library</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Customization/websocket/"><span title="Websocket" class="linkLabel_WmDU">Websocket</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/tutorial/connectors/"><span title="Connectors" class="linkLabel_WmDU">Connectors</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="/docs/tutorial/deploy/"><span title="Deploy in Docker" class="linkLabel_WmDU">Deploy in Docker</span></a></li><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_byQd menu__link menu__link--sublist" href="/docs/tutorial/ListOfAdapters/"><span title="Adapters" class="categoryLinkLabel_W154">Adapters</span></a><button aria-label="Expand sidebar category 'Adapters'" 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 menu__link--active" aria-current="page" href="/docs/tutorial/CLICommands/"><span title="CLI Commands" class="linkLabel_WmDU">CLI Commands</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="/docs/tutorial/UsageOfLogger/"><span title="Usage of the logger" class="linkLabel_WmDU">Usage of the logger</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/docs/tutorial/ListOfPlugins/"><span title="Plugins" class="categoryLinkLabel_W154">Plugins</span></a><button aria-label="Collapse sidebar category 'Plugins'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/agent/"><span title="Agent" class="linkLabel_WmDU">Agent</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/two-factors-auth/"><span title="Two-Factor Authentication Plugin" class="linkLabel_WmDU">Two-Factor Authentication Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/foreign-inline-list/"><span title="Foreign Inline List" class="linkLabel_WmDU">Foreign Inline List</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/audit-log/"><span title="Audit Log" class="linkLabel_WmDU">Audit Log</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/markdown/"><span title="Markdown" class="linkLabel_WmDU">Markdown</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/email-password-reset/"><span title="Email Password Reset" class="linkLabel_WmDU">Email Password Reset</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/import-export/"><span title="Import Export" class="linkLabel_WmDU">Import Export</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/open-signup/"><span title="Open Signup" class="linkLabel_WmDU">Open Signup</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/i18n/"><span title="Internationalization (i18n)" class="linkLabel_WmDU">Internationalization (i18n)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/oauth/"><span title="OAuth Authentication" class="linkLabel_WmDU">OAuth Authentication</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/inline-create/"><span title="Inline Create" class="linkLabel_WmDU">Inline Create</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/list-in-place-edit/"><span title="List In-Place Edit" class="linkLabel_WmDU">List In-Place Edit</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/text-complete/"><span title="Text Complete" class="linkLabel_WmDU">Text Complete</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/foreign-inline-show/"><span title="Foreign Inline Show" class="linkLabel_WmDU">Foreign Inline Show</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/email-invite/"><span title="Email Invite" class="linkLabel_WmDU">Email Invite</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/bulk-ai-flow/"><span title="Bulk AI Flow" class="linkLabel_WmDU">Bulk AI Flow</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/universal-search/"><span title="Universal Search (Legacy)" class="linkLabel_WmDU">Universal Search (Legacy)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/login-captcha/"><span title="Login Captcha" class="linkLabel_WmDU">Login Captcha</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/user-soft-delete/"><span title="User Soft Delete" class="linkLabel_WmDU">User Soft Delete</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/clone-row/"><span title="Clone Row" class="linkLabel_WmDU">Clone Row</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/many2many/"><span title="Many to Many" class="linkLabel_WmDU">Many to Many</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/background-jobs/"><span title="Background Jobs" class="linkLabel_WmDU">Background Jobs</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/quick-filters/"><span title="Quick Filters" class="linkLabel_WmDU">Quick Filters</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/auto-remove/"><span title="Auto Remove Plugin" class="linkLabel_WmDU">Auto Remove Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/rich-editor/"><span title="Rich Editor" class="linkLabel_WmDU">Rich Editor</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/CRUDApprove/"><span title="CRUD Approve Plugin" class="linkLabel_WmDU">CRUD Approve Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/json-form/"><span title="JSON Form" class="linkLabel_WmDU">JSON Form</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/upload/"><span title="Upload" class="linkLabel_WmDU">Upload</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/05-1-upload-api/"><span title="Upload API" class="linkLabel_WmDU">Upload API</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/dashboard/"><span title="Dashboard plugin" class="linkLabel_WmDU">Dashboard plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Plugins/dashboard-reference/"><span title="Dashboard Query Reference" class="linkLabel_WmDU">Dashboard Query Reference</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/docs/tutorial/Advanced/plugin-development/"><span title="Advanced" class="categoryLinkLabel_W154">Advanced</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Advanced/plugin-development/"><span title="Plugin development guide" class="linkLabel_WmDU">Plugin development guide</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/tutorial/Advanced/working-without-direct-database-connection/"><span title="Working without direct database connection" class="linkLabel_WmDU">Working without direct database connection</span></a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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">CLI Commands</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>CLI Commands</h1></header>
<blockquote>
<p><strong>CLI Reference</strong>: A list of all available CLI commands for AdminForth.</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="usage">Usage<a href="#usage" class="hash-link" aria-label="Direct link to Usage" title="Direct link to Usage" translate="no"></a></h2>
<p>To use a command, write it in format like:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth </span><span class="token operator" style="color:#66d9ef"><</span><span class="token plain">command</span><span class="token operator" style="color:#66d9ef">></span><span class="token plain"> </span><span class="token punctuation" style="color:#f8f8f2">[</span><span class="token punctuation" style="color:#f8f8f2">..</span><span class="token plain">.options</span><span class="token punctuation" style="color:#f8f8f2">]</span><br></span></code></pre></div></div>
<p>For example: <code>pnpx adminforth create-app --app-name myadmin --db "sqlite://.db.sqlite"</code></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="commands">Commands<a href="#commands" class="hash-link" aria-label="Direct link to Commands" title="Direct link to Commands" translate="no"></a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-app"><code>create-app</code><a href="#create-app" class="hash-link" aria-label="Direct link to create-app" title="Direct link to create-app" translate="no"></a></h3>
<blockquote>
<p>Create a new AdminForth application with initial project structure and configuration.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>create-app</code> command scaffolds a brand new AdminForth application in a specified directory. The <code>create-app</code> command guides you through setup using command-line arguments or interactive prompts, generates the necessary configuration and project files, installs dependencies, and sets up the development environment.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth create-app </span><span class="token punctuation" style="color:#f8f8f2">[</span><span class="token plain">--app-name </span><span class="token operator" style="color:#66d9ef"><</span><span class="token plain">name</span><span class="token operator" style="color:#66d9ef">></span><span class="token punctuation" style="color:#f8f8f2">]</span><span class="token plain"> </span><span class="token punctuation" style="color:#f8f8f2">[</span><span class="token plain">--db </span><span class="token operator" style="color:#66d9ef"><</span><span class="token plain">database_url</span><span class="token operator" style="color:#66d9ef">></span><span class="token punctuation" style="color:#f8f8f2">]</span><br></span></code></pre></div></div>
<p><strong>Options:</strong></p>
<ul>
<li class=""><strong><code>--app-name</code></strong>: The name of your new application. This becomes the project directory. Defaults to <code>adminforth-app</code>.</li>
<li class=""><strong><code>--db </code></strong>: The connection URL for your database. Currently PostgreSQL, MongoDB, SQLite, MySQL, Clickhouse are supported. If not provided, defaults to <code>sqlite://.db.sqlite</code>.</li>
</ul>
<p><strong>Example:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth create-app --app-name my-app </span><span class="token parameter variable" style="color:#f8f8f2">--db</span><span class="token plain"> sqlite://mydb.sqlite</span><br></span></code></pre></div></div>
<p><strong>Result:</strong></p>
<p>Creates a folder <code>my-app/</code> with the entire AdminForth app ready to go.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-plugin"><code>create-plugin</code><a href="#create-plugin" class="hash-link" aria-label="Direct link to create-plugin" title="Direct link to create-plugin" translate="no"></a></h3>
<blockquote>
<p>Scaffold a new plugin for an AdminForth application.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>create-plugin</code> command sets up a fresh AdminForth plugin project by generating the required files, installing dependencies, and preparing the environment for local development and testing.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth create-plugin </span><span class="token punctuation" style="color:#f8f8f2">[</span><span class="token plain">--plugin-name </span><span class="token operator" style="color:#66d9ef"><</span><span class="token plain">name</span><span class="token operator" style="color:#66d9ef">></span><span class="token punctuation" style="color:#f8f8f2">]</span><br></span></code></pre></div></div>
<p><strong>Options:</strong></p>
<ul>
<li class=""><strong><code>--plugin-name</code></strong>: The name of your new plugin. This becomes the folder name and is used in generated files. If not provided, you'll be prompted.</li>
</ul>
<p><strong>Example:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth create-plugin --plugin-name my-awesome-plugin</span><br></span></code></pre></div></div>
<p><strong>Result:</strong></p>
<p>Creates a folder with all the necessary files for your plugin and instructions for linking it into an AdminForth project.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="generate-models"><code>generate-models</code><a href="#generate-models" class="hash-link" aria-label="Direct link to generate-models" title="Direct link to generate-models" translate="no"></a></h3>
<blockquote>
<p>Generate TypeScript models from your AdminForth resources.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>generate-models</code> command scans the current working directory for a valid AdminForth instance and automatically generates a TypeScript file containing model type definitions for all defined resources. The <code>generate-models</code> command inspects the resource columns and maps them to appropriate TypeScript types.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth generate-models </span><span class="token punctuation" style="color:#f8f8f2">[</span><span class="token plain">--env-file</span><span class="token operator" style="color:#66d9ef">=</span><span class="token operator" style="color:#66d9ef"><</span><span class="token plain">path</span><span class="token operator" style="color:#66d9ef">></span><span class="token punctuation" style="color:#f8f8f2">]</span><br></span></code></pre></div></div>
<p><strong>Options:</strong></p>
<ul>
<li class=""><strong><code>--env-file=<path></code></strong>: (optional) Path to a custom <code>.env</code> file to load environment variables. Defaults to <code>.env</code>.</li>
</ul>
<p><strong>Example:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth generate-models --env-file</span><span class="token operator" style="color:#66d9ef">=</span><span class="token plain">.env.dev</span><br></span></code></pre></div></div>
<p><strong>Result:</strong></p>
<p>A file like this will be generated:</p>
<div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token keyword" style="color:#66d9ef">export</span><span class="token plain"> </span><span class="token keyword" style="color:#66d9ef">type</span><span class="token plain"> </span><span class="token class-name" style="color:#e6db74">User</span><span class="token plain"> </span><span class="token operator" style="color:#66d9ef">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#f8f8f2">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> id</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">number</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> name</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">string</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> email</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">string</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"></span><span class="token punctuation" style="color:#f8f8f2">}</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"></span><span class="token keyword" style="color:#66d9ef">export</span><span class="token plain"> </span><span class="token keyword" style="color:#66d9ef">type</span><span class="token plain"> </span><span class="token class-name" style="color:#e6db74">Product</span><span class="token plain"> </span><span class="token operator" style="color:#66d9ef">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#f8f8f2">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> id</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">number</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> title</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">string</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> price</span><span class="token operator" style="color:#66d9ef">:</span><span class="token plain"> </span><span class="token builtin" style="color:#e6db74">number</span><span class="token punctuation" style="color:#f8f8f2">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"></span><span class="token punctuation" style="color:#f8f8f2">}</span><span class="token punctuation" style="color:#f8f8f2">;</span><br></span></code></pre></div></div>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bundle"><code>bundle</code><a href="#bundle" class="hash-link" aria-label="Direct link to bundle" title="Direct link to bundle" translate="no"></a></h3>
<blockquote>
<p>Build the AdminForth Single Page Application (SPA) for production.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>bundle</code> command bundles the AdminForth front-end (SPA) using your current AdminForth instance. The <code>bundle</code> command calls the <code>bundleNow()</code> method from your AdminForth admin entry point.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth bundle</span><br></span></code></pre></div></div>
<p><strong>Output:</strong></p>
<p>The <code>bundle</code> command generates output files (typically JavaScript/CSS assets) in the directory configured by your AdminForth project (usually <code>dist</code> or <code>public</code>).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="component"><code>component</code><a href="#component" class="hash-link" aria-label="Direct link to component" title="Direct link to component" translate="no"></a></h3>
<p>The <code>component</code> command is an interactive CLI tool that scaffolds and injects Vue components into your AdminForth plugin.</p>
<p>The <code>component</code> command helps you generate:</p>
<ul>
<li class="">Custom field components (<code>fields</code>)</li>
<li class="">CRUD page injections (<code>crudPage</code>)</li>
<li class="">Login page injections (<code>login</code>)</li>
<li class="">Global UI injections (<code>global</code>)</li>
</ul>
<hr>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-custom-fields-fields">🔤 Custom Fields (<code>fields</code>)<a href="#-custom-fields-fields" class="hash-link" aria-label="Direct link to -custom-fields-fields" title="Direct link to -custom-fields-fields" translate="no"></a></h4>
<p>The <code>component fields</code> flow generates components for specific fields in views such as:</p>
<ul>
<li class=""><code>list</code></li>
<li class=""><code>show</code></li>
<li class=""><code>edit</code></li>
<li class=""><code>create</code></li>
<li class=""><code>filter</code></li>
</ul>
<p>The <code>component fields</code> flow prompts you to select a <strong>resource</strong>, then a <strong>column</strong>, and finally injects a file like:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">custom/UserEmailShow.vue</span><br></span></code></pre></div></div>
<p>The <code>component fields</code> flow auto-updates the config.</p>
<p>Usage shortcut:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth component fields.show.user.email</span><br></span></code></pre></div></div>
<hr>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-crud-page-injections-crudpage">➖ CRUD Page Injections (<code>crudPage</code>)<a href="#-crud-page-injections-crudpage" class="hash-link" aria-label="Direct link to -crud-page-injections-crudpage" title="Direct link to -crud-page-injections-crudpage" translate="no"></a></h4>
<p>The <code>component crudPage</code> flow adds components to entire CRUD pages (not just fields).</p>
<p>The <code>component crudPage</code> flow supports views:</p>
<ul>
<li class=""><code>list</code></li>
<li class=""><code>show</code></li>
<li class=""><code>edit</code></li>
<li class=""><code>create</code></li>
</ul>
<p>The <code>component crudPage</code> flow then asks:</p>
<ul>
<li class="">Where to inject (top, bottom, dropdown, etc.)</li>
<li class="">Optional name (e.g. "ExportButton")</li>
<li class="">Whether the component is "thin" (coexists with existing layout)</li>
</ul>
<p>Generated example:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">custom/OrderShowBottomExportButton.vue</span><br></span></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-login-page-injections-login">🔐 Login Page Injections (<code>login</code>)<a href="#-login-page-injections-login" class="hash-link" aria-label="Direct link to -login-page-injections-login" title="Direct link to -login-page-injections-login" translate="no"></a></h4>
<p>The <code>component login</code> flow places a component before or after the login form.</p>
<p>The <code>component login</code> flow prompts for:</p>
<ul>
<li class="">Injection type: <code>beforeLogin</code> or <code>afterLogin</code></li>
<li class="">Purpose (for naming)</li>
<li class="">Updates <code>index.ts</code> automatically</li>
</ul>
<p>Example file:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">custom/CustomLoginSocials.vue</span><br></span></code></pre></div></div>
<hr>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-global-injections-global">🌐 Global Injections (<code>global</code>)<a href="#-global-injections-global" class="hash-link" aria-label="Direct link to -global-injections-global" title="Direct link to -global-injections-global" translate="no"></a></h4>
<p>The <code>component global</code> flow injects into:</p>
<ul>
<li class=""><code>userMenu</code></li>
<li class=""><code>header</code></li>
<li class=""><code>sidebar</code></li>
<li class=""><code>everyPageBottom</code></li>
</ul>
<p>The <code>component global</code> flow asks for:</p>
<ul>
<li class="">Location</li>
<li class="">Description (for naming)</li>
</ul>
<p>Example:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">custom/CustomGlobalSupportLink.vue</span><br></span></code></pre></div></div>
<hr>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-notes">🛠️ Notes<a href="#️-notes" class="hash-link" aria-label="Direct link to 🛠️ Notes" title="Direct link to 🛠️ Notes" translate="no"></a></h4>
<ul>
<li class="">All components are placed under a <code>custom/</code> folder</li>
<li class="">Code uses Handlebars templates (<code>.vue.hbs</code>)</li>
<li class="">Config file <code>index.ts</code> must exist and export <code>admin</code></li>
</ul>
<p>If the generated component file already exists, the <code>component</code> command shows a warning and does not overwrite the existing file.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="resource"><code>resource</code><a href="#resource" class="hash-link" aria-label="Direct link to resource" title="Direct link to resource" translate="no"></a></h3>
<blockquote>
<p>Generate and register a new AdminForth resource based on an existing database table.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>resource</code> command helps you scaffold a new resource file for a selected table in your database and automatically integrates it into the AdminForth application. The <code>resource</code> command fetches available tables, lets you select one interactively, generates a corresponding resource file using a template, and injects the result into your application’s index file.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">pnpx adminforth resource</span><br></span></code></pre></div></div>
<p><strong>Result:</strong></p>
<ul>
<li class="">Prompts the user to select a table, such as <code>users</code>, from the available databases.</li>
<li class="">Creates a file like <code>resources/users.ts</code> (or <code>users_maindb.ts</code> if needed).</li>
<li class="">Injects this resource into the application’s <code>index.ts</code> file.</li>
<li class="">Adds a navigation menu item with label "Users" and default icon.</li>
</ul>
<p><strong>Example Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">🔍 Choose a table to generate a resource for:</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">> maindb.users</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> maindb.posts</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">✅ Generated resource file: ./resources/users.ts</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">✅ Injected resource "users" into index</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="help---help--h"><code>help</code> <code>--help</code> <code>-h</code><a href="#help---help--h" class="hash-link" aria-label="Direct link to help---help--h" title="Direct link to help---help--h" translate="no"></a></h3>
<blockquote>
<p>Display a list of all available AdminForth CLI commands.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>help</code> command outputs a summary of all supported AdminForth commands in the terminal with brief descriptions. The <code>help</code> command is useful as a quick reference for developers to understand what functionality is available.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">adminforth </span><span class="token builtin class-name" style="color:#e6db74">help</span><br></span></code></pre></div></div>
<p><strong>Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">Available commands:</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> create-app Create a new AdminForth app</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> create-plugin Create a plugin for your AdminForth app</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> generate-models Generate TypeScript models from your databases</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> bundle Bundles your AdminForth app SPA for production</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> component Scaffold a custom Vue component</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> resource Scaffold a custom resource</span><br></span></code></pre></div></div>
<p>The <code>help</code> output is typically displayed by running <code>adminforth</code> with no arguments or explicitly running <code>adminforth help</code>.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="version---version--v"><code>version</code> <code>--version</code> <code>-v</code><a href="#version---version--v" class="hash-link" aria-label="Direct link to version---version--v" title="Direct link to version---version--v" translate="no"></a></h3>
<blockquote>
<p>Show the current version of the AdminForth CLI.</p>
</blockquote>
<p><strong>Description:</strong></p>
<p>The <code>version</code> command displays the version number of the currently installed AdminForth CLI. The <code>version</code> command is useful for verifying which version you are using, especially when troubleshooting or checking compatibility.</p>
<p><strong>Usage:</strong></p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">adminforth version</span><br></span></code></pre></div></div>
<p><strong>Example Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">AdminForth CLI version: 1.6.2</span><br></span></code></pre></div></div></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_WFHX"></div><div class="col lastUpdated_JAkA"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2026-08-17T05:01:16.000Z" itemprop="dateModified">Aug 17, 2026</time></b></span></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="/docs/tutorial/Adapters/chat-surface-adapter-telegram/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Telegram Chat Surface Adapter</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/tutorial/UsageOfLogger/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Usage of the logger</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#usage" class="table-of-contents__link toc-highlight">Usage</a></li><li><a href="#commands" class="table-of-contents__link toc-highlight">Commands</a><ul><li><a href="#create-app" class="table-of-contents__link toc-highlight"><code>create-app</code></a></li><li><a href="#create-plugin" class="table-of-contents__link toc-highlight"><code>create-plugin</code></a></li><li><a href="#generate-models" class="table-of-contents__link toc-highlight"><code>generate-models</code></a></li><li><a href="#bundle" class="table-of-contents__link toc-highlight"><code>bundle</code></a></li><li><a href="#component" class="table-of-contents__link toc-highlight"><code>component</code></a></li><li><a href="#resource" class="table-of-contents__link toc-highlight"><code>resource</code></a></li><li><a href="#help---help--h" class="table-of-contents__link toc-highlight"><code>help</code> <code>--help</code> <code>-h</code></a></li><li><a href="#version---version--v" class="table-of-contents__link toc-highlight"><code>version</code> <code>--version</code> <code>-v</code></a></li></ul></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="/docs/tutorial/gettingStarted/">Tutorial</a></li><li class="footer__item"><a href="https://demo.adminforth.dev/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Live Demo</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/api/">API</a></li><li class="footer__item"><a class="footer__link-item" href="/blog/archive/">Blog Archive</a></li><li class="footer__item"><a class="footer__link-item" href="/search/">Find anything</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://devforth.io" target="_blank" rel="noopener noreferrer" class="footer__link-item">DevForth.io<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://devforth.io/contact" target="_blank" rel="noopener noreferrer" class="footer__link-item">We can develop admin panel for your project<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/devforth/adminforth" 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_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Devforth sp. z o.o.</div></div></div></footer></div>
</body>
</html>