create-stackforge 0.0.1

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.
Files changed (165) hide show
  1. package/README.md +125 -0
  2. package/bin/cli.js +2 -0
  3. package/dist/cli.js +3148 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/npm-registry-F7EVX3RR.js +18 -0
  6. package/dist/npm-registry-F7EVX3RR.js.map +1 -0
  7. package/package.json +74 -0
  8. package/templates/api/graphql/client-usage.jsx +14 -0
  9. package/templates/api/graphql/client-usage.tsx +14 -0
  10. package/templates/api/graphql/client.js +12 -0
  11. package/templates/api/graphql/client.ts +12 -0
  12. package/templates/api/graphql/route.js +32 -0
  13. package/templates/api/graphql/route.ts +23 -0
  14. package/templates/api/graphql/schema.graphql +13 -0
  15. package/templates/api/graphql/vite-server.js +27 -0
  16. package/templates/api/graphql/vite-server.ts +27 -0
  17. package/templates/api/rest/client-usage.jsx +14 -0
  18. package/templates/api/rest/client-usage.tsx +14 -0
  19. package/templates/api/rest/client.js +4 -0
  20. package/templates/api/rest/client.ts +4 -0
  21. package/templates/api/rest/route.js +3 -0
  22. package/templates/api/rest/route.ts +3 -0
  23. package/templates/api/rest/users-route.js +11 -0
  24. package/templates/api/rest/users-route.ts +11 -0
  25. package/templates/api/rest/vite-server.js +15 -0
  26. package/templates/api/rest/vite-server.ts +15 -0
  27. package/templates/api/trpc/client-usage.jsx +26 -0
  28. package/templates/api/trpc/client-usage.tsx +26 -0
  29. package/templates/api/trpc/client-vite.js +15 -0
  30. package/templates/api/trpc/client-vite.ts +16 -0
  31. package/templates/api/trpc/client.js +13 -0
  32. package/templates/api/trpc/client.ts +14 -0
  33. package/templates/api/trpc/root.ts +11 -0
  34. package/templates/api/trpc/route.js +12 -0
  35. package/templates/api/trpc/route.ts +12 -0
  36. package/templates/api/trpc/trpc.ts +6 -0
  37. package/templates/api/trpc/vite-server.js +9 -0
  38. package/templates/api/trpc/vite-server.ts +9 -0
  39. package/templates/auth/clerk-protected-page.jsx +11 -0
  40. package/templates/auth/clerk-protected-page.tsx +11 -0
  41. package/templates/auth/clerk-protected.jsx +11 -0
  42. package/templates/auth/clerk-protected.tsx +11 -0
  43. package/templates/auth/clerk-signin.jsx +11 -0
  44. package/templates/auth/clerk-signin.tsx +11 -0
  45. package/templates/auth/clerk.README.md +8 -0
  46. package/templates/auth/nextauth-options.js +3 -0
  47. package/templates/auth/nextauth-options.ts +5 -0
  48. package/templates/auth/nextauth-protected-page.jsx +12 -0
  49. package/templates/auth/nextauth-protected-page.tsx +12 -0
  50. package/templates/auth/nextauth-protected.jsx +12 -0
  51. package/templates/auth/nextauth-protected.tsx +12 -0
  52. package/templates/auth/nextauth-route.ts +6 -0
  53. package/templates/auth/nextauth-signin.jsx +15 -0
  54. package/templates/auth/nextauth-signin.tsx +15 -0
  55. package/templates/auth/nextauth.README.md +10 -0
  56. package/templates/auth/supabase-protected-page.jsx +13 -0
  57. package/templates/auth/supabase-protected-page.tsx +13 -0
  58. package/templates/auth/supabase-protected.jsx +13 -0
  59. package/templates/auth/supabase-protected.tsx +13 -0
  60. package/templates/auth/supabase-signin.jsx +25 -0
  61. package/templates/auth/supabase-signin.tsx +25 -0
  62. package/templates/auth/supabase-vite-signin.jsx +20 -0
  63. package/templates/auth/supabase-vite-signin.tsx +20 -0
  64. package/templates/auth/supabase.README.md +9 -0
  65. package/templates/database/drizzle/client.js +8 -0
  66. package/templates/database/drizzle/client.ts +8 -0
  67. package/templates/database/drizzle/drizzle.config.ts +6 -0
  68. package/templates/database/drizzle/example.js +6 -0
  69. package/templates/database/drizzle/example.ts +6 -0
  70. package/templates/database/drizzle/schema.ts +6 -0
  71. package/templates/database/mongoose/connection.js +13 -0
  72. package/templates/database/mongoose/connection.ts +13 -0
  73. package/templates/database/mongoose/model.js +7 -0
  74. package/templates/database/mongoose/model.ts +7 -0
  75. package/templates/database/prisma/client.js +3 -0
  76. package/templates/database/prisma/client.ts +3 -0
  77. package/templates/database/prisma/example.js +5 -0
  78. package/templates/database/prisma/example.ts +7 -0
  79. package/templates/database/prisma/schema.prisma +13 -0
  80. package/templates/database/providers/neon.README.md +9 -0
  81. package/templates/database/providers/supabase.README.md +9 -0
  82. package/templates/database/typeorm/data-source.js +15 -0
  83. package/templates/database/typeorm/data-source.ts +15 -0
  84. package/templates/database/typeorm/entity.js +10 -0
  85. package/templates/database/typeorm/entity.ts +10 -0
  86. package/templates/database/typeorm/migrations/README.md +5 -0
  87. package/templates/database/usage/drizzle-users.js +6 -0
  88. package/templates/database/usage/drizzle-users.ts +6 -0
  89. package/templates/database/usage/mongoose-users.js +5 -0
  90. package/templates/database/usage/mongoose-users.ts +5 -0
  91. package/templates/database/usage/prisma-users.js +5 -0
  92. package/templates/database/usage/prisma-users.ts +5 -0
  93. package/templates/database/usage/typeorm-users.js +9 -0
  94. package/templates/database/usage/typeorm-users.ts +9 -0
  95. package/templates/features/analytics/README.md +9 -0
  96. package/templates/features/analytics/posthog.js +7 -0
  97. package/templates/features/analytics/posthog.ts +9 -0
  98. package/templates/features/email/README.md +17 -0
  99. package/templates/features/email/resend.js +3 -0
  100. package/templates/features/email/resend.ts +3 -0
  101. package/templates/features/error-tracking/README.md +9 -0
  102. package/templates/features/error-tracking/sentry.js +7 -0
  103. package/templates/features/error-tracking/sentry.ts +7 -0
  104. package/templates/features/payments/README.md +17 -0
  105. package/templates/features/payments/stripe.js +5 -0
  106. package/templates/features/payments/stripe.ts +5 -0
  107. package/templates/features/storage/README.md +12 -0
  108. package/templates/features/storage/storage.js +5 -0
  109. package/templates/features/storage/storage.ts +5 -0
  110. package/templates/nextjs/app/actions.js +6 -0
  111. package/templates/nextjs/app/actions.ts +6 -0
  112. package/templates/nextjs/app/examples-page.jsx +16 -0
  113. package/templates/nextjs/app/examples-page.tsx +16 -0
  114. package/templates/nextjs/app/layout.jsx +7 -0
  115. package/templates/nextjs/app/layout.tsx +7 -0
  116. package/templates/nextjs/app/page.jsx +12 -0
  117. package/templates/nextjs/app/page.tsx +12 -0
  118. package/templates/nextjs/next.config.js +4 -0
  119. package/templates/nextjs/next.config.ts +7 -0
  120. package/templates/shared/.editorconfig +8 -0
  121. package/templates/ui/antd.README.md +7 -0
  122. package/templates/ui/antd.theme.js +5 -0
  123. package/templates/ui/antd.theme.ts +7 -0
  124. package/templates/ui/button.jsx +13 -0
  125. package/templates/ui/button.tsx +13 -0
  126. package/templates/ui/chakra.README.md +7 -0
  127. package/templates/ui/chakra.theme.js +8 -0
  128. package/templates/ui/chakra.theme.ts +8 -0
  129. package/templates/ui/components.json +14 -0
  130. package/templates/ui/demo-antd.jsx +5 -0
  131. package/templates/ui/demo-antd.tsx +5 -0
  132. package/templates/ui/demo-chakra.jsx +5 -0
  133. package/templates/ui/demo-chakra.tsx +5 -0
  134. package/templates/ui/demo-mantine.jsx +5 -0
  135. package/templates/ui/demo-mantine.tsx +5 -0
  136. package/templates/ui/demo-mui.jsx +5 -0
  137. package/templates/ui/demo-mui.tsx +5 -0
  138. package/templates/ui/demo-nextui.jsx +5 -0
  139. package/templates/ui/demo-nextui.tsx +5 -0
  140. package/templates/ui/demo-shadcn.jsx +5 -0
  141. package/templates/ui/demo-shadcn.tsx +5 -0
  142. package/templates/ui/demo-tailwind.jsx +3 -0
  143. package/templates/ui/demo-tailwind.tsx +3 -0
  144. package/templates/ui/mantine.README.md +7 -0
  145. package/templates/ui/mantine.theme.js +3 -0
  146. package/templates/ui/mantine.theme.ts +3 -0
  147. package/templates/ui/mui.README.md +7 -0
  148. package/templates/ui/mui.theme.js +7 -0
  149. package/templates/ui/mui.theme.ts +7 -0
  150. package/templates/ui/nextui.README.md +7 -0
  151. package/templates/ui/nextui.theme.js +1 -0
  152. package/templates/ui/nextui.theme.ts +1 -0
  153. package/templates/ui/postcss.config.js +1 -0
  154. package/templates/ui/shadcn.README.md +1 -0
  155. package/templates/ui/styles.css +3 -0
  156. package/templates/ui/tailwind.config.js +6 -0
  157. package/templates/ui/utils.js +3 -0
  158. package/templates/ui/utils.ts +3 -0
  159. package/templates/vite/App.jsx +12 -0
  160. package/templates/vite/App.tsx +12 -0
  161. package/templates/vite/index.html +12 -0
  162. package/templates/vite/main.jsx +12 -0
  163. package/templates/vite/main.tsx +12 -0
  164. package/templates/vite/vite-env.d.ts +1 -0
  165. package/templates/vite/vite.config.ts +12 -0
package/README.md ADDED
@@ -0,0 +1,125 @@
1
+ # StackForge
2
+
3
+ StackForge is a full-stack app generator. It scaffolds a project based on your selected frontend, API, database/ORM, auth, UI library, and features, plus AI tool integrations.
4
+
5
+ ## Install and Create
6
+
7
+ ```bash
8
+ npx create-stackforge my-app
9
+ ```
10
+
11
+ Or if installed globally:
12
+
13
+ ```bash
14
+ stackforge create my-app
15
+ ```
16
+
17
+ ## Common Create Examples
18
+
19
+ ```bash
20
+ stackforge create my-app --yes
21
+ stackforge create my-app --preset saas --yes
22
+ stackforge create my-app --features email,storage,payments --yes
23
+ stackforge create my-app --ai-agents claude,codex,gemini,cursor --yes
24
+ stackforge create my-app --out-dir ./apps --yes
25
+ ```
26
+
27
+ ## Presets
28
+
29
+ ```bash
30
+ stackforge list-presets
31
+ stackforge list-presets --details
32
+ ```
33
+
34
+ ## Add/Remove Features
35
+
36
+ ```bash
37
+ stackforge add ui:tailwind
38
+ stackforge add auth:nextauth
39
+ stackforge add api:trpc
40
+ stackforge add database:postgres
41
+ stackforge add orm:drizzle
42
+ stackforge add feature:email
43
+ stackforge add feature:storage
44
+ stackforge add feature:payments
45
+
46
+ stackforge remove auth:nextauth
47
+ stackforge remove api:trpc
48
+ ```
49
+
50
+ ## Update, Validate, Fix, Doctor
51
+
52
+ ```bash
53
+ stackforge update
54
+ stackforge update --check
55
+ stackforge update --live --major
56
+ stackforge validate
57
+ stackforge fix
58
+ stackforge doctor
59
+ stackforge doctor --fix
60
+ ```
61
+
62
+ ## Package Manager
63
+
64
+ ```bash
65
+ stackforge use npm
66
+ stackforge use pnpm
67
+ stackforge use yarn --no-install
68
+ ```
69
+
70
+ ## Migrations and Upgrade
71
+
72
+ ```bash
73
+ stackforge migrate
74
+ stackforge migrate --dry-run
75
+ stackforge upgrade --preset saas
76
+ ```
77
+
78
+ ## AI Agent Integrations
79
+
80
+ ```bash
81
+ stackforge configure-agents --agents claude,codex,gemini,cursor
82
+ stackforge add-agent claude
83
+ stackforge remove-agent codex
84
+ stackforge list-agents
85
+ ```
86
+
87
+ Generated AI outputs:
88
+
89
+ - `.ai-agents/<agent>/context.json`
90
+ - `.ai-agents/<agent>/tools.json`
91
+ - `.ai-agents/servers/<agent>/`
92
+ - `.claude/claude_desktop_config.json` (Claude)
93
+ - `.codex/functions.json` (Codex)
94
+ - `.cursor/extensions.json` and `.cursorrules` (Cursor)
95
+ - `.windsurf/cascade.json` (Windsurf)
96
+ - `.tabnine/config.json` (Tabnine)
97
+
98
+ ## Project Notes
99
+
100
+ - `stackforge.json` is auto-migrated on read when schema versions change.
101
+ - Generated apps include `.gitignore`, `.editorconfig`, and `.env.example`.
102
+ - Feature docs: `docs/FEATURE_EMAIL.md`, `docs/FEATURE_STORAGE.md`, `docs/FEATURE_PAYMENTS.md`.
103
+ - Docs: `docs/API.md`, `docs/AI_AGENTS.md`, `docs/CONTRIBUTING.md`, `docs/TROUBLESHOOTING.md`.
104
+ - Extra docs: `docs/PRESETS.md`, `docs/MIGRATIONS.md`, `docs/COMPATIBILITY.md`.
105
+ - Release guide: `RELEASE.md`.
106
+
107
+ ## CLI Development
108
+
109
+ ```bash
110
+ pnpm install
111
+ pnpm dev
112
+ ```
113
+
114
+ ## Tests
115
+
116
+ ```bash
117
+ pnpm test:smoke
118
+ pnpm test:add-remove
119
+ pnpm test:list
120
+ pnpm test:doctor
121
+ pnpm test:agents
122
+ pnpm test:agent-add-remove
123
+ pnpm test:deps
124
+ pnpm test:all
125
+ ```
package/bin/cli.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../dist/cli.js';