-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit ef08377
Showing
121 changed files
with
16,799 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
You are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind. | ||
|
||
Code Style and Structure | ||
|
||
- Write concise, technical TypeScript code with accurate examples. | ||
- Use functional and declarative programming patterns; avoid classes. | ||
- Prefer iteration and modularization over code duplication. | ||
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError). | ||
|
||
Naming Conventions | ||
|
||
- Use lowercase with dashes for directories (e.g., components/auth-wizard). | ||
- Favor named exports for components. | ||
|
||
TypeScript Usage | ||
|
||
- Use TypeScript for all code. | ||
- Avoid enums; use maps instead. | ||
- Use functional components with TypeScript interfaces. | ||
|
||
Syntax and Formatting | ||
|
||
- Use the "function" keyword for pure functions. | ||
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements. | ||
- Use declarative JSX. | ||
|
||
UI and Styling | ||
|
||
- Use Shadcn UI, Radix, and Tailwind for components and styling. | ||
- Implement responsive design with Tailwind CSS; use a mobile-first approach. | ||
|
||
Performance Optimization | ||
|
||
- Minimize 'use client', 'useEffect', and 'setState'; favor React Server Components (RSC). | ||
- Use dynamic loading for non-critical components. | ||
- Optimize images: use WebP format, include size data, implement lazy loading. | ||
|
||
Key Conventions | ||
|
||
- Optimize Web Vitals (LCP, CLS, FID). | ||
- Limit 'use client': | ||
- Favor server components and Next.js SSR. | ||
- Use only for Web API access in small components. | ||
- Avoid for data fetching or state management. | ||
|
||
Follow Next.js docs for Data Fetching, Rendering, and Routing. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
NEXT_PUBLIC_APP_NAME=Acme | ||
NEXT_PUBLIC_APP_DESCRIPTION="Acme app description" | ||
NEXT_PUBLIC_ENABLE_COMING_SOON="false" | ||
# @your-twitter-handle | ||
NEXT_PUBLIC_TWITTER_CREATOR= | ||
# set to "true" to allow promotion codes at checkout | ||
NEXT_PUBLIC_ALLOW_PROMOTION_CODES="false" | ||
|
||
|
||
# begin auth related env vars | ||
# required for next auth sign in with email (resend provider) (magic link) | ||
AUTH_EMAIL_FROM="Acme <[email protected]>" | ||
# required for next auth, this should be a random string of at least 32 characters | ||
# you can use `openssl` to generate a random string | ||
# openssl rand -base64 32 | ||
AUTH_SECRET= | ||
# required for google oauth provider | ||
AUTH_GOOGLE_ID= | ||
AUTH_GOOGLE_SECRET= | ||
# end auth related env vars | ||
|
||
# database related env vars | ||
POSTGRES_URL= | ||
|
||
# posthog related env vars (found in your posthog project settings) | ||
NEXT_PUBLIC_POSTHOG_KEY= | ||
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com | ||
NEXT_PUBLIC_POSTHOG_UI_HOST=https://us.posthog.com | ||
|
||
# resend api key (found in https://resend.com/api-keys) | ||
# required for newsletter functionality, sign in via email (magic link) | ||
RESEND_API_KEY= | ||
# the audience id for your newsletter (create your newsletter audience in resned https://resend.com/audiences) | ||
# required for newsletter functionality | ||
RESEND_NEWSLETTER_AUDIENCE_ID= | ||
|
||
# stripe related env vars | ||
# test keys https://dashboard.stripe.com/test/apikeys | ||
# live keys https://dashboard.stripe.com/apikeys | ||
# test webhooks https://dashboard.stripe.com/test/webhooks | ||
# live webhooks https://dashboard.stripe.com/webhooks | ||
STRIPE_SECRET_KEY= | ||
STRIPE_WEBHOOK_SECRET= | ||
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= | ||
|
||
# sentry related env vars (sentry.io) | ||
NEXT_PUBLIC_SENTRY_DSN= | ||
SENTRY_AUTH_TOKEN= | ||
SENTRY_ORG= | ||
SENTRY_PROJECT= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
.env | ||
.vscode/ | ||
.next/ | ||
node_modules/ | ||
*.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"$schema": "https://json.schemastore.org/eslintrc", | ||
"root": true, | ||
"extends": [ | ||
"next/core-web-vitals", | ||
"prettier", | ||
"plugin:tailwindcss/recommended" | ||
], | ||
"plugins": ["tailwindcss"], | ||
"rules": { | ||
"tailwindcss/no-custom-classname": "off" | ||
}, | ||
"settings": { | ||
"tailwindcss": { | ||
"callees": ["cn", "cva"], | ||
"config": "tailwind.config.ts" | ||
} | ||
}, | ||
"overrides": [ | ||
{ | ||
"files": ["*.ts", "*.tsx"], | ||
"parser": "@typescript-eslint/parser" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
||
# dependencies | ||
/node_modules | ||
/.pnp | ||
.pnp.js | ||
.yarn/install-state.gz | ||
|
||
# testing | ||
/coverage | ||
|
||
# next.js | ||
/.next/ | ||
/out/ | ||
|
||
# production | ||
/build | ||
|
||
# misc | ||
.DS_Store | ||
*.pem | ||
|
||
# debug | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
|
||
# local env files | ||
.env*.local | ||
.env | ||
|
||
# vercel | ||
.vercel | ||
|
||
# typescript | ||
*.tsbuildinfo | ||
next-env.d.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
lts/iron |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.env | ||
*.json | ||
.vscode | ||
dist | ||
.next | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{ | ||
"editor.codeActionsOnSave": { | ||
"source.fixAll.eslint": "explicit" | ||
}, | ||
"editor.formatOnSave": true, | ||
"[sql]": { | ||
"editor.formatOnSave": false | ||
}, | ||
"editor.rulers": [120], | ||
"editor.tabCompletion": "on", | ||
"editor.tabSize": 2, | ||
"editor.trimAutoWhitespace": true, | ||
"files.exclude": { | ||
"**/.DS_Store": true, | ||
"**/.git": true, | ||
"**/.hg": true, | ||
"**/.svn": true, | ||
"**/CVS": true, | ||
"**/.gitkeep": true | ||
}, | ||
"files.insertFinalNewline": true, | ||
"files.trimFinalNewlines": true, | ||
"files.trimTrailingWhitespace": true, | ||
"editor.defaultFormatter": "esbenp.prettier-vscode", | ||
"tailwindCSS.experimental.classRegex": [ | ||
"[a-zA-Z]ClassName?=\\s*(?:\"|')([^(?:\"|')]*)", | ||
["classnames\\(([^)]*)\\)", "'([^']*)'"], | ||
"className\\:\\s*(?:\"|')([^(?:\"|')]*)" | ||
], | ||
"search.exclude": { | ||
"**/.next": true | ||
}, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# StartStack.io License Agreement | ||
|
||
**Last Updated: 2024-08-26** | ||
|
||
This License Agreement ("Agreement") is between you ("Licensee") and Schaafsma LLC, the owner of StartStack.io ("Licensor"). By purchasing, downloading, or using the StartStack.io SaaS template ("Template"), you agree to be bound by the terms of this Agreement. If you do not agree to these terms, do not purchase, download, or use the Template. | ||
|
||
## 1. Grant of License | ||
|
||
Subject to the terms of this Agreement, Licensor grants you a non-exclusive, non-transferable, and non-sublicensable license to use the Template for your own personal or commercial projects. | ||
|
||
## 2. Permitted Uses | ||
|
||
You may: | ||
|
||
- Use the Template for creating websites, web applications, or software for yourself or your clients. | ||
- Modify the Template to suit your needs. | ||
- Distribute the Template as part of your own completed projects to your clients, provided that the Template is not the primary selling point of the project. | ||
|
||
## 3. Prohibited Uses | ||
|
||
You may not: | ||
|
||
- Resell, sublicense, or redistribute the Template, or any modified version of the Template, as a stand-alone product. | ||
- Use the Template in a way that competes with StartStack.io or any of its products. | ||
- Share, publish, or otherwise distribute the Template, or any portion thereof, in a way that allows others to download, extract, or reuse the Template as a stand-alone product. | ||
|
||
## 4. Ownership | ||
|
||
The Template is the intellectual property of Schaafsma LLC. This Agreement does not transfer any ownership rights to you. All rights not expressly granted to you under this Agreement are reserved by Licensor. | ||
|
||
## 5. Updates | ||
|
||
Licensor may provide updates or enhancements to the Template. You are entitled to receive such updates for the duration of the original license, unless otherwise stated. | ||
|
||
## 6. Termination | ||
|
||
This license is effective until terminated. Your rights under this license will terminate automatically if you fail to comply with any of its terms. Upon termination, you must cease all use of the Template and destroy all copies, full or partial, of the Template. | ||
|
||
## 7. No Warranty | ||
|
||
The Template is provided "as is" without any warranties, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. Licensor does not warrant that the Template will meet your requirements or that the operation of the Template will be uninterrupted or error-free. | ||
|
||
## 9. Limitation of Liability | ||
|
||
In no event shall Licensor be liable for any damages, including but not limited to direct, indirect, incidental, or consequential damages arising out of the use or inability to use the Template, even if Licensor has been advised of the possibility of such damages. | ||
|
||
## 10. Governing Law | ||
|
||
This Agreement shall be governed by and construed in accordance with the laws of United States of America /Colorado, without regard to its conflict of law principles. Any disputes arising out of or in connection with this Agreement shall be resolved in the courts of United States of America / Colorado. | ||
|
||
## 11. Severability | ||
|
||
If any provision of this Agreement is found to be invalid or unenforceable, the remaining provisions shall remain in full force and effect. | ||
|
||
## 12. Entire Agreement | ||
|
||
This Agreement constitutes the entire agreement between you and Licensor with respect to the Template and supersedes all prior agreements or understandings, whether written or oral. | ||
|
||
## 13. Contact Information | ||
|
||
For any questions regarding this License Agreement, please contact [email protected]. |
Oops, something went wrong.