Create Stapler App 🖇️
Stapler is a CLI tool that scaffolds an entire fullstack app.
It integrates Next.js, Supabase, Vercel, and more, just by running a single command.
The CLI guides you through the setup process and helps you create a new project in minutes.
You don't have to be an expert to get started with Stapler.
This amazing tool is brought to you by awesome Tonik engineer team.
Requirements
System
- node.js
- pnpm (for managing the monorepo in scaffolded project)
- gh cli (will be installed automatically if not found)
- vercel cli (will be installed automatically if not found)
- docker (optional), if you want to use Supabase locally
Accounts
Key Features:
- Scaffolds a fullstack monorepo with the latest packages.
- Integrates Next.js, Supabase, Payload CMS, and Vercel.
- Provides a guided setup process for Supabase, GitHub, and Vercel.
Getting Started
To create a new project, run the following command:
npx @tonik/create-stapler-app
This command will guide you through the setup process and create a new project in the current directory.
Project Structure
/my-stapled-app
.
├── .env
├── README.md
├── apps
│ ├── docs
│ │ ├── README.md
│ │ ├── app
│ │ ├── next-env.d.ts
│ │ ├── next.config.mjs
│ │ ├── package.json
│ │ ├── public
│ │ └── tsconfig.json
│ └── web
│ ├── README.md
│ ├── app
│ │ ├── (app)
│ │ ├── (payload)
│ │ └── my-route
│ ├── collections
│ ├── next-env.d.ts
│ ├── next.config.mjs
│ ├── package.json
│ ├── payload-types.ts
│ ├── payload.config.ts
│ ├── public
│ └── tsconfig.json
├── package.json
├── packages
│ ├── eslint-config
│ │ ├── README.md
│ │ ├── library.js
│ │ ├── next.js
│ │ ├── package.json
│ │ └── react-internal.js
│ ├── typescript-config
│ │ ├── base.json
│ │ ├── nextjs.json
│ │ ├── package.json
│ │ └── react-library.json
│ └── ui
│ ├── package.json
│ ├── src
│ ├── tsconfig.json
│ ├── tsconfig.lint.json
│ └── turbo
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── supabase
│ ├── config.toml
│ ├── package.json
│ ├── seed.sql
│ └── src
│ ├── client.ts
│ ├── index.ts
│ ├── middleware.ts
│ ├── server.ts
│ └── types.ts
└── turbo.json
Key Libraries