stacks 0.59.6 → 0.59.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +179 -196
- package/buddy/README.md +143 -135
- package/buddy/package.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
|
-
# Rapid App Development
|
|
3
|
+
# Rapid App & Library Development
|
|
4
4
|
|
|
5
5
|
[![npm version][npm-version-src]][npm-version-href]
|
|
6
6
|
[![GitHub Actions][github-actions-src]][github-actions-href]
|
|
@@ -8,131 +8,64 @@
|
|
|
8
8
|
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
9
9
|
<!-- [![Codecov][codecov-src]][codecov-href] -->
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
> [!WARNING]
|
|
12
|
+
> Stay tuned. Open Beta coming soon.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
Stacks is a rapid development framework, where the goal is to _help you_ create & maintain frontends, backends, and clouds—without having to worry about the boilerplate. _An all-in-one toolkit that meets all your full stack needs._
|
|
14
15
|
|
|
15
|
-
- Web & Desktop
|
|
16
|
-
- Serverless &
|
|
17
|
-
- Cloud
|
|
16
|
+
- Web & Desktop Applications _(including system tray apps)_
|
|
17
|
+
- Serverless & Traditional APIs
|
|
18
|
+
- Cloud Infrastructure Creation & Maintenance
|
|
18
19
|
- Interactive CLIs
|
|
19
|
-
- Framework-agnostic
|
|
20
|
+
- Framework-agnostic Component & Function Libraries
|
|
20
21
|
- Deployment & Release Manager _(CI & CD)_
|
|
21
22
|
|
|
22
|
-
Stacks helps you every step along the way—in beginner & expert-friendly ways, allowing you to focus on the
|
|
23
|
+
In other words, Stacks helps you, as a developer, every step along the way—in beginner & expert-friendly ways, allowing you to focus on the _what & why_ of your project, all while enabling you to always stay in control & ownership of your _(& your user’s)_ data.
|
|
23
24
|
|
|
24
25
|
> “Convention over configuration” is the Stacks mantra. _- Chris_
|
|
25
26
|
|
|
26
27
|
<!--  -->
|
|
27
28
|
|
|
28
|
-
## Features
|
|
29
|
-
|
|
30
|
-
The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:
|
|
31
|
-
|
|
32
|
-
### Stacks UI
|
|
33
|
-
|
|
34
|
-
_Develop dynamic UIs with helpers for atomic design, and much more._
|
|
35
|
-
|
|
36
|
-
- 🧩 **Components** _a primitive to develop user interfaces_
|
|
37
|
-
- 🤖 **Functions** _a primitive to develop business logic (and grant your UI superpowers)_
|
|
38
|
-
- 🌐 **Web** _"a routing & templating engine that makes sense" using components—SSG & PWA ready_
|
|
39
|
-
- 🖥️ **Desktop** _automagically build a desktop app out of your web app_
|
|
40
|
-
- 📚 **Library** _auto-builds component & function libraries_
|
|
41
|
-
- ⚡️ Powered by Bun, Nitro, Tauri, UnoCSS, Vite & Vue
|
|
42
|
-
|
|
43
|
-
### Stacks Functions
|
|
44
|
-
|
|
45
|
-
_Develop serverless (or server) functions with countless helpers to build scalable & fast APIs._
|
|
46
|
-
|
|
47
|
-
- 🪄 **AI** _deep AI integration_
|
|
48
|
-
- 🤖 **APIs** _scalability & maintainability built-in_
|
|
49
|
-
- 🏎️ **Cache** _Redis, DynamoDB, Upstash, SingleStore, and more—serverless_
|
|
50
|
-
- ⚙️ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac—without requirements_
|
|
51
|
-
- 📀 **Database** _MySQL, Postgres, PlanetScale, Supabase, Prisma, ..._
|
|
52
|
-
- 👾 **Errors** _native type-safe error handling_
|
|
53
|
-
- 🗓️ **Events** _functional event (front & backend) communication_
|
|
54
|
-
- 📢 **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
55
|
-
- 🗺️ **ORM** _supercharged, fully-typed models & relations (including automated migrations)_
|
|
56
|
-
- 💳 **Payments** _unified API for one-off & subscription billing methods for Stripe_
|
|
57
|
-
- ⚙️ **Queues** _run any heavy workload in the background_
|
|
58
|
-
- 🛠️ **Query Builder** _powerful, type-safe SQL query builder_
|
|
59
|
-
- 💬 **Realtime** _“everything you need to build dynamic real-time apps”_
|
|
60
|
-
- 🧭 **Router** _smart routing, file-based or Laravel-like_
|
|
61
|
-
- 🔎 **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
62
|
-
- 💾 **Storage** _easily create & make use of local & remote storages/file systems_
|
|
63
|
-
- 🧪 **Tinker** _a powerful TypeScript REPL_
|
|
64
|
-
- 🌪️ **Validation** _e2e type-safety (true frontend & backend harmony)_
|
|
65
|
-
- 🎯 **X-Ray** _all you need to debug, log & analyze_
|
|
66
|
-
|
|
67
|
-
### Stacks Cloud
|
|
68
|
-
|
|
69
|
-
_Create your personal or professional Vercel-like cloud, based on MIT-licensed OSS._
|
|
70
|
-
|
|
71
|
-
- ☁️ **Server** _local development server & production-ready servers_
|
|
72
|
-
- ⛅️ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
73
|
-
- 🚏 **CDN** _zero-config low-latency CDN, including request life-cycle hooks & optimized request compressions (Brotli & gzip)_
|
|
74
|
-
- 🔀 **Domain** _version-controlled & zero-config domain management (e.g. DNS management)_
|
|
75
|
-
- 📧 **Email** _secure & simplistic <easy-peasy@custom-domains.com> mail_
|
|
76
|
-
- 🔐 **Firewall** _native web application firewall support_
|
|
77
|
-
- 🚜 **Maintenance** _maintain your cloud infrastructure with ease using Buddy & Stacks_
|
|
78
|
-
- 🤖 **Infrastructure as Code** _version-controlled cloud infrastructure_
|
|
79
|
-
|
|
80
|
-
### Stacks CI/CD
|
|
81
|
-
|
|
82
|
-
_Focus on coding, not publishing._
|
|
83
|
-
|
|
84
|
-
- 🚀 **Deployment Manager** _take the sweat out of production deployments (AWS, Vercel, Netlify, and more)_
|
|
85
|
-
- 📫 **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
86
|
-
|
|
87
|
-
### Stacks DX
|
|
88
|
-
|
|
89
|
-
_Enhanced productivity for developers. No more creating boilerplate._
|
|
90
|
-
|
|
91
|
-
- 💡 **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
92
|
-
- 🪄 **Zero-Config** _yet highly configurable—convention over configuration_
|
|
93
|
-
- 👩🏽🔧 **Linter & Formatter** _auto-configured & built into your IDE_
|
|
94
|
-
- 💪🏼 **Type Strong** _built-in e2e type-safety_
|
|
95
|
-
- ✨ **Git Workflows** _committing with ease_
|
|
96
|
-
- 🚗 **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
97
|
-
- ⏩ **Code Snippets** _say goodbye to the boilerplate—thank you Sarah Drasner_
|
|
98
|
-
- 🔤 **Spell Checker** _be notified once there are typos_
|
|
99
|
-
- 🛠️ **Utilities** _Collections, VueUse, and more_
|
|
100
|
-
- 🧪 **Testing** _unit & e2e tests powered by Bun & Playwright_
|
|
101
|
-
|
|
102
|
-
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
103
|
-
|
|
104
|
-
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScript—that's all you need to dive in now! _Or TypeScript ✌🏼_
|
|
105
|
-
|
|
106
|
-
> _A true rapid application development framework for all Full Stack needs. Next-level simplicity & helpful DX._
|
|
107
|
-
|
|
108
29
|
## Get Started
|
|
109
30
|
|
|
110
|
-
It
|
|
31
|
+
It’s incredibly easy to get started with this framework. Simply run the following command in your terminal:
|
|
111
32
|
|
|
112
33
|
```bash
|
|
113
|
-
curl -Ssf stacksjs.org | sh # wip
|
|
34
|
+
curl -Ssf stacksjs.org/install | sh # wip
|
|
114
35
|
|
|
115
|
-
# alternatively, if
|
|
36
|
+
# alternatively, if Bun >= v1.0.30 is installed already,
|
|
116
37
|
# you may also get started via:
|
|
117
38
|
bunx stacks new my-project
|
|
118
39
|
```
|
|
119
40
|
|
|
120
|
-
##
|
|
41
|
+
## Usage
|
|
121
42
|
|
|
122
|
-
The following list includes some of the most common ways to interact with the Stacks API.
|
|
43
|
+
The following list includes some of the most common ways to interact with the Stacks API.
|
|
44
|
+
|
|
45
|
+
_Meet the toolkit, Buddy:_
|
|
123
46
|
|
|
124
47
|
```bash
|
|
125
48
|
buddy install # installs all dependencies
|
|
126
|
-
buddy dev # starts one of the dev servers (components,
|
|
49
|
+
buddy dev # starts one of the dev servers (frontend, API, components, docs, desktop, etc.)
|
|
50
|
+
buddy share # creates a sharable link of your local project
|
|
127
51
|
buddy build # follow CLI prompts to select which library (or server) to build
|
|
128
52
|
buddy commit # follow CLI prompts for committing changes
|
|
129
53
|
buddy release # creates the releases for the stack & consequently, publishes them to npm
|
|
130
54
|
buddy upgrade # auto-update all deps & the Stacks framework
|
|
131
55
|
|
|
132
|
-
buddy make:component HelloWorld # scaffolds a
|
|
133
|
-
buddy make:function HelloWorld # scaffolds a
|
|
134
|
-
buddy make:
|
|
135
|
-
|
|
56
|
+
buddy make:component HelloWorld # scaffolds a Component
|
|
57
|
+
buddy make:function HelloWorld # scaffolds a Function
|
|
58
|
+
buddy make:model Car # scaffolds a Model
|
|
59
|
+
buddy make:action UpdateCar # scaffolds an Action
|
|
60
|
+
buddy make:migration create_cars_table # scaffolds a Migration
|
|
61
|
+
buddy make:view Car # scaffolds a Page (https://my-project.test/car)
|
|
62
|
+
buddy make:command Inspire # scaffolds a Command
|
|
63
|
+
buddy make:job SendEmail # scaffolds a Job
|
|
64
|
+
buddy make:middleware Logger # scaffolds a new Middleware
|
|
65
|
+
buddy make:notification WelcomeEmail # scaffolds a Notification
|
|
66
|
+
buddy make:lang de # scaffolds a language file
|
|
67
|
+
|
|
68
|
+
buddy list # lists all available commands
|
|
136
69
|
buddy --help
|
|
137
70
|
```
|
|
138
71
|
|
|
@@ -149,25 +82,36 @@ buddy install # installs dependencies
|
|
|
149
82
|
buddy add # adds a stack or dependency
|
|
150
83
|
buddy fresh # fresh reinstall of all deps
|
|
151
84
|
buddy clean # removes all deps
|
|
85
|
+
buddy setup # sets up the project initially
|
|
86
|
+
buddy setup:oh-my-zsh # optional: sets up Oh My Zsh with auto-completions & "aliases"
|
|
152
87
|
|
|
153
|
-
buddy upgrade #
|
|
154
|
-
buddy upgrade
|
|
88
|
+
buddy upgrade # upgrades all dependencies
|
|
89
|
+
buddy upgrade -i # prompts you to select which updates to apply (wip)
|
|
90
|
+
buddy upgrade:dependencies # auto-upgrades package.json deps
|
|
155
91
|
buddy upgrade:framework # auto-upgrades deps & the Stacks framework
|
|
156
92
|
buddy upgrade:search-engine # auto-upgrades configured search engine
|
|
93
|
+
buddy upgrade:shell # upgrades the shell integration
|
|
94
|
+
buddy upgrade:binary # upgrades the `stacks` binary
|
|
157
95
|
buddy upgrade:bun # upgrades to latest project-defined Bun version
|
|
158
|
-
buddy upgrade:all # upgrades
|
|
96
|
+
buddy upgrade:all # auto-upgrades all of the above
|
|
159
97
|
|
|
160
98
|
# if you need any more info on any command listed here, you may suffix
|
|
161
99
|
# any of them via the "help option", i.e. `buddy ... --help`
|
|
162
100
|
|
|
163
|
-
buddy dev # starts
|
|
164
|
-
buddy dev
|
|
165
|
-
buddy dev:
|
|
166
|
-
buddy dev:
|
|
167
|
-
buddy dev:
|
|
101
|
+
buddy dev # starts the frontend dev server
|
|
102
|
+
buddy dev -i # prompts any of the dev servers (components, functions, views, docs, or api)
|
|
103
|
+
buddy dev:api # starts the API dev server
|
|
104
|
+
buddy dev:dashboard # starts the Admin/Dashboard dev server
|
|
105
|
+
buddy dev:desktop # starts the Desktop dev server
|
|
106
|
+
buddy dev:views # starts frontend dev server
|
|
107
|
+
buddy dev:components # starts component dev server
|
|
108
|
+
buddy dev:functions # stubs functions
|
|
168
109
|
buddy dev:docs # starts local docs dev server
|
|
110
|
+
buddy dev docs # also starts the local docs dev server (colon is optional for all commands)
|
|
169
111
|
buddy development # `buddy dev` alias
|
|
170
112
|
|
|
113
|
+
buddy share # creates a sharable link to your local project
|
|
114
|
+
|
|
171
115
|
# for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:
|
|
172
116
|
buddy serve
|
|
173
117
|
buddy serve:components
|
|
@@ -210,11 +154,32 @@ buddy make:database cars # creates a cars database
|
|
|
210
154
|
buddy make:migration create_cars_table # creates a cars migration file
|
|
211
155
|
buddy make:factory cars # creates a Car factory file
|
|
212
156
|
buddy make:seed cars # creates a Car seed file
|
|
213
|
-
buddy make:table cars #
|
|
157
|
+
buddy make:table cars # bootstraps a cars data table
|
|
214
158
|
buddy make:notification welcome-email # bootstraps a welcome-email notification
|
|
215
159
|
buddy make:lang de # bootstraps a lang/de.yml language file
|
|
216
160
|
buddy make:stack my-project # shares logic with `bunx stacks new my-project`
|
|
217
161
|
|
|
162
|
+
buddy migrate # runs database migrations
|
|
163
|
+
buddy migrate:dns # sets the ./config/dns.ts file
|
|
164
|
+
|
|
165
|
+
buddy dns example.com # list all DNS records for example.com
|
|
166
|
+
buddy dns example.com --type MX # list MX records for example.com (proxies dog)
|
|
167
|
+
|
|
168
|
+
buddy https httpie.io/hello
|
|
169
|
+
# http [flags] [METHOD] URL [ITEM [ITEM]]
|
|
170
|
+
buddy http --help
|
|
171
|
+
buddy http PUT pie.dev/put X-API-Token:123 name=John # Custom HTTP method, HTTP headers and JSON data
|
|
172
|
+
buddy http -v pie.dev/get # See the request that is being sent using one of the output options
|
|
173
|
+
buddy http -f POST pie.dev/post hello=World # submitting forms
|
|
174
|
+
buddy http --offline pie.dev/post hello=offline
|
|
175
|
+
buddy http -a USERNAME POST https://api.github.com/repos/httpie/cli/issues/83/comments body='HTTPie is awesome! :heart:'
|
|
176
|
+
buddy http pie.dev/post < files/data.json
|
|
177
|
+
buddy http pie.dev/image/png > image.png
|
|
178
|
+
buddy http --download pie.dev/image/png
|
|
179
|
+
buddy http --session=logged-in -a username:password pie.dev/get API-Key:123
|
|
180
|
+
buddy http --session=logged-in pie.dev/headers
|
|
181
|
+
buddy http localhost:8000 Host:example.com
|
|
182
|
+
|
|
218
183
|
buddy lint # runs linter
|
|
219
184
|
buddy lint:fix # runs linter and fixes issues
|
|
220
185
|
|
|
@@ -224,18 +189,24 @@ buddy changelog # generates CHANGELOG.md
|
|
|
224
189
|
|
|
225
190
|
# when deploying your app/s to a remote server or cloud provider
|
|
226
191
|
buddy deploy # select a specific deployment (follow CLI prompts)
|
|
227
|
-
buddy deploy:docs # deploys docs to AWS (or other configured provider)
|
|
228
|
-
buddy deploy:functions # deploys functions to AWS (or other configured provider)
|
|
229
|
-
buddy deploy:views # deploys views to AWS (or other configured provider)
|
|
230
|
-
buddy deploy:all # deploys all your code
|
|
192
|
+
# buddy deploy:docs # deploys docs to AWS (or other configured provider)
|
|
193
|
+
# buddy deploy:functions # deploys functions to AWS (or other configured provider)
|
|
194
|
+
# buddy deploy:views # deploys views to AWS (or other configured provider)
|
|
195
|
+
# buddy deploy:all # deploys all your code
|
|
196
|
+
buddy undeploy # be careful: "undeploys" removes/deletes your deployed resources
|
|
197
|
+
|
|
198
|
+
buddy cloud:remove # removes cloud setup
|
|
199
|
+
buddy cloud:cleanup # removes cloud setup & cleans up all potentially leftover resources
|
|
200
|
+
buddy cloud:add --jump-box # adds a jump box to your cloud setup
|
|
231
201
|
|
|
232
202
|
# select the example to run (follow CLI prompts)
|
|
233
203
|
buddy example # prompts you to select which example to run
|
|
234
204
|
buddy example:vue # runs the Vue example
|
|
235
205
|
buddy example:web-components # runs the Web Component example
|
|
236
206
|
|
|
237
|
-
# you likely won
|
|
207
|
+
# you likely won’t need to run these commands as they are auto-triggered, but they are available
|
|
238
208
|
buddy generate # prompts you to select which generator to run
|
|
209
|
+
buddy generate:types # generates types for your components, functions, & views
|
|
239
210
|
buddy generate:entries # generates entry files for components, functions, & views
|
|
240
211
|
buddy generate:web-types # generates Web Component types
|
|
241
212
|
buddy generate:vscode-custom-data # generates VSCode custom data
|
|
@@ -250,6 +221,13 @@ buddy key:generate # generates your application key
|
|
|
250
221
|
buddy types:generate # generates types for your components, functions, & views
|
|
251
222
|
buddy types:fix # auto-fixes types for your components, functions, & views
|
|
252
223
|
|
|
224
|
+
buddy domains # alias for `buddy domains:list`
|
|
225
|
+
buddy domains:add stacksjs.org # adds a domain
|
|
226
|
+
buddy domains:remove stacksjs.org # removes a domain
|
|
227
|
+
buddy domains:list # lists all domains
|
|
228
|
+
buddy domains:update # apply ./config/dns.ts updates
|
|
229
|
+
buddy domains:purchase stacksjs.org # purchase a new domain
|
|
230
|
+
|
|
253
231
|
# test your stack
|
|
254
232
|
buddy test # runs test suite (unit & e2e)
|
|
255
233
|
buddy test:coverage # runs test coverage
|
|
@@ -260,119 +238,116 @@ buddy test:types # runs typecheck
|
|
|
260
238
|
stx fresh
|
|
261
239
|
buddy fresh
|
|
262
240
|
bud fresh
|
|
263
|
-
buddy fresh
|
|
264
241
|
```
|
|
265
242
|
|
|
266
243
|
</details>
|
|
267
244
|
|
|
268
245
|
Read more here about the Stacks CLI in the documentation.
|
|
269
246
|
|
|
270
|
-
##
|
|
271
|
-
|
|
272
|
-
Because Stacks optimizes the development of easily reusable & composable component & function libraries, the primary intention is to always _keep it simple, yet configurable._
|
|
273
|
-
|
|
274
|
-
By default, Stacks realizes whether your Stack includes components, functions, and/or views. Based on that determination, Stacks builds your outputs.
|
|
275
|
-
|
|
276
|
-
The UI libraries that automatically get built are: a Web Component (Custom Elements) & Vue Component library.
|
|
277
|
-
|
|
278
|
-
<details>
|
|
279
|
-
<summary>Web Component usage</summary>
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
npm install my-awesome-library
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
After you installed your Stacks generated library, you can use a "Custom Element" (Web Component) in the following way:
|
|
286
|
-
|
|
287
|
-
```html
|
|
288
|
-
<html>
|
|
289
|
-
<body>
|
|
290
|
-
<hello-world name="Jane Doe"></hello-world>
|
|
291
|
-
<script src="my-awesome-library.js"></script>
|
|
292
|
-
</body>
|
|
293
|
-
</html>
|
|
294
|
-
```
|
|
247
|
+
## Features
|
|
295
248
|
|
|
296
|
-
|
|
249
|
+
The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:
|
|
297
250
|
|
|
298
|
-
|
|
299
|
-
<summary>Vue 2 & 3 usage</summary>
|
|
251
|
+
### Frontend Development
|
|
300
252
|
|
|
301
|
-
|
|
302
|
-
npm install my-awesome-library
|
|
303
|
-
```
|
|
253
|
+
_Develop dynamic UIs with helpers for atomic design, and much more._
|
|
304
254
|
|
|
305
|
-
|
|
255
|
+
- 🧩 **Components** _primitive to develop user interfaces_
|
|
256
|
+
- 🤖 **Functions** _primitive to develop business logic (and grant your UI superpowers)_
|
|
257
|
+
- 🎨 **UI Kit** _modern & deeply-integrated components_
|
|
258
|
+
- 🌐 **Web** _“a routing & templating engine that makes sense”_
|
|
259
|
+
- 🖥️ **Desktop** _transforms your web app into a desktop app, plus more_
|
|
260
|
+
- 📝 **Documentation** _markdown-based documentation, auto-generated_
|
|
261
|
+
- 📚 **Library** _auto-builds & manages component & function libraries_
|
|
262
|
+
- ⚡️ Powered by Bun, Nitro, Tauri, UnoCSS, Vite & Vue
|
|
306
263
|
|
|
307
|
-
|
|
308
|
-
<script setup lang="ts">
|
|
309
|
-
import HelloWorld from 'my-awesome-library'
|
|
310
|
-
</script>
|
|
264
|
+
### Backend Development
|
|
311
265
|
|
|
312
|
-
|
|
313
|
-
<HelloWorld name="J Doe" />
|
|
314
|
-
</template>
|
|
315
|
-
```
|
|
266
|
+
_Develop serverless (or server) functions with countless helpers to build scalable & fast APIs._
|
|
316
267
|
|
|
317
|
-
|
|
268
|
+
- 🪄 **AI** _deep AI integrations & foundational model access_
|
|
269
|
+
- 🤖 **APIs** _scalability & maintainability built-in_
|
|
270
|
+
- 🏎️ **Cache** _Redis, DynamoDB, and more—serverless_
|
|
271
|
+
- ⚙️ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac (dependency-free binaries)_
|
|
272
|
+
- 📀 **Database** _SQLite, MySQL, Postgres, and more_
|
|
273
|
+
- 👾 **Errors** _native type-safe error handling_
|
|
274
|
+
- 🗓️ **Events** _functional event (front & backend) communication_
|
|
275
|
+
- 📢 **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
276
|
+
- 🗺️ **ORM** _supercharged, fully-typed models & relations (including automated migrations)_
|
|
277
|
+
- 💳 **Payments** _unified API for one-off & subscription billing methods for Stripe_
|
|
278
|
+
- ⚙️ **Queues** _run any heavy workload in the background_
|
|
279
|
+
- 🛠️ **Query Builder** _powerful, type-safe SQL query builder_
|
|
280
|
+
- 💬 **Realtime** _“everything you need to build dynamic real-time apps”_
|
|
281
|
+
- 🧭 **Router** _smart routing, file-based or Laravel-like_
|
|
282
|
+
- 🔎 **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
283
|
+
- 💾 **Storage** _a secure-by-default File API that feels right_
|
|
284
|
+
- 🧪 **Tinker** _a powerful TypeScript REPL_
|
|
285
|
+
- 🌪️ **Validation** _e2e type-safety (true frontend & backend harmony)_
|
|
286
|
+
- 🎯 **X-Ray** _all you need to debug, log & analyze_
|
|
318
287
|
|
|
319
|
-
|
|
288
|
+
### Cloud Development
|
|
320
289
|
|
|
321
|
-
|
|
322
|
-
<summary>Functions usage</summary>
|
|
290
|
+
_Develop & maintain cloud infrastructure with ease. “Imagine Vercel, Vapor and Forge having been unified.”_
|
|
323
291
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
292
|
+
- ☁️ **Server** _local development server & production-ready servers out-of-the-box_
|
|
293
|
+
- ⛅️ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
294
|
+
- ⏰ **Alarms** _built-in cloud infrastructure monitoring to avoid surprises_
|
|
295
|
+
- 🚏 **CDN** _zero-config, low-latency, request life-cycle hooks, optimized request compressions (Brotli & gzip)_
|
|
296
|
+
- 🔀 **Domain** _version-controlled & zero-config domain management (e.g. DNS management)_
|
|
297
|
+
- 🤖 **AI** _fine-tune a foundational model using your application data_
|
|
298
|
+
- 📧 **Email** _secure & zero-setup <easy-peasy@custom-domains.com> mailboxes_
|
|
299
|
+
- 🔐 **Firewall** _native web application firewall support_
|
|
300
|
+
- 📦 **Storage** _unlimited cloud storage & automatic backups_
|
|
301
|
+
- 🚜 **Maintenance** _maintain your cloud infrastructure with ease using Buddy & Stacks_
|
|
302
|
+
- 🚦 **Infrastructure as Code** _version-controlled cloud infrastructure (AWS, Google next?)_
|
|
327
303
|
|
|
328
|
-
|
|
304
|
+
### CI/CD
|
|
329
305
|
|
|
330
|
-
|
|
331
|
-
import { count, increment } from 'hello-world-fx'
|
|
306
|
+
_Focus on coding, not publishing._
|
|
332
307
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
```
|
|
308
|
+
- 🚀 **Deployment Manager** _takes the sweat out of production deployments—zero-setup push-to-deploy_
|
|
309
|
+
- 0️⃣ **Zero Downtime** _deploy with confidence using a zero-downtime deployment strategy_
|
|
310
|
+
- 📫 **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
337
311
|
|
|
338
|
-
|
|
312
|
+
### Developer Experience (DX)
|
|
339
313
|
|
|
340
|
-
|
|
314
|
+
Convention over configuration, while staying wholly configurable. _No more boilerplate._
|
|
341
315
|
|
|
342
|
-
|
|
316
|
+
- 💎 **Automated Upgrades** _no need to worry about upgrading to the latest versions, Stacks upgrades you_
|
|
317
|
+
- 🦋 **Pretty Dev URLs** _your-project.localhost instead of localhost:3000_
|
|
318
|
+
- 💡 **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
319
|
+
- 🪄 **Zero-Config** _yet highly configurable—convention over configuration_
|
|
320
|
+
- 💅 **Linter & Formatter** _auto-configured & built into your IDE_
|
|
321
|
+
- 💪🏼 **Type Strong** _built-in e2e type-safety_
|
|
322
|
+
- ✨ **Git Workflows** _committing with ease_
|
|
323
|
+
- 🚗 **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
324
|
+
- ⏩ **Code Snippets** _goodbye to the boilerplate code—thank you Sarah Drasner_
|
|
325
|
+
- 🔤 **Spell Checker** _be notified once there are typos_
|
|
326
|
+
- 🛠️ **Essential Utilities** _powers at your fingertips. Collections, VueUse, and more_
|
|
327
|
+
- 👥 **Team Management** _manage your team & their permissions_
|
|
328
|
+
- 🧪 **Streamlined Testing** _unit & e2e tests powered by Bun, Vitest & Playwright_
|
|
343
329
|
|
|
344
|
-
|
|
330
|
+
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
345
331
|
|
|
346
|
-
|
|
347
|
-
- [Calendar](https://github.com/stacksjs/calendar) (Add to Calendar utilities—iCal, Google, and more)
|
|
348
|
-
- [Command Palette](https://github.com/stacksjs/command-palette) (`⌘ + k` for the web)
|
|
349
|
-
- [Date Picker](https://github.com/stacksjs/date-picker) (Beautiful, modern date picker)
|
|
350
|
-
- [File Manager](https://github.com/stacksjs/file-manager) (Build your own file manager—like Dropbox or Google Drive)
|
|
351
|
-
- [Image](https://github.com/stacksjs/image) (Modern image experience)
|
|
352
|
-
- [Video](https://github.com/stacksjs/video) (Modern video experience)
|
|
353
|
-
- [Audio](https://github.com/stacksjs/audio) (Modern audio experience)
|
|
354
|
-
- [Identity](https://github.com/stacksjs/identity) (Identity providers & wallet integrations)
|
|
355
|
-
- [Digital Ownership](https://github.com/stacksjs/ownership) (Public ownership protocol integrations)
|
|
356
|
-
- [Payments](https://github.com/stacksjs/payments) (Unified payment APIs)
|
|
357
|
-
- [Governance](https://github.com/stacksjs/governance) (Powerful toolkit for democratic governance)
|
|
332
|
+
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScript—that’s all you need to dive in now! _Or TypeScript ✌🏼_
|
|
358
333
|
|
|
359
|
-
|
|
334
|
+
> _An actual rapid application development framework for all Full Stack needs. Next-level simplicity & DX._
|
|
360
335
|
|
|
361
|
-
##
|
|
336
|
+
## Testing
|
|
362
337
|
|
|
363
338
|
```bash
|
|
364
|
-
|
|
339
|
+
./buddy test
|
|
365
340
|
```
|
|
366
341
|
|
|
367
|
-
##
|
|
342
|
+
## Changelog
|
|
368
343
|
|
|
369
344
|
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
370
345
|
|
|
371
|
-
##
|
|
346
|
+
## Contributing
|
|
372
347
|
|
|
373
348
|
Please see the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
374
349
|
|
|
375
|
-
##
|
|
350
|
+
## Community
|
|
376
351
|
|
|
377
352
|
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
378
353
|
|
|
@@ -382,19 +357,27 @@ For casual chit-chat with others using this package:
|
|
|
382
357
|
|
|
383
358
|
[Join the Stacks Discord Server](https://discord.gg/stacksjs)
|
|
384
359
|
|
|
385
|
-
##
|
|
360
|
+
## Postcardware
|
|
361
|
+
|
|
362
|
+
Two things are true: Stacks OSS will always stay open-source, and we do/would love to receive postcards from wherever Stacks is used! 🌍 _And we also publish them on our website. -Thank you, Spatie_
|
|
386
363
|
|
|
387
|
-
|
|
364
|
+
Our address: Stacks.js, 5710 Crescent Park #107, Playa Vista 90094, CA, USA
|
|
388
365
|
|
|
389
|
-
##
|
|
366
|
+
## Sponsors
|
|
390
367
|
|
|
391
|
-
|
|
368
|
+
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
|
|
369
|
+
|
|
370
|
+
- [JetBrains](https://www.jetbrains.com/)
|
|
371
|
+
- [The Solana Foundation](https://solana.com/)
|
|
372
|
+
|
|
373
|
+
## Credits
|
|
392
374
|
|
|
393
375
|
- [Chris Breuer](https://github.com/chrisbbreuer)
|
|
394
|
-
- [Dan Scanlon](https://twitter.com/danscan) _many thanks for donating the `stacks` name on npm_
|
|
395
376
|
- [All Contributors](../../contributors)
|
|
396
377
|
|
|
397
|
-
|
|
378
|
+
And a special thanks to [Dan Scanlon](https://twitter.com/danscan) for donating the `stacks` name on npm ✨
|
|
379
|
+
|
|
380
|
+
## License
|
|
398
381
|
|
|
399
382
|
The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.
|
|
400
383
|
|
package/buddy/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
# Rapid App & Library Development
|
|
4
4
|
|
|
@@ -8,138 +8,64 @@
|
|
|
8
8
|
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
9
9
|
<!-- [![Codecov][codecov-src]][codecov-href] -->
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
> [!WARNING]
|
|
12
|
+
> Stay tuned. Open Beta coming soon.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
Stacks is a rapid development framework, where the goal is to _help you_ create & maintain frontends, backends, and clouds—without having to worry about the boilerplate. _An all-in-one toolkit that meets all your full stack needs._
|
|
14
15
|
|
|
15
|
-
- Web & Desktop
|
|
16
|
-
- Serverless &
|
|
17
|
-
- Cloud
|
|
16
|
+
- Web & Desktop Applications _(including system tray apps)_
|
|
17
|
+
- Serverless & Traditional APIs
|
|
18
|
+
- Cloud Infrastructure Creation & Maintenance
|
|
18
19
|
- Interactive CLIs
|
|
19
|
-
- Framework-agnostic
|
|
20
|
+
- Framework-agnostic Component & Function Libraries
|
|
20
21
|
- Deployment & Release Manager _(CI & CD)_
|
|
21
22
|
|
|
22
|
-
Stacks helps you every step along the way—in beginner & expert-friendly ways, allowing you to focus on the
|
|
23
|
+
In other words, Stacks helps you, as a developer, every step along the way—in beginner & expert-friendly ways, allowing you to focus on the _what & why_ of your project, all while enabling you to always stay in control & ownership of your _(& your user’s)_ data.
|
|
23
24
|
|
|
24
25
|
> “Convention over configuration” is the Stacks mantra. _- Chris_
|
|
25
26
|
|
|
26
27
|
<!--  -->
|
|
27
28
|
|
|
28
|
-
## Features
|
|
29
|
-
|
|
30
|
-
The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:
|
|
31
|
-
|
|
32
|
-
### Stacks Frontend
|
|
33
|
-
|
|
34
|
-
_Develop dynamic UIs with helpers for atomic design, and much more._
|
|
35
|
-
|
|
36
|
-
- 🧩 **Components** _primitive to develop user interfaces_
|
|
37
|
-
- 🤖 **Functions** _primitive to develop business logic (and grant your UI superpowers)_
|
|
38
|
-
- 🎨 **UI Kit** _modern & deeply-integrated components_
|
|
39
|
-
- 🌐 **Web** _“a routing & templating engine that makes sense”_
|
|
40
|
-
- 🖥️ **Desktop** _automagically build a desktop app out of your web app_
|
|
41
|
-
- 📚 **Library** _auto-builds component & function libraries_
|
|
42
|
-
- ⚡️ Powered by Bun, Nitro, Tauri, UnoCSS, Vite & Vue
|
|
43
|
-
|
|
44
|
-
### Stacks Backend
|
|
45
|
-
|
|
46
|
-
_Develop serverless (or server) functions with countless helpers to build scalable & fast APIs._
|
|
47
|
-
|
|
48
|
-
- 🪄 **AI** _deep AI integrations & foundational model access_
|
|
49
|
-
- 🤖 **APIs** _scalability & maintainability built-in_
|
|
50
|
-
- 🏎️ **Cache** _Redis, DynamoDB, and more—serverless_
|
|
51
|
-
- ⚙️ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac—without requirements_
|
|
52
|
-
- 📀 **Database** _SQLite, MySQL, Postgres, PlanetScale, and more_
|
|
53
|
-
- 👾 **Errors** _native type-safe error handling_
|
|
54
|
-
- 🗓️ **Events** _functional event (front & backend) communication_
|
|
55
|
-
- 📢 **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
56
|
-
- 🗺️ **ORM** _supercharged, fully-typed models & relations (including automated migrations)_
|
|
57
|
-
- 💳 **Payments** _unified API for one-off & subscription billing methods for Stripe_
|
|
58
|
-
- ⚙️ **Queues** _run any heavy workload in the background_
|
|
59
|
-
- 🛠️ **Query Builder** _powerful, type-safe SQL query builder_
|
|
60
|
-
- 💬 **Realtime** _“everything you need to build dynamic real-time apps”_
|
|
61
|
-
- 🧭 **Router** _smart routing, file-based or Laravel-like_
|
|
62
|
-
- 🔎 **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
63
|
-
- 💾 **Storage** _a secure-by-default File API that feels right_
|
|
64
|
-
- 🧪 **Tinker** _a powerful TypeScript REPL_
|
|
65
|
-
- 🌪️ **Validation** _e2e type-safety (true frontend & backend harmony)_
|
|
66
|
-
- 🎯 **X-Ray** _all you need to debug, log & analyze_
|
|
67
|
-
|
|
68
|
-
### Stacks Cloud
|
|
69
|
-
|
|
70
|
-
_Create your personal or professional Vercel-like cloud, based on MIT-licensed OSS._
|
|
71
|
-
|
|
72
|
-
- ☁️ **Server** _local development server & production-ready servers out-of-the-box_
|
|
73
|
-
- ⛅️ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
74
|
-
- 🚏 **CDN** _zero-config, low-latency CDN, including request life-cycle hooks & optimized request compressions (Brotli & gzip)_
|
|
75
|
-
- 🔀 **Domain** _version-controlled & zero-config domain management (e.g. DNS management)_
|
|
76
|
-
- 🤖 **AI** _fine-tune a foundational model using your application data_
|
|
77
|
-
- 📧 **Email** _secure & simplistic <easy-peasy@custom-domains.com> mailboxes_
|
|
78
|
-
- 🔐 **Firewall** _native web application firewall support_
|
|
79
|
-
- 📦 **Storage** _unlimited cloud storage & automatic backups_
|
|
80
|
-
- 🚜 **Maintenance** _maintain your cloud infrastructure with ease using Buddy & Stacks_
|
|
81
|
-
- 🚦 **Infrastructure as Code** _version-controlled cloud infrastructure_
|
|
82
|
-
|
|
83
|
-
### Stacks CI/CD
|
|
84
|
-
|
|
85
|
-
_Focus on coding, not publishing._
|
|
86
|
-
|
|
87
|
-
- 🚀 **Deployment Manager** _take the sweat out of production deployments (AWS, Google next?)_
|
|
88
|
-
- 📫 **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
89
|
-
|
|
90
|
-
### Stacks DX
|
|
91
|
-
|
|
92
|
-
_Enhanced productivity for developers. No more creating boilerplate._
|
|
93
|
-
|
|
94
|
-
- 💡 **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
95
|
-
- 🪄 **Zero-Config** _yet highly configurable—convention over configuration_
|
|
96
|
-
- 💅 **Linter & Formatter** _auto-configured & built into your IDE_
|
|
97
|
-
- 💪🏼 **Type Strong** _built-in e2e type-safety_
|
|
98
|
-
- ✨ **Git Workflows** _committing with ease_
|
|
99
|
-
- 🚗 **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
100
|
-
- ⏩ **Code Snippets** _say goodbye to the boilerplate—thank you Sarah Drasner_
|
|
101
|
-
- 🔤 **Spell Checker** _be notified once there are typos_
|
|
102
|
-
- 🛠️ **Utilities** _Collections, VueUse, and more_
|
|
103
|
-
- 👥 **Team Management** _manage your team & their permissions_
|
|
104
|
-
- 🧪 **Testing** _unit & e2e tests powered by Bun & Playwright_
|
|
105
|
-
|
|
106
|
-
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
107
|
-
|
|
108
|
-
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScript—that's all you need to dive in now! _Or TypeScript ✌🏼_
|
|
109
|
-
|
|
110
|
-
> _A true rapid application development framework for all Full Stack needs. Next-level simplicity & helpful DX._
|
|
111
|
-
|
|
112
29
|
## Get Started
|
|
113
30
|
|
|
114
|
-
It
|
|
31
|
+
It’s incredibly easy to get started with this framework. Simply run the following command in your terminal:
|
|
115
32
|
|
|
116
33
|
```bash
|
|
117
|
-
curl -Ssf stacksjs.org | sh # wip
|
|
34
|
+
curl -Ssf stacksjs.org/install | sh # wip
|
|
118
35
|
|
|
119
|
-
# alternatively, if Bun >= v1.0 is installed already,
|
|
36
|
+
# alternatively, if Bun >= v1.0.30 is installed already,
|
|
120
37
|
# you may also get started via:
|
|
121
38
|
bunx stacks new my-project
|
|
122
39
|
```
|
|
123
40
|
|
|
124
|
-
##
|
|
41
|
+
## Usage
|
|
125
42
|
|
|
126
43
|
The following list includes some of the most common ways to interact with the Stacks API.
|
|
127
44
|
|
|
128
|
-
|
|
45
|
+
_Meet the toolkit, Buddy:_
|
|
129
46
|
|
|
130
47
|
```bash
|
|
131
48
|
buddy install # installs all dependencies
|
|
132
|
-
buddy dev # starts one of the dev servers (components,
|
|
49
|
+
buddy dev # starts one of the dev servers (frontend, API, components, docs, desktop, etc.)
|
|
50
|
+
buddy share # creates a sharable link of your local project
|
|
133
51
|
buddy build # follow CLI prompts to select which library (or server) to build
|
|
134
52
|
buddy commit # follow CLI prompts for committing changes
|
|
135
53
|
buddy release # creates the releases for the stack & consequently, publishes them to npm
|
|
136
54
|
buddy upgrade # auto-update all deps & the Stacks framework
|
|
137
55
|
|
|
138
|
-
buddy make:
|
|
139
|
-
buddy make:
|
|
140
|
-
buddy make:
|
|
141
|
-
buddy make:
|
|
142
|
-
|
|
56
|
+
buddy make:component HelloWorld # scaffolds a Component
|
|
57
|
+
buddy make:function HelloWorld # scaffolds a Function
|
|
58
|
+
buddy make:model Car # scaffolds a Model
|
|
59
|
+
buddy make:action UpdateCar # scaffolds an Action
|
|
60
|
+
buddy make:migration create_cars_table # scaffolds a Migration
|
|
61
|
+
buddy make:view Car # scaffolds a Page (https://my-project.test/car)
|
|
62
|
+
buddy make:command Inspire # scaffolds a Command
|
|
63
|
+
buddy make:job SendEmail # scaffolds a Job
|
|
64
|
+
buddy make:middleware Logger # scaffolds a new Middleware
|
|
65
|
+
buddy make:notification WelcomeEmail # scaffolds a Notification
|
|
66
|
+
buddy make:lang de # scaffolds a language file
|
|
67
|
+
|
|
68
|
+
buddy list # lists all available commands
|
|
143
69
|
buddy --help
|
|
144
70
|
```
|
|
145
71
|
|
|
@@ -156,12 +82,16 @@ buddy install # installs dependencies
|
|
|
156
82
|
buddy add # adds a stack or dependency
|
|
157
83
|
buddy fresh # fresh reinstall of all deps
|
|
158
84
|
buddy clean # removes all deps
|
|
85
|
+
buddy setup # sets up the project initially
|
|
86
|
+
buddy setup:oh-my-zsh # optional: sets up Oh My Zsh with auto-completions & "aliases"
|
|
159
87
|
|
|
160
88
|
buddy upgrade # upgrades all dependencies
|
|
161
89
|
buddy upgrade -i # prompts you to select which updates to apply (wip)
|
|
162
|
-
buddy upgrade:dependencies # auto-upgrades deps
|
|
90
|
+
buddy upgrade:dependencies # auto-upgrades package.json deps
|
|
163
91
|
buddy upgrade:framework # auto-upgrades deps & the Stacks framework
|
|
164
92
|
buddy upgrade:search-engine # auto-upgrades configured search engine
|
|
93
|
+
buddy upgrade:shell # upgrades the shell integration
|
|
94
|
+
buddy upgrade:binary # upgrades the `stacks` binary
|
|
165
95
|
buddy upgrade:bun # upgrades to latest project-defined Bun version
|
|
166
96
|
buddy upgrade:all # auto-upgrades all of the above
|
|
167
97
|
|
|
@@ -169,7 +99,7 @@ buddy upgrade:all # auto-upgrades all of the above
|
|
|
169
99
|
# any of them via the "help option", i.e. `buddy ... --help`
|
|
170
100
|
|
|
171
101
|
buddy dev # starts the frontend dev server
|
|
172
|
-
buddy dev -i # prompts any of the dev servers (components, functions, views, or
|
|
102
|
+
buddy dev -i # prompts any of the dev servers (components, functions, views, docs, or api)
|
|
173
103
|
buddy dev:api # starts the API dev server
|
|
174
104
|
buddy dev:dashboard # starts the Admin/Dashboard dev server
|
|
175
105
|
buddy dev:desktop # starts the Desktop dev server
|
|
@@ -177,9 +107,11 @@ buddy dev:views # starts frontend dev server
|
|
|
177
107
|
buddy dev:components # starts component dev server
|
|
178
108
|
buddy dev:functions # stubs functions
|
|
179
109
|
buddy dev:docs # starts local docs dev server
|
|
180
|
-
buddy dev docs # also starts the local docs dev server (colon is optional)
|
|
110
|
+
buddy dev docs # also starts the local docs dev server (colon is optional for all commands)
|
|
181
111
|
buddy development # `buddy dev` alias
|
|
182
112
|
|
|
113
|
+
buddy share # creates a sharable link to your local project
|
|
114
|
+
|
|
183
115
|
# for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:
|
|
184
116
|
buddy serve
|
|
185
117
|
buddy serve:components
|
|
@@ -272,8 +204,9 @@ buddy example # prompts you to select which example to run
|
|
|
272
204
|
buddy example:vue # runs the Vue example
|
|
273
205
|
buddy example:web-components # runs the Web Component example
|
|
274
206
|
|
|
275
|
-
# you likely won
|
|
207
|
+
# you likely won’t need to run these commands as they are auto-triggered, but they are available
|
|
276
208
|
buddy generate # prompts you to select which generator to run
|
|
209
|
+
buddy generate:types # generates types for your components, functions, & views
|
|
277
210
|
buddy generate:entries # generates entry files for components, functions, & views
|
|
278
211
|
buddy generate:web-types # generates Web Component types
|
|
279
212
|
buddy generate:vscode-custom-data # generates VSCode custom data
|
|
@@ -305,49 +238,116 @@ buddy test:types # runs typecheck
|
|
|
305
238
|
stx fresh
|
|
306
239
|
buddy fresh
|
|
307
240
|
bud fresh
|
|
308
|
-
buddy fresh
|
|
309
241
|
```
|
|
310
242
|
|
|
311
243
|
</details>
|
|
312
244
|
|
|
313
245
|
Read more here about the Stacks CLI in the documentation.
|
|
314
246
|
|
|
315
|
-
##
|
|
247
|
+
## Features
|
|
316
248
|
|
|
317
|
-
|
|
249
|
+
The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:
|
|
318
250
|
|
|
319
|
-
|
|
320
|
-
- [Calendar](https://github.com/stacksjs/calendar) (Add to Calendar utilities—iCal, Google, and more)
|
|
321
|
-
- [Command Palette](https://github.com/stacksjs/command-palette) (`⌘ + k` for the web)
|
|
322
|
-
- [Date Picker](https://github.com/stacksjs/date-picker) (Beautiful, modern date picker)
|
|
323
|
-
- [File Manager](https://github.com/stacksjs/file-manager) (Build your own file manager—like Dropbox or Google Drive)
|
|
324
|
-
- [Image](https://github.com/stacksjs/image) (Modern image experience)
|
|
325
|
-
- [Video](https://github.com/stacksjs/video) (Modern video experience)
|
|
326
|
-
- [Audio](https://github.com/stacksjs/audio) (Modern audio experience)
|
|
327
|
-
- [Identity](https://github.com/stacksjs/identity) (Identity providers)
|
|
328
|
-
- [Digital Ownership](https://github.com/stacksjs/ownership) (Public ownership protocol integrations)
|
|
329
|
-
- [Payments](https://github.com/stacksjs/payments) (Unified payment & wallet APIs)
|
|
330
|
-
- [Governance](https://github.com/stacksjs/governance) (Powerful toolkit for democratic governance)
|
|
251
|
+
### Frontend Development
|
|
331
252
|
|
|
332
|
-
|
|
253
|
+
_Develop dynamic UIs with helpers for atomic design, and much more._
|
|
333
254
|
|
|
334
|
-
|
|
255
|
+
- 🧩 **Components** _primitive to develop user interfaces_
|
|
256
|
+
- 🤖 **Functions** _primitive to develop business logic (and grant your UI superpowers)_
|
|
257
|
+
- 🎨 **UI Kit** _modern & deeply-integrated components_
|
|
258
|
+
- 🌐 **Web** _“a routing & templating engine that makes sense”_
|
|
259
|
+
- 🖥️ **Desktop** _transforms your web app into a desktop app, plus more_
|
|
260
|
+
- 📝 **Documentation** _markdown-based documentation, auto-generated_
|
|
261
|
+
- 📚 **Library** _auto-builds & manages component & function libraries_
|
|
262
|
+
- ⚡️ Powered by Bun, Nitro, Tauri, UnoCSS, Vite & Vue
|
|
263
|
+
|
|
264
|
+
### Backend Development
|
|
335
265
|
|
|
336
|
-
|
|
266
|
+
_Develop serverless (or server) functions with countless helpers to build scalable & fast APIs._
|
|
267
|
+
|
|
268
|
+
- 🪄 **AI** _deep AI integrations & foundational model access_
|
|
269
|
+
- 🤖 **APIs** _scalability & maintainability built-in_
|
|
270
|
+
- 🏎️ **Cache** _Redis, DynamoDB, and more—serverless_
|
|
271
|
+
- ⚙️ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac (dependency-free binaries)_
|
|
272
|
+
- 📀 **Database** _SQLite, MySQL, Postgres, and more_
|
|
273
|
+
- 👾 **Errors** _native type-safe error handling_
|
|
274
|
+
- 🗓️ **Events** _functional event (front & backend) communication_
|
|
275
|
+
- 📢 **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
276
|
+
- 🗺️ **ORM** _supercharged, fully-typed models & relations (including automated migrations)_
|
|
277
|
+
- 💳 **Payments** _unified API for one-off & subscription billing methods for Stripe_
|
|
278
|
+
- ⚙️ **Queues** _run any heavy workload in the background_
|
|
279
|
+
- 🛠️ **Query Builder** _powerful, type-safe SQL query builder_
|
|
280
|
+
- 💬 **Realtime** _“everything you need to build dynamic real-time apps”_
|
|
281
|
+
- 🧭 **Router** _smart routing, file-based or Laravel-like_
|
|
282
|
+
- 🔎 **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
283
|
+
- 💾 **Storage** _a secure-by-default File API that feels right_
|
|
284
|
+
- 🧪 **Tinker** _a powerful TypeScript REPL_
|
|
285
|
+
- 🌪️ **Validation** _e2e type-safety (true frontend & backend harmony)_
|
|
286
|
+
- 🎯 **X-Ray** _all you need to debug, log & analyze_
|
|
287
|
+
|
|
288
|
+
### Cloud Development
|
|
289
|
+
|
|
290
|
+
_Develop & maintain cloud infrastructure with ease. “Imagine Vercel, Vapor and Forge having been unified.”_
|
|
291
|
+
|
|
292
|
+
- ☁️ **Server** _local development server & production-ready servers out-of-the-box_
|
|
293
|
+
- ⛅️ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
294
|
+
- ⏰ **Alarms** _built-in cloud infrastructure monitoring to avoid surprises_
|
|
295
|
+
- 🚏 **CDN** _zero-config, low-latency, request life-cycle hooks, optimized request compressions (Brotli & gzip)_
|
|
296
|
+
- 🔀 **Domain** _version-controlled & zero-config domain management (e.g. DNS management)_
|
|
297
|
+
- 🤖 **AI** _fine-tune a foundational model using your application data_
|
|
298
|
+
- 📧 **Email** _secure & zero-setup <easy-peasy@custom-domains.com> mailboxes_
|
|
299
|
+
- 🔐 **Firewall** _native web application firewall support_
|
|
300
|
+
- 📦 **Storage** _unlimited cloud storage & automatic backups_
|
|
301
|
+
- 🚜 **Maintenance** _maintain your cloud infrastructure with ease using Buddy & Stacks_
|
|
302
|
+
- 🚦 **Infrastructure as Code** _version-controlled cloud infrastructure (AWS, Google next?)_
|
|
303
|
+
|
|
304
|
+
### CI/CD
|
|
305
|
+
|
|
306
|
+
_Focus on coding, not publishing._
|
|
307
|
+
|
|
308
|
+
- 🚀 **Deployment Manager** _takes the sweat out of production deployments—zero-setup push-to-deploy_
|
|
309
|
+
- 0️⃣ **Zero Downtime** _deploy with confidence using a zero-downtime deployment strategy_
|
|
310
|
+
- 📫 **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
311
|
+
|
|
312
|
+
### Developer Experience (DX)
|
|
313
|
+
|
|
314
|
+
Convention over configuration, while staying wholly configurable. _No more boilerplate._
|
|
315
|
+
|
|
316
|
+
- 💎 **Automated Upgrades** _no need to worry about upgrading to the latest versions, Stacks upgrades you_
|
|
317
|
+
- 🦋 **Pretty Dev URLs** _your-project.localhost instead of localhost:3000_
|
|
318
|
+
- 💡 **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
319
|
+
- 🪄 **Zero-Config** _yet highly configurable—convention over configuration_
|
|
320
|
+
- 💅 **Linter & Formatter** _auto-configured & built into your IDE_
|
|
321
|
+
- 💪🏼 **Type Strong** _built-in e2e type-safety_
|
|
322
|
+
- ✨ **Git Workflows** _committing with ease_
|
|
323
|
+
- 🚗 **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
324
|
+
- ⏩ **Code Snippets** _goodbye to the boilerplate code—thank you Sarah Drasner_
|
|
325
|
+
- 🔤 **Spell Checker** _be notified once there are typos_
|
|
326
|
+
- 🛠️ **Essential Utilities** _powers at your fingertips. Collections, VueUse, and more_
|
|
327
|
+
- 👥 **Team Management** _manage your team & their permissions_
|
|
328
|
+
- 🧪 **Streamlined Testing** _unit & e2e tests powered by Bun, Vitest & Playwright_
|
|
329
|
+
|
|
330
|
+
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
331
|
+
|
|
332
|
+
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScript—that’s all you need to dive in now! _Or TypeScript ✌🏼_
|
|
333
|
+
|
|
334
|
+
> _An actual rapid application development framework for all Full Stack needs. Next-level simplicity & DX._
|
|
335
|
+
|
|
336
|
+
## Testing
|
|
337
337
|
|
|
338
338
|
```bash
|
|
339
|
-
|
|
339
|
+
./buddy test
|
|
340
340
|
```
|
|
341
341
|
|
|
342
|
-
##
|
|
342
|
+
## Changelog
|
|
343
343
|
|
|
344
344
|
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
345
345
|
|
|
346
|
-
##
|
|
346
|
+
## Contributing
|
|
347
347
|
|
|
348
348
|
Please see the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
349
349
|
|
|
350
|
-
##
|
|
350
|
+
## Community
|
|
351
351
|
|
|
352
352
|
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
353
353
|
|
|
@@ -357,19 +357,27 @@ For casual chit-chat with others using this package:
|
|
|
357
357
|
|
|
358
358
|
[Join the Stacks Discord Server](https://discord.gg/stacksjs)
|
|
359
359
|
|
|
360
|
-
##
|
|
360
|
+
## Postcardware
|
|
361
361
|
|
|
362
|
-
|
|
362
|
+
Two things are true: Stacks OSS will always stay open-source, and we do/would love to receive postcards from wherever Stacks is used! 🌍 _And we also publish them on our website. -Thank you, Spatie_
|
|
363
363
|
|
|
364
|
-
|
|
364
|
+
Our address: Stacks.js, 5710 Crescent Park #107, Playa Vista 90094, CA, USA
|
|
365
365
|
|
|
366
|
-
|
|
366
|
+
## Sponsors
|
|
367
|
+
|
|
368
|
+
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
|
|
369
|
+
|
|
370
|
+
- [JetBrains](https://www.jetbrains.com/)
|
|
371
|
+
- [The Solana Foundation](https://solana.com/)
|
|
372
|
+
|
|
373
|
+
## Credits
|
|
367
374
|
|
|
368
375
|
- [Chris Breuer](https://github.com/chrisbbreuer)
|
|
369
|
-
- [Dan Scanlon](https://twitter.com/danscan) _many thanks for donating the `stacks` name on npm_
|
|
370
376
|
- [All Contributors](../../contributors)
|
|
371
377
|
|
|
372
|
-
|
|
378
|
+
And a special thanks to [Dan Scanlon](https://twitter.com/danscan) for donating the `stacks` name on npm ✨
|
|
379
|
+
|
|
380
|
+
## License
|
|
373
381
|
|
|
374
382
|
The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.
|
|
375
383
|
|
package/buddy/package.json
CHANGED