You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -299,6 +299,35 @@ After defining the environment variables in your GitHub Actions, your localizati
299
299
└── tsconfig.json # TypeScript configuration
300
300
```
301
301
302
+
### Getting started with the SaaS Boilerplate skill
303
+
304
+
> [!WARNING]
305
+
> Use the `saas-builder` skill only when you want to start a new project. The skill clones and sets up a new boilerplate project for you.
306
+
307
+
If you want an AI coding agent to clone, verify, and build your SaaS on top of this boilerplate, install the `saas-builder` skill:
308
+
309
+
```shell
310
+
npx skills add ixartz/saas-boilerplate
311
+
```
312
+
313
+
The skill works with Codex, Claude Code, and other agents that support the Agent Skills standard.
314
+
315
+
Be as detailed as possible when describing your SaaS idea. The more context you provide about the product, users, features, and requirements, the better the AI agent can build the right application.
316
+
317
+
In Codex, run:
318
+
319
+
```text
320
+
codex
321
+
$saas-builder Build a SaaS for <your idea>.
322
+
```
323
+
324
+
In Claude Code, run:
325
+
326
+
```text
327
+
claude
328
+
/saas-builder Build a SaaS for <your idea>.
329
+
```
330
+
302
331
### Customization
303
332
304
333
You can easily configure Next.js SaaS Boilerplate by searching the entire project for `FIXME:` to make quick customization. Here are some of the most important files to customize:
Copy file name to clipboardExpand all lines: skills/saas-builder/SKILL.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,8 @@ cd <target-directory>
19
19
npm install
20
20
```
21
21
22
+
Users usually run `npx skills add ixartz/saas-boilerplate` from a parent/root directory; it creates `.agents/` there and clones the boilerplate into `<target-directory>`. Since the app is one level below the agent's initial cwd, `cd <target-directory>` before reading app files or running project commands, and confirm `package.json`, `src/`, and `skills/` exist.
23
+
22
24
Then verify the baseline:
23
25
24
26
```bash
@@ -32,9 +34,9 @@ Setup and verification commands are hard gates. Do not continue to mapping or im
32
34
33
35
- Use the verified clone as the source of truth. Inspect current files before making claims or edits.
34
36
- Keep changes minimal. Do not reformat unrelated files.
35
-
- Preserve `src/components/DemoBadge.tsx` and its layout usage.
37
+
- Preserve `src/components/DemoBadge.tsx` and its layout usage. Also preserve `src/app/[locale]/(auth)/dashboard/page.tsx`.
36
38
- Use marketing routes only for promotional content.
37
-
- Build product workflows as authenticated dashboard pages: CRUD, data entry, tools, and customer-specific views.
39
+
- Build product workflows as dedicated authenticated dashboard feature pages, not in the dashboard index: use `src/app/[locale]/(auth)/dashboard/<feature>/page.tsx` for CRUD, data entry, tools, and customer-specific views.
38
40
39
41
## Project Conventions
40
42
@@ -43,6 +45,8 @@ Setup and verification commands are hard gates. Do not continue to mapping or im
43
45
- Put user-visible copy in every supported locale file.
44
46
- Prefer existing Clerk account and organization features before custom auth flows.
45
47
- Follow nearby style and import conventions.
48
+
- Run `npm run db:generate` whenever `src/models/Schema.ts` changes.
49
+
- Make new components visually polished and consistent with the current UI: reuse existing Shadcn/Radix primitives, Tailwind tokens, spacing, typography, states, and responsive patterns before introducing new visual treatments.
46
50
- React Compiler is enabled, so don't add `useMemo` or `useCallback`.
47
51
48
52
## MVP Scope
@@ -68,13 +72,13 @@ Use these as starting search targets:
68
72
- Locales and i18n: `src/locales/en.json`, `src/locales/fr.json`
69
73
- Database schema: `src/models/Schema.ts`
70
74
- Marketing: `src/app/[locale]/(marketing)`
71
-
- User dashboard: `src/app/[locale]/(auth)/dashboard/`
75
+
- User dashboard overview: `src/app/[locale]/(auth)/dashboard/page.tsx`
- Use a tenant only for the top-level organization a user can join and switch between, where membership, permissions, billing, collaboration, or data isolation are scoped.
77
-
- Model sub-entities as organization-owned Drizzle records scoped by `organizationId`; user-owned records use `userId`.
81
+
- Model sub-entities as Drizzle records scoped by a single `ownerId` field.
78
82
- Prefer existing Clerk and boilerplate features before custom flows.
0 commit comments