diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cbb1854..0753eb3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -312,7 +312,7 @@ importers:
version: 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0)
'@t3-oss/env-nextjs':
specifier: ^0.9.2
- version: 0.9.2(typescript@5.4.5)(zod@3.23.4)
+ version: 0.9.2(typescript@5.4.5)(zod@3.23.8)
'@tanstack/react-query':
specifier: ^5.29.2
version: 5.32.0(react@18.2.0)
@@ -342,7 +342,7 @@ importers:
version: 0.29.5(@types/react@18.3.1)(pg@8.11.5)(postgres@3.4.4)(react@18.2.0)
drizzle-zod:
specifier: ^0.5.1
- version: 0.5.1(drizzle-orm@0.29.5)(zod@3.23.4)
+ version: 0.5.1(drizzle-orm@0.29.5)(zod@3.23.8)
fumadocs-core:
specifier: ^11.1.1
version: 11.1.1(@types/react@18.3.1)(next@14.2.3)(react-dom@18.2.0)(react@18.2.0)
@@ -440,8 +440,8 @@ importers:
specifier: ^0.9.0
version: 0.9.0(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0)
zod:
- specifier: ^3.22.4
- version: 3.23.4
+ specifier: ^3.23.8
+ version: 3.23.8
zustand:
specifier: ^4.5.2
version: 4.5.2(@types/react@18.3.1)(react@18.2.0)
@@ -1309,14 +1309,14 @@ packages:
engines: {node: '>=18.14.1'}
dev: true
- /@hono/zod-validator@0.2.1(hono@4.2.9)(zod@3.23.4):
+ /@hono/zod-validator@0.2.1(hono@4.2.9)(zod@3.23.8):
resolution: {integrity: sha512-HFoxln7Q6JsE64qz2WBS28SD33UB2alp3aRKmcWnNLDzEL1BLsWfbdX6e1HIiUprHYTIXf5y7ax8eYidKUwyaA==}
peerDependencies:
hono: '>=3.9.0'
zod: ^3.19.1
dependencies:
hono: 4.2.9
- zod: 3.23.4
+ zod: 3.23.8
dev: true
/@hookform/resolvers@3.3.4(react-hook-form@7.51.3):
@@ -2991,6 +2991,19 @@ packages:
zod: 3.23.4
dev: false
+ /@t3-oss/env-core@0.9.2(typescript@5.4.5)(zod@3.23.8):
+ resolution: {integrity: sha512-KgWXljUTHgO3o7GMZQPAD5+P+HqpauMNNHowlm7V2b9IeMitSUpNKwG6xQrup/xARWHTdxRVIl0mSI4wCevQhQ==}
+ peerDependencies:
+ typescript: '>=5.0.0'
+ zod: ^3.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.4.5
+ zod: 3.23.8
+ dev: false
+
/@t3-oss/env-nextjs@0.9.2(typescript@5.4.5)(zod@3.23.4):
resolution: {integrity: sha512-dklHrgKLESStNVB67Jdbu6osxDYA+xNKaPBRerlnkEvzbCccSKMvZENx6EZebJuR4snqB3/yRykNMn/bdIAyiQ==}
peerDependencies:
@@ -3005,6 +3018,20 @@ packages:
zod: 3.23.4
dev: false
+ /@t3-oss/env-nextjs@0.9.2(typescript@5.4.5)(zod@3.23.8):
+ resolution: {integrity: sha512-dklHrgKLESStNVB67Jdbu6osxDYA+xNKaPBRerlnkEvzbCccSKMvZENx6EZebJuR4snqB3/yRykNMn/bdIAyiQ==}
+ peerDependencies:
+ typescript: '>=5.0.0'
+ zod: ^3.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@t3-oss/env-core': 0.9.2(typescript@5.4.5)(zod@3.23.8)
+ typescript: 5.4.5
+ zod: 3.23.8
+ dev: false
+
/@tailwindcss/typography@0.5.13(tailwindcss@3.4.3):
resolution: {integrity: sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==}
peerDependencies:
@@ -4503,7 +4530,7 @@ packages:
dependencies:
'@esbuild-kit/esm-loader': 2.6.5
'@hono/node-server': 1.11.1
- '@hono/zod-validator': 0.2.1(hono@4.2.9)(zod@3.23.4)
+ '@hono/zod-validator': 0.2.1(hono@4.2.9)(zod@3.23.8)
camelcase: 7.0.1
chalk: 5.3.0
commander: 9.5.0
@@ -4517,7 +4544,7 @@ packages:
minimatch: 7.4.6
semver: 7.6.0
superjson: 2.2.1
- zod: 3.23.4
+ zod: 3.23.8
transitivePeerDependencies:
- supports-color
dev: true
@@ -4534,7 +4561,7 @@ packages:
glob: 8.1.0
hanji: 0.0.5
json-diff: 0.9.0
- zod: 3.23.4
+ zod: 3.23.8
transitivePeerDependencies:
- supports-color
dev: true
@@ -4700,14 +4727,14 @@ packages:
postgres: 3.4.4
dev: false
- /drizzle-zod@0.5.1(drizzle-orm@0.29.5)(zod@3.23.4):
+ /drizzle-zod@0.5.1(drizzle-orm@0.29.5)(zod@3.23.8):
resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==}
peerDependencies:
drizzle-orm: '>=0.23.13'
zod: '*'
dependencies:
drizzle-orm: 0.29.5(@types/react@18.3.1)(pg@8.11.5)(postgres@3.4.4)(react@18.2.0)
- zod: 3.23.4
+ zod: 3.23.8
dev: false
/eastasianwidth@0.2.0:
@@ -10300,10 +10327,10 @@ packages:
/zod@3.23.4:
resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==}
+ dev: false
/zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
- dev: false
/zustand@4.5.2(@types/react@18.3.1)(react@18.2.0):
resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==}
diff --git a/starterkits/saas/content/blogs/create-saas-in-1-day.mdx b/starterkits/saas/content/blogs/create-saas-in-1-day.mdx
new file mode 100644
index 0000000..a47a6a3
--- /dev/null
+++ b/starterkits/saas/content/blogs/create-saas-in-1-day.mdx
@@ -0,0 +1,65 @@
+---
+title: Create a SaaS in 1 day
+publishedAt: 2022-01-01
+readTime: 5 min
+tags: ["saas", "introduction"]
+description: This is the introduction
+thumbnail: https://fakeimg.pl/700x400/d1d1d1/6b6b6b
+---
+
+
+## This is the introduction
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+
+
+
+### This is the long heading 3
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+### This is the long heading 4
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+### This is the long heading 5
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+### short heading 6
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+
+
+
+## This is the first step
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+
+
+
+## This is the first step
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+This is the first step
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+
+
\ No newline at end of file
diff --git a/starterkits/saas/content/blogs/introduction.mdx b/starterkits/saas/content/blogs/introduction.mdx
new file mode 100644
index 0000000..7d7d8fe
--- /dev/null
+++ b/starterkits/saas/content/blogs/introduction.mdx
@@ -0,0 +1,120 @@
+---
+title: Introduction
+publishedAt: 2022-01-01
+readTime: 5 min
+tags: ["introduction", "saas"]
+description: This is the introduction
+thumbnail: https://fakeimg.pl/700x400/d1d1d1/6b6b6b
+---
+
+## Introduction
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+## Heading 2
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+### Heading 3
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+#### Heading 4
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+##### Heading 5
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+###### Heading 6
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
+
+
+
+
+
+This is the first step
+
+
+
+
+
+This is the second step
+
+
+
+
+
+```tsx
+import {useState} from "react";
+
+function Counter() {
+ const [count, setCount] = useState(0);
+
+ return (
+