@codaijs/keel 0.1.0

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 (116) hide show
  1. package/dist/__tests__/cli.test.d.ts +2 -0
  2. package/dist/__tests__/cli.test.d.ts.map +1 -0
  3. package/dist/__tests__/cli.test.js +173 -0
  4. package/dist/__tests__/cli.test.js.map +1 -0
  5. package/dist/__tests__/registry.test.d.ts +2 -0
  6. package/dist/__tests__/registry.test.d.ts.map +1 -0
  7. package/dist/__tests__/registry.test.js +86 -0
  8. package/dist/__tests__/registry.test.js.map +1 -0
  9. package/dist/__tests__/sail-installer.test.d.ts +2 -0
  10. package/dist/__tests__/sail-installer.test.d.ts.map +1 -0
  11. package/dist/__tests__/sail-installer.test.js +158 -0
  12. package/dist/__tests__/sail-installer.test.js.map +1 -0
  13. package/dist/create-runner.d.ts +11 -0
  14. package/dist/create-runner.d.ts.map +1 -0
  15. package/dist/create-runner.js +63 -0
  16. package/dist/create-runner.js.map +1 -0
  17. package/dist/create.d.ts +10 -0
  18. package/dist/create.d.ts.map +1 -0
  19. package/dist/create.js +15 -0
  20. package/dist/create.js.map +1 -0
  21. package/dist/manage.d.ts +24 -0
  22. package/dist/manage.d.ts.map +1 -0
  23. package/dist/manage.js +1461 -0
  24. package/dist/manage.js.map +1 -0
  25. package/dist/prompts.d.ts +36 -0
  26. package/dist/prompts.d.ts.map +1 -0
  27. package/dist/prompts.js +208 -0
  28. package/dist/prompts.js.map +1 -0
  29. package/dist/sail-installer.d.ts +37 -0
  30. package/dist/sail-installer.d.ts.map +1 -0
  31. package/dist/sail-installer.js +935 -0
  32. package/dist/sail-installer.js.map +1 -0
  33. package/dist/scaffold.d.ts +10 -0
  34. package/dist/scaffold.d.ts.map +1 -0
  35. package/dist/scaffold.js +297 -0
  36. package/dist/scaffold.js.map +1 -0
  37. package/package.json +57 -0
  38. package/sails/_template/addon.json +20 -0
  39. package/sails/_template/install.ts +402 -0
  40. package/sails/admin-dashboard/README.md +117 -0
  41. package/sails/admin-dashboard/addon.json +28 -0
  42. package/sails/admin-dashboard/files/backend/middleware/admin.ts +34 -0
  43. package/sails/admin-dashboard/files/backend/routes/admin.ts +243 -0
  44. package/sails/admin-dashboard/files/frontend/components/admin/StatsCard.tsx +40 -0
  45. package/sails/admin-dashboard/files/frontend/components/admin/UsersTable.tsx +240 -0
  46. package/sails/admin-dashboard/files/frontend/hooks/useAdmin.ts +149 -0
  47. package/sails/admin-dashboard/files/frontend/pages/admin/Dashboard.tsx +173 -0
  48. package/sails/admin-dashboard/files/frontend/pages/admin/UserDetail.tsx +203 -0
  49. package/sails/admin-dashboard/install.ts +305 -0
  50. package/sails/analytics/README.md +178 -0
  51. package/sails/analytics/addon.json +27 -0
  52. package/sails/analytics/files/frontend/components/AnalyticsProvider.tsx +58 -0
  53. package/sails/analytics/files/frontend/hooks/useAnalytics.ts +64 -0
  54. package/sails/analytics/files/frontend/lib/analytics.ts +103 -0
  55. package/sails/analytics/install.ts +297 -0
  56. package/sails/file-uploads/README.md +191 -0
  57. package/sails/file-uploads/addon.json +30 -0
  58. package/sails/file-uploads/files/backend/routes/files.ts +198 -0
  59. package/sails/file-uploads/files/backend/schema/files.ts +36 -0
  60. package/sails/file-uploads/files/backend/services/file-storage.ts +128 -0
  61. package/sails/file-uploads/files/frontend/components/FileList.tsx +248 -0
  62. package/sails/file-uploads/files/frontend/components/FileUploadButton.tsx +147 -0
  63. package/sails/file-uploads/files/frontend/hooks/useFileUpload.ts +106 -0
  64. package/sails/file-uploads/files/frontend/hooks/useFiles.ts +118 -0
  65. package/sails/file-uploads/files/frontend/pages/Files.tsx +37 -0
  66. package/sails/file-uploads/install.ts +466 -0
  67. package/sails/gdpr/README.md +174 -0
  68. package/sails/gdpr/addon.json +27 -0
  69. package/sails/gdpr/files/backend/routes/gdpr.ts +140 -0
  70. package/sails/gdpr/files/backend/services/gdpr.ts +293 -0
  71. package/sails/gdpr/files/frontend/components/auth/ConsentCheckboxes.tsx +97 -0
  72. package/sails/gdpr/files/frontend/components/gdpr/AccountDeletionRequest.tsx +192 -0
  73. package/sails/gdpr/files/frontend/components/gdpr/DataExportButton.tsx +75 -0
  74. package/sails/gdpr/files/frontend/pages/PrivacyPolicy.tsx +186 -0
  75. package/sails/gdpr/install.ts +756 -0
  76. package/sails/google-oauth/README.md +121 -0
  77. package/sails/google-oauth/addon.json +22 -0
  78. package/sails/google-oauth/files/GoogleButton.tsx +50 -0
  79. package/sails/google-oauth/install.ts +252 -0
  80. package/sails/i18n/README.md +193 -0
  81. package/sails/i18n/addon.json +30 -0
  82. package/sails/i18n/files/frontend/components/LanguageSwitcher.tsx +108 -0
  83. package/sails/i18n/files/frontend/hooks/useLanguage.ts +31 -0
  84. package/sails/i18n/files/frontend/lib/i18n.ts +32 -0
  85. package/sails/i18n/files/frontend/locales/de/common.json +44 -0
  86. package/sails/i18n/files/frontend/locales/en/common.json +44 -0
  87. package/sails/i18n/install.ts +407 -0
  88. package/sails/push-notifications/README.md +163 -0
  89. package/sails/push-notifications/addon.json +31 -0
  90. package/sails/push-notifications/files/backend/routes/notifications.ts +153 -0
  91. package/sails/push-notifications/files/backend/schema/notifications.ts +31 -0
  92. package/sails/push-notifications/files/backend/services/notifications.ts +117 -0
  93. package/sails/push-notifications/files/frontend/components/PushNotificationInit.tsx +12 -0
  94. package/sails/push-notifications/files/frontend/hooks/usePushNotifications.ts +154 -0
  95. package/sails/push-notifications/install.ts +384 -0
  96. package/sails/r2-storage/README.md +101 -0
  97. package/sails/r2-storage/addon.json +29 -0
  98. package/sails/r2-storage/files/backend/services/storage.ts +71 -0
  99. package/sails/r2-storage/files/frontend/components/ProfilePictureUpload.tsx +167 -0
  100. package/sails/r2-storage/install.ts +412 -0
  101. package/sails/rate-limiting/README.md +145 -0
  102. package/sails/rate-limiting/addon.json +20 -0
  103. package/sails/rate-limiting/files/backend/middleware/rate-limit-store.ts +104 -0
  104. package/sails/rate-limiting/files/backend/middleware/rate-limit.ts +137 -0
  105. package/sails/rate-limiting/install.ts +300 -0
  106. package/sails/registry.json +107 -0
  107. package/sails/stripe/README.md +214 -0
  108. package/sails/stripe/addon.json +24 -0
  109. package/sails/stripe/files/backend/routes/stripe.ts +154 -0
  110. package/sails/stripe/files/backend/schema/stripe.ts +74 -0
  111. package/sails/stripe/files/backend/services/stripe.ts +224 -0
  112. package/sails/stripe/files/frontend/components/SubscriptionStatus.tsx +135 -0
  113. package/sails/stripe/files/frontend/hooks/useSubscription.ts +86 -0
  114. package/sails/stripe/files/frontend/pages/Checkout.tsx +116 -0
  115. package/sails/stripe/files/frontend/pages/Pricing.tsx +226 -0
  116. package/sails/stripe/install.ts +378 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sail-installer.js","sourceRoot":"","sources":["../src/sail-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Scaffolding logic for create-keel (a codai project).
3
+ *
4
+ * Clones the template repository (without git history), customizes branding,
5
+ * writes environment variables, optionally creates a docker-compose.yml,
6
+ * installs dependencies, and initializes a fresh git repository.
7
+ */
8
+ import type { ProjectConfig } from "./prompts.js";
9
+ export declare function scaffold(config: ProjectConfig): Promise<boolean>;
10
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAyElD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAiPtE"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Scaffolding logic for create-keel (a codai project).
3
+ *
4
+ * Clones the template repository (without git history), customizes branding,
5
+ * writes environment variables, optionally creates a docker-compose.yml,
6
+ * installs dependencies, and initializes a fresh git repository.
7
+ */
8
+ import { existsSync, readFileSync, writeFileSync, copyFileSync, mkdirSync, rmSync, } from "node:fs";
9
+ import { join, resolve } from "node:path";
10
+ import { execFileSync } from "node:child_process";
11
+ import chalk from "chalk";
12
+ import ora from "ora";
13
+ import degit from "degit";
14
+ const TEMPLATE_REPO = "Chafficui/keel";
15
+ // ---------------------------------------------------------------------------
16
+ // Helpers
17
+ // ---------------------------------------------------------------------------
18
+ function replaceInFile(filePath, search, replacement) {
19
+ if (!existsSync(filePath))
20
+ return;
21
+ const content = readFileSync(filePath, "utf-8");
22
+ if (!content.includes(search))
23
+ return;
24
+ writeFileSync(filePath, content.replaceAll(search, replacement), "utf-8");
25
+ }
26
+ function buildEnvContents(config) {
27
+ const lines = [
28
+ "# -------------------------------------------------------------------",
29
+ `# Environment — ${config.projectName}`,
30
+ "# Generated by create-keel",
31
+ "# -------------------------------------------------------------------",
32
+ "",
33
+ "# Database",
34
+ `DATABASE_URL=${config.databaseUrl}`,
35
+ "",
36
+ "# Auth",
37
+ `BETTER_AUTH_SECRET=${config.betterAuthSecret}`,
38
+ "",
39
+ "# Server",
40
+ "PORT=3005",
41
+ `BACKEND_URL=http://localhost:3005`,
42
+ `FRONTEND_URL=http://localhost:5173`,
43
+ "",
44
+ "# Email (Resend)",
45
+ `RESEND_API_KEY=${config.resendApiKey}`,
46
+ `EMAIL_FROM=${config.emailFrom}`,
47
+ "",
48
+ ];
49
+ return lines.join("\n") + "\n";
50
+ }
51
+ function cleanupScaffold(targetDir) {
52
+ const sailsDir = join(targetDir, "sails");
53
+ mkdirSync(sailsDir, { recursive: true });
54
+ writeFileSync(join(sailsDir, "installed.json"), JSON.stringify({ installed: [] }, null, 2) + "\n", "utf-8");
55
+ // Remove files that belong to the keel tooling, not the consumer project
56
+ const toRemove = ["cli", "brand", "README.md", "CLAUDE.md", ".claude"];
57
+ for (const name of toRemove) {
58
+ const fullPath = join(targetDir, name);
59
+ if (existsSync(fullPath)) {
60
+ rmSync(fullPath, { recursive: true, force: true });
61
+ }
62
+ }
63
+ // Promote PROJECT_CLAUDE.md → CLAUDE.md (AI agent documentation for the project)
64
+ const projectClaudeMd = join(targetDir, "PROJECT_CLAUDE.md");
65
+ if (existsSync(projectClaudeMd)) {
66
+ copyFileSync(projectClaudeMd, join(targetDir, "CLAUDE.md"));
67
+ rmSync(projectClaudeMd);
68
+ }
69
+ }
70
+ // ---------------------------------------------------------------------------
71
+ // Main scaffold
72
+ // ---------------------------------------------------------------------------
73
+ export async function scaffold(config) {
74
+ const targetDir = resolve(process.cwd(), config.projectName);
75
+ // -- Clone template --------------------------------------------------------
76
+ const cloneSpinner = ora("Cloning template...").start();
77
+ if (existsSync(targetDir)) {
78
+ cloneSpinner.fail(`Directory already exists: ${config.projectName}`);
79
+ return false;
80
+ }
81
+ try {
82
+ let cloned = false;
83
+ try {
84
+ const emitter = degit(TEMPLATE_REPO, { cache: false, force: true, verbose: false });
85
+ await emitter.clone(targetDir);
86
+ cloned = true;
87
+ }
88
+ catch {
89
+ // degit failed (private repo) — fall back to git clone
90
+ }
91
+ if (!cloned) {
92
+ execFileSync("git", ["clone", "--depth", "1", `https://github.com/${TEMPLATE_REPO}.git`, targetDir], { stdio: "pipe" });
93
+ rmSync(join(targetDir, ".git"), { recursive: true, force: true });
94
+ }
95
+ cloneSpinner.succeed("Template cloned");
96
+ }
97
+ catch (error) {
98
+ cloneSpinner.fail("Failed to clone template");
99
+ console.error(chalk.red(` ${error}`));
100
+ return false;
101
+ }
102
+ // -- Clean up tooling files ------------------------------------------------
103
+ const cleanupSpinner = ora("Preparing project structure...").start();
104
+ try {
105
+ cleanupScaffold(targetDir);
106
+ cleanupSpinner.succeed("Project structure prepared");
107
+ }
108
+ catch (error) {
109
+ cleanupSpinner.fail("Failed to prepare project structure");
110
+ console.error(chalk.red(` ${error}`));
111
+ }
112
+ // -- Write project README --------------------------------------------------
113
+ try {
114
+ const readmeContent = `# ${config.displayName}
115
+
116
+ ${config.description}
117
+
118
+ Built with [keel](https://github.com/Chafficui/keel) — a codai project.
119
+
120
+ ## Quick Start
121
+
122
+ \`\`\`bash
123
+ # Start everything (database + migrations + dev servers)
124
+ keel dev
125
+ \`\`\`
126
+
127
+ Or manually:
128
+
129
+ \`\`\`bash
130
+ docker compose up -d # Start PostgreSQL
131
+ npm run db:migrate # Run database migrations
132
+ npm run dev # Start frontend + backend
133
+ \`\`\`
134
+
135
+ ## Project Structure
136
+
137
+ \`\`\`
138
+ packages/
139
+ shared/ — Shared types + validators
140
+ email/ — Email templates (React Email)
141
+ frontend/ — Vite + React + TypeScript SPA
142
+ backend/ — Express + TypeScript API server
143
+ sails/ — Installed sail extensions
144
+ \`\`\`
145
+
146
+ ## Useful Commands
147
+
148
+ | Command | Description |
149
+ |---------|-------------|
150
+ | \`keel dev\` | Start database, run migrations, launch dev servers |
151
+ | \`keel doctor\` | Health check (Node, Docker, DB, .env) |
152
+ | \`keel env\` | Show environment variable status |
153
+ | \`keel generate route <name>\` | Scaffold an API route |
154
+ | \`keel generate page <name>\` | Scaffold a React page |
155
+ | \`keel generate email <name>\` | Scaffold an email template |
156
+ | \`keel sail add <name>\` | Install a sail extension |
157
+ | \`keel list\` | Show available sails |
158
+ | \`keel db:studio\` | Open Drizzle Studio |
159
+ | \`keel db:reset\` | Reset database (destructive!) |
160
+
161
+ ## Environment
162
+
163
+ Copy \`.env.example\` to \`.env\` and fill in the values. See \`keel env\` to check what's missing.
164
+
165
+ ## Learn More
166
+
167
+ - [keel documentation](https://github.com/Chafficui/keel)
168
+ `;
169
+ writeFileSync(join(targetDir, "README.md"), readmeContent, "utf-8");
170
+ }
171
+ catch (error) {
172
+ console.error(chalk.yellow(` Could not write README.md: ${error}`));
173
+ }
174
+ // -- Customize branding ----------------------------------------------------
175
+ const brandSpinner = ora("Customizing project...").start();
176
+ try {
177
+ // Root package.json — name and description only
178
+ const rootPkgPath = join(targetDir, "package.json");
179
+ if (existsSync(rootPkgPath)) {
180
+ const rootPkg = JSON.parse(readFileSync(rootPkgPath, "utf-8"));
181
+ rootPkg.name = config.projectName;
182
+ rootPkg.description = config.description;
183
+ writeFileSync(rootPkgPath, JSON.stringify(rootPkg, null, 2) + "\n", "utf-8");
184
+ }
185
+ // Docker-compose DB name
186
+ replaceInFile(join(targetDir, "docker-compose.yml"), "POSTGRES_DB: keel", `POSTGRES_DB: ${config.projectName}`);
187
+ // Capacitor display name
188
+ const capConfigPath = join(targetDir, "packages/frontend/capacitor.config.ts");
189
+ if (existsSync(capConfigPath)) {
190
+ replaceInFile(capConfigPath, 'appName: "Keel"', `appName: "${config.displayName}"`);
191
+ }
192
+ // Frontend env
193
+ const frontendEnvPath = join(targetDir, "packages/frontend/.env");
194
+ if (existsSync(frontendEnvPath)) {
195
+ replaceInFile(frontendEnvPath, "VITE_APP_NAME=Keel", `VITE_APP_NAME=${config.displayName}`);
196
+ }
197
+ // Replace placeholders in static files (SEO, robots.txt, sitemap)
198
+ const staticFiles = [
199
+ join(targetDir, "packages/frontend/public/robots.txt"),
200
+ join(targetDir, "packages/frontend/public/sitemap.xml"),
201
+ join(targetDir, "packages/frontend/prerender.ts"),
202
+ ];
203
+ for (const filePath of staticFiles) {
204
+ replaceInFile(filePath, "__APP_NAME__", config.displayName);
205
+ replaceInFile(filePath, "__FRONTEND_URL__", "http://localhost:5173");
206
+ }
207
+ brandSpinner.succeed("Project customized");
208
+ }
209
+ catch (error) {
210
+ brandSpinner.fail("Failed to customize project");
211
+ console.error(chalk.red(` ${error}`));
212
+ return false;
213
+ }
214
+ // -- Write .env ------------------------------------------------------------
215
+ const envSpinner = ora("Writing environment configuration...").start();
216
+ try {
217
+ writeFileSync(join(targetDir, ".env"), buildEnvContents(config), "utf-8");
218
+ envSpinner.succeed("Environment configuration written");
219
+ }
220
+ catch (error) {
221
+ envSpinner.fail("Failed to write environment configuration");
222
+ console.error(chalk.red(` ${error}`));
223
+ }
224
+ // -- PGlite data directory --------------------------------------------------
225
+ // PGlite stores data relative to the backend CWD (packages/backend/)
226
+ // because `npm run dev -w packages/backend` sets CWD there.
227
+ if (config.databaseSetup === "pglite") {
228
+ const dataDir = join(targetDir, "packages", "backend", "data", "pglite");
229
+ mkdirSync(dataDir, { recursive: true });
230
+ // Add data directories to .gitignore
231
+ const gitignorePath = join(targetDir, ".gitignore");
232
+ if (existsSync(gitignorePath)) {
233
+ let gitignore = readFileSync(gitignorePath, "utf-8");
234
+ if (!gitignore.includes("**/data/pglite")) {
235
+ gitignore += "\n# PGlite local database\n**/data/pglite/\n";
236
+ writeFileSync(gitignorePath, gitignore, "utf-8");
237
+ }
238
+ }
239
+ }
240
+ // -- Docker-compose --------------------------------------------------------
241
+ if (config.databaseSetup === "docker") {
242
+ // Template already ships with docker-compose.yml — only write if missing
243
+ const dockerComposePath = join(targetDir, "docker-compose.yml");
244
+ const content = `services:
245
+ postgres:
246
+ image: postgres:16-alpine
247
+ environment:
248
+ POSTGRES_DB: ${config.projectName}
249
+ POSTGRES_USER: postgres
250
+ POSTGRES_PASSWORD: postgres
251
+ ports:
252
+ - "5432:5432"
253
+ volumes:
254
+ - postgres_data:/var/lib/postgresql/data
255
+
256
+ volumes:
257
+ postgres_data:
258
+ `;
259
+ try {
260
+ writeFileSync(dockerComposePath, content, { encoding: "utf-8", flag: "wx" });
261
+ }
262
+ catch (error) {
263
+ if (error.code !== "EEXIST")
264
+ throw error;
265
+ // File already exists (from template) — nothing to do
266
+ }
267
+ }
268
+ // -- Install dependencies --------------------------------------------------
269
+ const installSpinner = ora("Installing dependencies (this may take a minute)...").start();
270
+ try {
271
+ execFileSync("npm", ["install"], { cwd: targetDir, stdio: "pipe", timeout: 300_000 });
272
+ installSpinner.succeed("Dependencies installed");
273
+ }
274
+ catch (error) {
275
+ installSpinner.fail("Failed to install dependencies");
276
+ const msg = error instanceof Error ? error.message : String(error);
277
+ console.error(chalk.yellow(` ${msg}`));
278
+ console.error(chalk.yellow(" Run 'npm install' manually in the project directory."));
279
+ }
280
+ // -- Initialize git --------------------------------------------------------
281
+ const gitSpinner = ora("Initializing git repository...").start();
282
+ try {
283
+ execFileSync("git", ["init"], { cwd: targetDir, stdio: "pipe" });
284
+ execFileSync("git", ["add", "-A"], { cwd: targetDir, stdio: "pipe" });
285
+ execFileSync("git", ["commit", "-m", "Initial commit from create-keel"], {
286
+ cwd: targetDir,
287
+ stdio: "pipe",
288
+ });
289
+ gitSpinner.succeed("Git repository initialized");
290
+ }
291
+ catch (error) {
292
+ const msg = error instanceof Error ? error.message : String(error);
293
+ gitSpinner.warn(`Could not initialize git: ${msg}`);
294
+ }
295
+ return true;
296
+ }
297
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@codaijs/keel",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "CLI tool for keel (a codai project): create projects and manage sails",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Chafficui/keel.git"
9
+ },
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "cli",
13
+ "template",
14
+ "framework",
15
+ "fullstack",
16
+ "ai",
17
+ "react",
18
+ "express",
19
+ "typescript",
20
+ "capacitor",
21
+ "mobile",
22
+ "boilerplate"
23
+ ],
24
+ "bugs": {
25
+ "url": "https://github.com/Chafficui/keel/issues"
26
+ },
27
+ "homepage": "https://keel.codai.app",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "bin": {
32
+ "create-keel": "dist/create.js",
33
+ "keel": "dist/manage.js"
34
+ },
35
+ "files": [
36
+ "dist",
37
+ "sails"
38
+ ],
39
+ "scripts": {
40
+ "build": "tsc --build",
41
+ "dev": "tsx src/create.ts",
42
+ "test": "vitest run",
43
+ "test:watch": "vitest"
44
+ },
45
+ "dependencies": {
46
+ "@inquirer/prompts": "^7.0.0",
47
+ "chalk": "^5.4.0",
48
+ "degit": "^2.8.4",
49
+ "ora": "^8.2.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "^22.0.0",
53
+ "tsx": "^4.19.0",
54
+ "typescript": "^5.8.0",
55
+ "vitest": "^4.1.1"
56
+ }
57
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "sail-name",
3
+ "displayName": "Sail Display Name",
4
+ "description": "What this sail does",
5
+ "version": "1.0.0",
6
+ "compatibility": ">=1.0.0",
7
+ "requiredEnvVars": [],
8
+ "dependencies": {
9
+ "backend": {},
10
+ "frontend": {}
11
+ },
12
+ "modifies": {
13
+ "backend": [],
14
+ "frontend": []
15
+ },
16
+ "adds": {
17
+ "backend": [],
18
+ "frontend": []
19
+ }
20
+ }