Skip to content

Commit c633783

Browse files
authored
Merge pull request wasp-lang#512 from wasp-lang/franjo/open-saas-cosistency
2 parents 7354134 + 12921ef commit c633783

File tree

8 files changed

+54
-21
lines changed

8 files changed

+54
-21
lines changed

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
.wasp/
33
dist/
44

5-
# OpenSaaS app diff folder.
5+
# Open SaaS app diff folder.
66
app_diff/
77

88
# Formatting `.md` and `.mdx` files can introduce logical changes.

opensaas-sh/blog/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OpenSaaS Docs and Blog
22

3-
This is the docs and blog for the OpenSaaS.sh website, [![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)
3+
This is the docs and blog for the [OpenSaaS.sh](https://opensaas.sh/) website, [![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)
44

55

66
## 🚀 Project Structure

opensaas-sh/blog/public/llms-full.txt

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ If you find this template useful, consider giving us [a star on GitHub](https://
2323
## What's inside?
2424

2525
The template itself is built on top of some very powerful tools and frameworks, including:
26-
- [Wasp](https://wasp.sh) - a full-stack React, NodeJS, Prisma framework with superpowers- [Astro](https://starlight.astro.build/) - Astro's lightweight "Starlight" template for documentation and blog
26+
- [Wasp](https://wasp.sh) - a full-stack React, NodeJS, Prisma framework with superpowers
27+
- [Astro](https://starlight.astro.build/) - Astro's lightweight "Starlight" template for documentation and blog
2728
- [Stripe](https://stripe.com) or [Lemon Squeezy](https://lemonsqueezy.com/) - for products and payments
2829
- [Plausible](https://plausible.io) or [Google](https://analytics.google.com/) Analytics
2930
- [OpenAI](https://openai.com) - OpenAI API integrated into the app or [Replicate](https://replicate.com/) (coming soon )
@@ -64,7 +65,7 @@ If you prefer video tutorials, you can watch this walkthrough below which will g
6465
### Pre-requisites
6566

6667
You must have Node.js (and NPM) installed on your machine and available in `PATH` to use Wasp.
67-
Your version of Node.js must be >= 20.
68+
Your version of Node.js must be >= 22.12.
6869

6970
To switch easily between Node.js versions, we recommend using [nvm](https://github.com/nvm-sh/nvm).
7071

@@ -128,7 +129,7 @@ Once Rosetta is installed, you should be able to run Wasp without any issues.
128129

129130
### Windows
130131

131-
In order to use Wasp on Windows, you need to install WSL2 (Windows Subsystem for Linux) and a Linux distribution of your choice. We recommend using Ubuntu.
132+
In order to use Wasp on Windows, you need to install WSL2 (Windows Subsystem for Linux) and a Linux distribution of your choice. We recommend using Ubuntu.
132133

133134
**You can refer to this [article](https://wasp.sh/blog/2023/11/21/guide-windows-development-wasp-wsl) for a step by step guide to using Wasp in the WSL environment.** If you need further help, reach out to us on [Discord](https://discord.gg/rzdnErX).
134135

@@ -173,7 +174,7 @@ curl -sSL https://get.wasp.sh/installer.sh | sh
173174
</summary>
174175
If you are using WSL2, make sure that your Wasp project is not on the Windows file system, <b>but instead on the Linux file system</b>. Otherwise, Wasp won't be able to detect file changes, due to this <a href='https://github.com/microsoft/WSL/issues/4739'>issue in WSL2</a>.
175176
</details>
176-
:::
177+
:::
177178

178179
### Finalize Installation
179180

@@ -191,7 +192,7 @@ You can install the Wasp VSCode extension by searching for "Wasp" in the Extensi
191192

192193
## Setting up your SaaS app
193194

194-
### Cloning the OpenSaaS template
195+
### Cloning the Open SaaS template
195196

196197
From the directory where you'd like to create your new project run:
197198
```sh
@@ -355,7 +356,7 @@ We've structured this full-stack app template vertically (by feature). That mean
355356
Let's check out what's in the `app` folder in more detail:
356357

357358
:::caution[v0.13 and below]
358-
If you are using an older version of the OpenSaaS template with Wasp `v0.13.x` or below, you may see a slightly different file structure. But don't worry, the vast majority of the code and features are the same!
359+
If you are using an older version of the Open SaaS template with Wasp `v0.13.x` or below, you may see a slightly different file structure. But don't worry, the vast majority of the code and features are the same!
359360
:::
360361

361362
```sh
@@ -874,7 +875,7 @@ To create a Google OAuth app and get your Google API keys, follow the instructio
874875

875876
To create a GitHub OAuth app and get your GitHub API keys, follow the instructions in [Wasp's GitHub Auth docs](https://wasp.sh/docs/auth/social-auth/github#3-creating-a-github-oauth-app).
876877

877-
To create a Discord OAuth app and get your Discord API keys, follow the instructions in [Wasp's Discord Auth docs](docs/auth/social-auth/google#3-creating-a-google-oauth-app)
878+
To create a Discord OAuth app and get your Discord API keys, follow the instructions in [Wasp's Discord Auth docs](https://wasp.sh/docs/auth/social-auth/discord#3-creating-a-discord-app)
878879

879880
Again, Wasp will take care of the rest and update your AuthUI components accordingly.
880881

@@ -1287,13 +1288,7 @@ export const stripe = new Stripe(process.env.STRIPE_KEY!, {
12871288
2. click on `+ add endpoint`
12881289
3. enter your endpoint url, which will be the url of your deployed server + `/payments-webhook`, e.g. `https://open-saas-wasp-sh-server.fly.dev/payments-webhook`
12891290

1290-
4. select the events you want to listen to. These should be the same events you're consuming in your webhook. For example, if you haven't added any additional events to the webhook and are using the defaults that came with this template, then you'll need to add:
1291-
<br/>- `account.updated`
1292-
<br/>- `checkout.session.completed`
1293-
<br/>- `customer.subscription.deleted`
1294-
<br/>- `customer.subscription.updated`
1295-
<br/>- `invoice.paid`
1296-
<br/>- `payment_intent.succeeded`
1291+
4. select the events you want to listen to. These should be the same events you're consuming in your webhook which you can find listed in [`src/payment/stripe/webhookPayload.ts`](https://github.com/wasp-lang/open-saas/blob/main/template/app/src/payment/stripe/webhookPayload.ts):
12971292

12981293
5. after that, go to the webhook you just created and `reveal` the new signing secret.
12991294
6. add this secret to your deployed server's `STRIPE_WEBHOOK_SECRET=` environment variable. <br/>If you've deployed to Fly.io, you can do that easily with the following command:
@@ -2015,6 +2010,43 @@ The method you choose is up to you and will largely depend on the complexity of
20152010

20162011
---
20172012

2013+
# Vibe Coding with Open SaaS
2014+
2015+
If you're looking to use AI to help build (or "vibe code") your SaaS app, this guide is for you.
2016+
2017+
## Coding with AI, Open SaaS, & Wasp
2018+
2019+
Wasp is particularly well suited to coding with AI due to its central config file which gives LLMs context about the entire full-stack app, and its ability to manage boilerplate code so AI doesn't have to.
2020+
2021+
Regardless, there are still some shortcomings to using AI to code with Wasp, as well as a learning curve to using it effectively.
2022+
2023+
Luckily, we did the work for you and put together a bunch of resources to help you use Wasp & Open SaaS with AI as effectively as possible.
2024+
2025+
### AI Resources in the Template
2026+
2027+
The template comes with:
2028+
- A full set of rules files, `app/.cursor/rules`, to be used with Cursor or adapted to your coding tool of choice (Windsurf, Claude Code, etc.).
2029+
- A set of example prompts, `app/.cursor/example-prompts.md`, to help you get started.
2030+
2031+
### LLM-Friendly Documentation
2032+
2033+
We've also created a bunch of LLM-friendly documentation:
2034+
- [Open SaaS Docs - LLMs.txt](https://docs.opensaas.sh/llms.txt) - Links to the raw text docs.
2035+
- **[Open SaaS Docs - LLMs-full.txt](https://docs.opensaas.sh/llms-full.txt) - Complete docs as one text file.**
2036+
- Coming Soon! ~~[Wasp Docs - LLMs.txt](https://wasp.sh/llms.txt)~~ - Links to the raw text docs.
2037+
- Coming Soon! ~~[Wasp Docs - LLMs-full.txt](https://wasp.sh/llms-full.txt)~~ - Complete docs as one text file.
2038+
2039+
Add these to your AI-assisted IDE settings so you can easily reference them in your chat sessions with the LLM.
2040+
**In most cases, you'll want to pass the `llms-full.txt` to the LLM and ask it to help you with a specific task.**
2041+
2042+
### More AI-assisted Coding Learning Resources
2043+
2044+
Here's a list of articles and tutorials we've made:
2045+
- [3hr YouTube tutorial: Vibe Coding a Personal Finance App w/ Wasp & Cursor](https://www.youtube.com/watch?v=WYzEROo7reY)
2046+
- [Article: A Structured Workflow for "Vibe Coding" Full-Stack Apps](https://dev.to/wasp/a-structured-workflow-for-vibe-coding-full-stack-apps-352l)
2047+
2048+
---
2049+
20182050
# Admin Dashboard
20192051

20202052
This is a reference on how the Admin dashboard, available at `/admin`, is set up.

opensaas-sh/blog/public/llms.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
- [SEO](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/guides/seo.mdx)
2121
- [Tests](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/guides/tests.md)
2222
- [How (Not) to Update Your Open SaaS App](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/guides/updating-opensaas.md)
23+
- [Vibe Coding with Open SaaS](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/guides/vibe-coding.mdx)
2324
- [Admin Dashboard](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/general/admin-dashboard.mdx)
2425
- [User Overview](https://raw.githubusercontent.com/wasp-lang/open-saas/main/opensaas-sh/blog/src/content/docs/general/user-overview.md)

opensaas-sh/blog/src/content/docs/blog/2024-12-10-turboreel-os-ai-video-generator-built-with-open-saas.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Here's a video presenting Open SaaS, generated with TurboReel 🐝
3838

3939
## TurboReel's Tech Stack
4040

41-
TurboReel lets users generate short explainer videos with minimal effort. Starting with a single text prompt describing the video's purpose (e.g. “Create a video on building your SaaS with OpenSaaS”), you can produce professional grade TikTok and YT shorts without needing any video editing skills.
41+
TurboReel lets users generate short explainer videos with minimal effort. Starting with a single text prompt describing the video's purpose (e.g. “Create a video on building your SaaS with Open SaaS”), you can produce professional grade TikTok and YT shorts without needing any video editing skills.
4242

4343
<VideoPlayer src={studioInterface} lgWidth="100%" />
4444

@@ -116,7 +116,7 @@ app myApp {
116116

117117
### Out-of-the-box Stripe integration
118118

119-
Another significant advantage for Peter was how Open SaaS handled third-party integrations. Setting up services like [**Stripe for payments**](https://docs.opensaas.sh/guides/payments-integration/) often requires a lot of effort, but Wasp's OpenSaaS streamlined the process - you just need to add your API key and you're good to go.
119+
Another significant advantage for Peter was how Open SaaS handled third-party integrations. Setting up services like [**Stripe for payments**](https://docs.opensaas.sh/guides/payments-integration/) often requires a lot of effort, but Wasp's Open SaaS streamlined the process - you just need to add your API key and you're good to go.
120120

121121
> *"Payments are usually a huge headache, but Open SaaS made it so smooth. I didn't have to spend weeks integrating Stripe—it just worked. That gave me more time to focus on TurboReel's core functionality.*"
122122

opensaas-sh/blog/src/content/docs/start/getting-started.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ You can install the Wasp VSCode extension by searching for "Wasp" in the Extensi
145145

146146
## Setting up your SaaS app
147147

148-
### Cloning the OpenSaaS template
148+
### Cloning the Open SaaS template
149149

150150
From the directory where you'd like to create your new project run:
151151
```sh

opensaas-sh/blog/src/content/docs/start/guided-tour.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ We've structured this full-stack app template vertically (by feature). That mean
5353
Let's check out what's in the `app` folder in more detail:
5454

5555
:::caution[v0.13 and below]
56-
If you are using an older version of the OpenSaaS template with Wasp `v0.13.x` or below, you may see a slightly different file structure. But don't worry, the vast majority of the code and features are the same! 😅
56+
If you are using an older version of the Open SaaS template with Wasp `v0.13.x` or below, you may see a slightly different file structure. But don't worry, the vast majority of the code and features are the same! 😅
5757
:::
5858

5959
```sh

template/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# <YOUR_APP_NAME>
22

3-
This project is based on [OpenSaas](https://opensaas.sh) template and consists of three main dirs:
3+
This project is based on [Open Saas](https://opensaas.sh) template and consists of three main dirs:
44

55
1. `app` - Your web app, built with [Wasp](https://wasp.sh).
66
2. `e2e-tests` - [Playwright](https://playwright.dev/) tests for your Wasp web app.

0 commit comments

Comments
 (0)