Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/stacksPublic template

Modern full-stack framework. Develop powerful apps, clouds & framework-agnostic libraries—faster.

License

NotificationsYou must be signed in to change notification settings

stacksjs/stacks

Social Card of Stacks

Rapid App & Library Development

npm versionGitHub ActionsCommitizen friendlynpm downloads

Warning

Stay tuned. Open Beta coming soon.

Stacks is a rapid development framework, where the goal is tohelp 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.

  • Web & Desktop Applications(including system tray apps)
  • Serverless & Traditional APIs
  • Cloud Infrastructure Creation & Maintenance
  • Interactive CLIs
  • Framework-agnostic Component & Function Libraries
  • Deployment & Release Manager(CI & CD)

Convention Over Configuration

As a developer, Stacks helps you every step along the way—in beginner & expert-friendly ways, allowing you to focus on thewhat & why of your project, all while enabling you to stay in control & ownership of your(& your users’) data.

“It is the framework’s responsibility to remove patterns that lead to boilerplate code. And Stacks is really good at that.”- Chris

Get Started

It’s incredibly easy to get started with this framework. Simply run the following command in your terminal:

curl -Ssf stacksjs.org/install| sh# wip# alternatively, if Bun >= v1.2.14 is installed already,# you may also get started via:bunx buddy new my-project

Usage

The following list includes some of the most common ways to interact with the Stacks API.

Meet the toolkit, Buddy:

buddy install# installs all dependenciesbuddy dev# starts one of the dev servers (frontend, API, components, docs, desktop, etc.)buddy share# creates a sharable link of your local projectbuddy build# follow CLI prompts to select which library (or server) to buildbuddy commit# follow CLI prompts for committing changesbuddy release# creates the releases for the stack & consequently, publishes them to npmbuddy upgrade# auto-update all deps & the Stacks frameworkbuddy make:component HelloWorld# scaffolds a Componentbuddy make:function HelloWorld# scaffolds a Functionbuddy make:model Car# scaffolds a Modelbuddy make:action UpdateCar# scaffolds an Actionbuddy make:migration create_cars_table# scaffolds a Migrationbuddy make:view Car# scaffolds a Page (https://my-project.test/car)buddy make:command Inspire# scaffolds a Commandbuddy make:job SendEmail# scaffolds a Jobbuddy make:middleware Logger# scaffolds a new Middlewarebuddy make:notification WelcomeEmail# scaffolds a Notificationbuddy make:lang de# scaffolds a language filebuddy list# lists all available commandsbuddy --help
View the complete Buddy Toolkit
buddy --version# get the Stacks versionbuddy --help# view help menu# please note: you may suffix any command with the# `command --help` flag to review the help menubuddy install# installs dependenciesbuddy add# adds a stack or dependencybuddy fresh# fresh reinstall of all depsbuddy clean# removes all depsbuddy setup# sets up the project initiallybuddy setup:oh-my-zsh# optional: sets up Oh My Zsh with auto-completions & "aliases"buddy upgrade# upgrades all dependenciesbuddy upgrade -i# prompts you to select which updates to apply (wip)buddy upgrade:dependencies# auto-upgrades package.json depsbuddy upgrade:framework# auto-upgrades deps & the Stacks frameworkbuddy upgrade:search-engine# auto-upgrades configured search enginebuddy upgrade:shell# upgrades the shell integrationbuddy upgrade:binary# upgrades the `stacks` binarybuddy upgrade:bun# upgrades to latest project-defined Bun versionbuddy upgrade:all# auto-upgrades all of the above# if you need any more info on any command listed here, you may suffix# any of them via the "help option", i.e. `buddy ... --help`buddy dev# starts the frontend dev serverbuddy dev -i# prompts any of the dev servers (components, functions, views, docs, or api)buddy dev:api# starts the API dev serverbuddy dev:dashboard# starts the Admin/Dashboard dev serverbuddy dev:desktop# starts the Desktop dev serverbuddy dev:views# starts frontend dev serverbuddy dev:components# starts component dev serverbuddy dev:functions# stubs functionsbuddy dev:docs# starts local docs dev serverbuddy dev docs# also starts the local docs dev server (colon is optional for all commands)buddy development# `buddy dev` aliasbuddy share# creates a sharable link to your local project# for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:buddy servebuddy serve:componentsbuddy serve:desktopbuddy serve:viewsbuddy serve:functionsbuddy serve:docs# building for production (e.g. AWS, Google Cloud, npm, Vercel, Netlify, et al.)buddy build# select a specific build (follow CLI prompts)buddy build:views# builds SSG viewsbuddy build:desktop# builds Desktop applicationbuddy build:library# builds any or all librariesbuddy build:functions# builds function librarybuddy build:components# builds Vue component library & Web Component librarybuddy build:web-components# builds framework agnostic Web Component library (i.e. Custom Elements)buddy build:vue-components# builds Vue 2 & 3-ready Component librarybuddy build:all# builds all your code# `buddy build` aliasesbuddy prodbuddy prod:componentsbuddy prod:desktopbuddy prod:librarybuddy prod:viewsbuddy prod:functionsbuddy prod:vue-componentsbuddy prod:web-componentsbuddy prod:allbuddy production# `buddy prod` alias# sets your application keybuddy key:generatebuddy make:component HelloWorld# bootstraps a HelloWorld componentbuddy make:function hello-world# bootstraps a hello-world functionbuddy make:view hello-world# bootstraps a hello-word pagebuddy make:model Car# bootstraps a Car modelbuddy make:database cars# creates a cars databasebuddy make:migration create_cars_table# creates a cars migration filebuddy make:factory cars# creates a Car factory filebuddy make:table cars# bootstraps a cars data tablebuddy make:notification welcome-email# bootstraps a welcome-email notificationbuddy make:lang de# bootstraps a lang/de.yml language filebuddy make:stack my-project# shares logic with `bunx --bun stacks new my-project`buddy migrate# runs database migrationsbuddy migrate:dns# sets the ./config/dns.ts filebuddy dns example.com# list all DNS records for example.combuddy dns example.com --type MX# list MX records for example.com (proxies dog)buddy https httpie.io/hello# http [flags] [METHOD] URL [ITEM [ITEM]]buddy http --helpbuddy http PUT pie.dev/put X-API-Token:123 name=John# Custom HTTP method, HTTP headers and JSON databuddy http -v pie.dev/get# See the request that is being sent using one of the output optionsbuddy http -f POST pie.dev/post hello=World# submitting formsbuddy http --offline pie.dev/post hello=offlinebuddy http -a USERNAME POST https://api.github.com/repos/httpie/cli/issues/83/comments body='HTTPie is awesome! :heart:'buddy http pie.dev/post< files/data.jsonbuddy http pie.dev/image/png> image.pngbuddy http --download pie.dev/image/pngbuddy http --session=logged-in -a username:password pie.dev/get API-Key:123buddy http --session=logged-in pie.dev/headersbuddy http localhost:8000 Host:example.combuddy lint# runs linterbuddy lint:fix# runs linter and fixes issuesbuddy commit# follow CLI prompts for committing staged changesbuddy release# creates the releases for the stack & triggers the Release Action (workflow)buddy changelog# generates CHANGELOG.md# when deploying your app/s to a remote server or cloud providerbuddy deploy# select a specific deployment (follow CLI prompts)# buddy deploy:docs # deploys docs to AWS (or other configured provider)# buddy deploy:functions # deploys functions to AWS (or other configured provider)# buddy deploy:views # deploys views to AWS (or other configured provider)# buddy deploy:all # deploys all your codebuddy undeploy# be careful: "undeploys" removes/deletes your deployed resourcesbuddy cloud:remove# removes cloud setupbuddy cloud:cleanup# removes cloud setup & cleans up all potentially leftover resourcesbuddy cloud:add --jump-box# adds a jump box to your cloud setup# select the example to run (follow CLI prompts)buddy example# prompts you to select which example to runbuddy example:vue# runs the Vue examplebuddy example:web-components# runs the Web Component example# you likely won’t need to run these commands as they are auto-triggered, but they are availablebuddy generate# prompts you to select which generator to runbuddy generate:types# generates types for your components, functions, & viewsbuddy generate:entries# generates entry files for components, functions, & viewsbuddy generate:web-types# generates Web Component typesbuddy generate:vscode-custom-data# generates VSCode custom databuddy generate:ide-helpers# generates IDE helpersbuddy generate:component-meta# generates component metabuddy generate:all# runs all generators# generates your application keybuddy key:generate# generates your application key# manage your environment variablesbuddy env:get# get an environment variablebuddy env:set# set an environment variablebuddy env:encrypt# encrypt an environment variablebuddy env:decrypt# decrypt an environment variablebuddy env:keypair# generate a keypairbuddy env:rotate# rotate a keypair# generate your TypeScript declarationsbuddy types:generate# generates types for your components, functions, & viewsbuddy types:fix# auto-fixes types for your components, functions, & viewsbuddy domains# alias for `buddy domains:list`buddy domains:add stacksjs.org# adds a domainbuddy domains:remove stacksjs.org# removes a domainbuddy domains:list# lists all domainsbuddy domains:update# apply ./config/dns.ts updatesbuddy domains:purchase stacksjs.org# purchase a new domain# test your stackbuddytest# runs test suite (unit & e2e)buddy test:coverage# runs test coveragebuddy test:types# runs typecheck# the CLI may be triggered in any# of the following syntax:stx freshbuddy freshbud fresh

Read more here about the Stacks CLI in the documentation.

Features

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:

Frontend Development

Develop dynamic UIs with helpers for atomic design, and much more.

  • 🧩Componentsprimitive to develop user interfaces
  • 🤖Functionsprimitive to develop business logic (and grant your UI superpowers)
  • 🎨UI Kitmodern & deeply-integrated components
  • 🌐Web“a routing & templating engine that makes sense”
  • 🖥️Desktoptransforms your web app into a desktop app, plus more
  • 📝Documentationmarkdown-based documentation, auto-generated
  • 📚Libraryauto-builds & manages component & function libraries
  • ⚡️ Powered by Bun, Tauri, UnoCSS, Vite, VitePress and Vue

Backend Development

Develop serverless (or server) functions with countless helpers to build scalable & fast APIs.

  • 🪄AIdeep AI integrations to simplify building agentic workflow
  • 🤖APIsscalability & maintainability built-in
  • 🏎️Cacheunified caching for DynamoDB, Redis and more
  • ⚙️CLIscreate beautiful CLIs for Linux, Windows, and Mac (dependency-free binaries)
  • 🛍️Commerceown & grow your own online business with ease (SaaS-optimized)
  • 📀DatabaseDynamoDB, SQLite, MySQL, Postgres, and more
  • 👾Errorsnative type-safe error handling
  • 🗓️Eventsfunctional event (front & backend) communication
  • 📢Notificationsemails, SMSs, direct, and push notifications & webhooks
  • 🗺️ORMautomated schemas for scale & a pretty API
  • 💳Paymentsunified API for one-off & subscription billing methods for Stripe
  • ⚙️Queuesrun any heavy workload in the background
  • 🛠️Query Builderpowerful, type-safe SQL query builder
  • 💬Realtime“everything you need to build dynamic real-time apps”
  • 🧭Routersmart routing, file-based or Laravel-like
  • 🔎Search Enginesmart searching, advanced filtering & sorting, pagination, headless UI
  • 💾Storagea secure-by-default File API that feels right
  • 🧪Tinkera powerful TypeScript REPL
  • 🌪️Validatione2e type-safety (true frontend & backend harmony)
  • 🎯X-Rayall you need to debug, log & analyze

Cloud Development

Develop & maintain cloud infrastructure with ease. “Imagine Vercel, Vapor and Forge having been unified.”

  • ☁️Serverlocal development server & production-ready servers out-of-the-box
  • ⛅️Serverlesson-demand, auto-scaling, zero maintenance
  • Alarmsbuilt-in cloud infrastructure monitoring to avoid surprises
  • 🚏CDNzero-config, low-latency, request life-cycle hooks, optimized request compressions (Brotli & gzip)
  • 🔀Domainversion-controlled & zero-config domain management (e.g. DNS management)
  • 🤖AIfine-tune a foundational model using your application data
  • 📧Emailsecure & zero-setupeasy-peasy@custom-domains.com mailboxes
  • 🔐Firewallnative web application firewall support
  • 📦Storageunlimited cloud storage & automatic backups
  • 🚜Maintenancemaintain your cloud infrastructure with ease using Buddy & Stacks
  • 🚦Infrastructure as Codeversion-controlled cloud infrastructure (AWS, Google next?)

CI/CD

Focus on coding, not publishing.

  • 🚀Deployment Managertakes the sweat out of production deployments—zero-setup push-to-deploy
  • 0️⃣Zero Downtimedeploy with confidence using a zero-downtime deployment strategy
  • 📫Release Managerlibraries (component & function) auto-published to npm, git helpers, and more

Developer Experience (DX)

Convention over configuration, while staying wholly configurable.No more boilerplate.

  • 💎Automated Upgradesno need to worry about upgrading to the latest versions, Stacks upgrades you
  • 🦋Pretty Dev URLsyour-project.localhost instead of localhost:3000
  • 💡IDE Integrationauto-completions, inline docs & a powerful IDE setup
  • 🪄Zero-Configyet highly configurable—convention over configuration
  • 💅Linter & Formatterauto-configured & built into your IDE
  • 💪🏼Type Strongbuilt-in e2e type-safety
  • Git Workflowscommitting with ease
  • 🚗Auto Importsyour components & functions, including date, string, array, & object helpers
  • Code Snippetsgoodbye to the boilerplate code—thank you Sarah Drasner
  • 🔤Spell Checkerbe notified once there are typos
  • 🛠️Essential Utilitiespowers at your fingertips. Collections, VueUse, and more
  • 👥Team Managementmanage your team & their permissions
  • 🧪Streamlined Testingunit & e2e tests powered by Bun, Vitest & Playwright

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.

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 ✌🏼

An actual rapid application development framework for all Full Stack needs. Next-level simplicity & DX.

Testing

./buddytest

Changelog

Please see ourreleases page for more information on what has changed recently.

Contributing

Please see theContributing Guide for details.

Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Discussions on GitHub

For casual chit-chat with others using this package:

Join the Stacks Discord Server

Postcardware

“Software that is free, but hopes for a postcard.” We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.

Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States 🌎

Sponsors

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.

Credits

And a special thanks toDan Scanlon for donating thestacks name on npm ✨

License

The MIT License (MIT). Please seeLICENSE for more information.

Made with 💙

About

Modern full-stack framework. Develop powerful apps, clouds & framework-agnostic libraries—faster.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors14


[8]ページ先頭

©2009-2025 Movatter.jp