@pylonsync/create-pylon 0.3.332 → 0.3.334
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/ARCHETYPES.md +72 -74
- package/templates/_root/AGENTS.md +16 -16
- package/templates/_root/README.md +3 -3
- package/templates/agency/AGENTS.md +30 -30
- package/templates/agency/CLAUDE.md +3 -3
- package/templates/agency/README.md +13 -14
- package/templates/agency/lib/site.config.ts +9 -10
- package/templates/ai-chat/AGENTS.md +30 -30
- package/templates/ai-chat/CLAUDE.md +3 -3
- package/templates/ai-chat/README.md +10 -11
- package/templates/ai-chat/lib/site.config.ts +3 -4
- package/templates/ai-studio/AGENTS.md +30 -30
- package/templates/ai-studio/CLAUDE.md +3 -3
- package/templates/ai-studio/README.md +11 -12
- package/templates/ai-studio/lib/site.config.ts +5 -6
- package/templates/barebones/AGENTS.md +30 -30
- package/templates/barebones/CLAUDE.md +3 -3
- package/templates/barebones/README.md +5 -6
- package/templates/chat/AGENTS.md +30 -30
- package/templates/chat/CLAUDE.md +3 -3
- package/templates/chat/README.md +4 -6
- package/templates/consumer/AGENTS.md +30 -30
- package/templates/consumer/CLAUDE.md +3 -3
- package/templates/consumer/README.md +5 -6
- package/templates/creator/AGENTS.md +30 -30
- package/templates/creator/CLAUDE.md +3 -3
- package/templates/creator/README.md +11 -13
- package/templates/creator/lib/site.config.ts +6 -8
- package/templates/default/AGENTS.md +30 -30
- package/templates/default/CLAUDE.md +3 -3
- package/templates/default/README.md +8 -10
- package/templates/default/app/auth-shell.tsx +2 -2
- package/templates/default/lib/site.config.ts +26 -29
- package/templates/directory/AGENTS.md +30 -30
- package/templates/directory/CLAUDE.md +3 -3
- package/templates/directory/README.md +10 -14
- package/templates/directory/lib/site.config.ts +7 -9
- package/templates/local-service/AGENTS.md +30 -30
- package/templates/local-service/CLAUDE.md +3 -3
- package/templates/local-service/README.md +12 -15
- package/templates/local-service/lib/site.config.ts +8 -9
- package/templates/marketplace/AGENTS.md +30 -30
- package/templates/marketplace/CLAUDE.md +3 -3
- package/templates/marketplace/README.md +7 -8
- package/templates/marketplace/app/page.tsx +2 -2
- package/templates/restaurant/AGENTS.md +30 -30
- package/templates/restaurant/CLAUDE.md +3 -3
- package/templates/restaurant/README.md +10 -13
- package/templates/restaurant/lib/site.config.ts +7 -8
- package/templates/shop/AGENTS.md +30 -30
- package/templates/shop/CLAUDE.md +3 -3
- package/templates/shop/README.md +11 -13
- package/templates/shop/lib/site.config.ts +4 -5
- package/templates/todo/AGENTS.md +30 -30
- package/templates/todo/CLAUDE.md +3 -3
- package/templates/todo/README.md +4 -6
- package/templates/waitlist/AGENTS.md +30 -30
- package/templates/waitlist/CLAUDE.md +3 -3
- package/templates/waitlist/README.md +12 -16
- package/templates/waitlist/lib/site.config.ts +11 -12
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# __APP_NAME__
|
|
2
2
|
|
|
3
|
-
A pre-launch
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
API server.
|
|
3
|
+
A pre-launch landing page built with [Pylon](https://pylonsync.com), with a
|
|
4
|
+
server-rendered marketing page, live signup counter, and private owner
|
|
5
|
+
dashboard.
|
|
7
6
|
|
|
8
|
-
The
|
|
9
|
-
counter ticks up in realtime for everyone with the page open.
|
|
7
|
+
The signup counter updates on every open page as people join the waitlist.
|
|
10
8
|
|
|
11
9
|
## Develop
|
|
12
10
|
|
|
@@ -14,23 +12,22 @@ counter ticks up in realtime for everyone with the page open.
|
|
|
14
12
|
__RUN_DEV__
|
|
15
13
|
```
|
|
16
14
|
|
|
17
|
-
Open http://localhost:4321
|
|
18
|
-
|
|
19
|
-
backend doing its thing.
|
|
15
|
+
Open http://localhost:4321, submit an email in one tab, and watch the counter
|
|
16
|
+
increment in another without refreshing.
|
|
20
17
|
|
|
21
18
|
## How the realtime works
|
|
22
19
|
|
|
23
|
-
- `functions/joinWaitlist.ts
|
|
20
|
+
- `functions/joinWaitlist.ts`: a public **mutation** that validates, lowercases,
|
|
24
21
|
and dedupes the email, then inserts one `Signup` row. The insert fires a
|
|
25
22
|
change event.
|
|
26
|
-
- `functions/waitlistCount.ts
|
|
23
|
+
- `functions/waitlistCount.ts`: a public **query** the landing page subscribes
|
|
27
24
|
to with `db.useReactiveQuery`. The server records that it read the `Signup`
|
|
28
25
|
table, so every new signup re-runs it and pushes the fresh count to every open
|
|
29
26
|
tab. No polling.
|
|
30
27
|
- The counter island (`app/waitlist-hero.tsx`) is wrapped in `<EnsureGuest>`,
|
|
31
28
|
which mints an anonymous session so the live WebSocket can connect.
|
|
32
29
|
|
|
33
|
-
## Privacy
|
|
30
|
+
## Privacy
|
|
34
31
|
|
|
35
32
|
The `Signup` entity holds visitor emails (PII), so its policy in `app.ts`
|
|
36
33
|
**denies every client read and write**. Emails can never be pulled from the
|
|
@@ -50,10 +47,9 @@ account can see signups; anyone else gets a locked screen.
|
|
|
50
47
|
|
|
51
48
|
## Rebrand it
|
|
52
49
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
CSS.
|
|
50
|
+
Brand, colors, hero copy, value props, social proof, and FAQ content live in
|
|
51
|
+
**`lib/site.config.ts`**. Edit or generate that file to update the page without
|
|
52
|
+
changing JSX or CSS.
|
|
57
53
|
|
|
58
54
|
## Layout
|
|
59
55
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
// read from here and stay generic.
|
|
1
|
+
// Business-specific copy and settings live here. The landing page and layout
|
|
2
|
+
// both read this file.
|
|
4
3
|
//
|
|
5
4
|
// Colors live here too (applied as CSS variables on <html> in app/layout.tsx),
|
|
6
|
-
// so
|
|
5
|
+
// so re-theming does not require changes to globals.css.
|
|
7
6
|
//
|
|
8
|
-
// Fictional demo copy
|
|
7
|
+
// Fictional demo copy. Replace the values and keep the shape.
|
|
9
8
|
|
|
10
9
|
/* ----------------------------- types ----------------------------- */
|
|
11
10
|
|
|
@@ -65,7 +64,7 @@ export const siteConfig: WaitlistConfig = {
|
|
|
65
64
|
domain: "lumo.app",
|
|
66
65
|
email: "hello@lumo.example",
|
|
67
66
|
footerBlurb:
|
|
68
|
-
"Lumo
|
|
67
|
+
"Lumo keeps projects, notes, and tasks in one focused workspace. Join the list for an early invite.",
|
|
69
68
|
copyrightName: "Lumo, Inc.",
|
|
70
69
|
socials: [
|
|
71
70
|
{
|
|
@@ -91,9 +90,9 @@ export const siteConfig: WaitlistConfig = {
|
|
|
91
90
|
|
|
92
91
|
hero: {
|
|
93
92
|
badge: "Launching this fall",
|
|
94
|
-
headline: "
|
|
93
|
+
headline: "Projects, notes, and tasks in one calm place.",
|
|
95
94
|
subcopy:
|
|
96
|
-
"Lumo
|
|
95
|
+
"Lumo keeps your projects, notes, and tasks together in a focused workspace. Join the list for an early invite.",
|
|
97
96
|
emailPlaceholder: "you@work.com",
|
|
98
97
|
ctaLabel: "Join the waitlist",
|
|
99
98
|
successMessage: "You're on the list — we'll email your invite soon.",
|
|
@@ -107,7 +106,7 @@ export const siteConfig: WaitlistConfig = {
|
|
|
107
106
|
|
|
108
107
|
valueProps: {
|
|
109
108
|
eyebrow: "Why Lumo",
|
|
110
|
-
headline: "
|
|
109
|
+
headline: "Keep your attention on the work.",
|
|
111
110
|
items: [
|
|
112
111
|
{
|
|
113
112
|
icon: "◇",
|
|
@@ -122,7 +121,7 @@ export const siteConfig: WaitlistConfig = {
|
|
|
122
121
|
{
|
|
123
122
|
icon: "✦",
|
|
124
123
|
title: "Calm by default",
|
|
125
|
-
body: "
|
|
124
|
+
body: "Lumo keeps notifications and feeds quiet, then shows the work that needs attention now.",
|
|
126
125
|
},
|
|
127
126
|
],
|
|
128
127
|
},
|
|
@@ -132,13 +131,13 @@ export const siteConfig: WaitlistConfig = {
|
|
|
132
131
|
quotes: [
|
|
133
132
|
{
|
|
134
133
|
quote:
|
|
135
|
-
"I've tried every productivity app out there. Lumo is the first one that
|
|
134
|
+
"I've tried every productivity app out there. Lumo is the first one that leaves me calmer after planning my week.",
|
|
136
135
|
name: "Maya Chen",
|
|
137
136
|
role: "Product designer",
|
|
138
137
|
},
|
|
139
138
|
{
|
|
140
139
|
quote:
|
|
141
|
-
"
|
|
140
|
+
"All my half-finished projects are in one place. I check it every morning and know what to do next.",
|
|
142
141
|
name: "Daniel Reyes",
|
|
143
142
|
role: "Indie founder",
|
|
144
143
|
},
|