@adevien/svelte-scaffold v1.2.0
Adevien - Svelte Scaffold
Scaffold a monorepo to collect projects of a new client.
⚠️ Warning ⚠️ This is a highly opinionated tool, but PRs are welcome to make it more generalised. Refer to Contributing for more information.
The following assumptions are made:
- The package manager is pnpm
- All projects are using TypeScript
- All web projects are using SvelteKit and TailwindCSS
- If no design system was selected, the forms and typography Tailwind plugins will be installed
What can be generated
A monorepo that uses Turborepo. It can generate the following empty projects:
SvelteKit:
- Landing page
- Blog
- Custom app
- Component library
Other:
- CMS
- CLI
- Assets (shared static files)
- Config (shared configuration files)
Options
TailwindCSS will be installed, but you can extend it with the following design systems:
- DaisyUI
- SkeletonUI
- None
You can select the following deployment methods:
- Auto
Cloudflare
(A GitHub Workflow will be created to redeploy when the package has changes)
Vercel
Docker (Node.js)
(A Dockerfile will be generated)
In case you select "Component library", you can choose between the following story builders:
- Storybook
- Histoire
- None
In case you select "CMS", you can select from the following:
- Payload
- Sanity
- Storyblok
In case you select "Assets", you can select the following bucket providers:
(A GitHub Workflow will be created to sync the assets with your bucket)
- GCP Cloud Storage
- AWS S3
- Cloudflare R2
- None
Requirements
- node.js >= 16
- pnpm >= 7
- git
Usage
npx @adevien/svelte-scaffold@latest root-dir
Arguments:
Name | Description |
---|---|
directory | root of the monorepo |
Options:
Option | Description |
---|---|
--force | overwrite existing files (default: false ) |
--verbose | output the messages of subprocesses (default: false ) |
-h , --help | display help for command |
-V , --version | output the version number |