flingit 0.0.31 → 0.0.33

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 (100) hide show
  1. package/README.md +3 -0
  2. package/dist/cli/commands/config.d.ts +12 -0
  3. package/dist/cli/commands/config.d.ts.map +1 -0
  4. package/dist/cli/commands/config.js +46 -0
  5. package/dist/cli/commands/config.js.map +1 -0
  6. package/dist/cli/commands/dev.d.ts +2 -1
  7. package/dist/cli/commands/dev.d.ts.map +1 -1
  8. package/dist/cli/commands/dev.js +17 -9
  9. package/dist/cli/commands/dev.js.map +1 -1
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +15 -53
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/launch.d.ts +3 -0
  14. package/dist/cli/commands/launch.d.ts.map +1 -1
  15. package/dist/cli/commands/launch.js +18 -1
  16. package/dist/cli/commands/launch.js.map +1 -1
  17. package/dist/cli/commands/plugin.d.ts.map +1 -1
  18. package/dist/cli/commands/plugin.js +8 -11
  19. package/dist/cli/commands/plugin.js.map +1 -1
  20. package/dist/cli/commands/project.d.ts +34 -0
  21. package/dist/cli/commands/project.d.ts.map +1 -1
  22. package/dist/cli/commands/project.js +95 -6
  23. package/dist/cli/commands/project.js.map +1 -1
  24. package/dist/cli/commands/push.d.ts +2 -0
  25. package/dist/cli/commands/push.d.ts.map +1 -1
  26. package/dist/cli/commands/push.js +14 -3
  27. package/dist/cli/commands/push.js.map +1 -1
  28. package/dist/cli/commands/register.d.ts.map +1 -1
  29. package/dist/cli/commands/register.js +3 -0
  30. package/dist/cli/commands/register.js.map +1 -1
  31. package/dist/cli/commands/verify.d.ts +25 -0
  32. package/dist/cli/commands/verify.d.ts.map +1 -0
  33. package/dist/cli/commands/verify.js +96 -0
  34. package/dist/cli/commands/verify.js.map +1 -0
  35. package/dist/cli/deploy/bundler.d.ts +16 -33
  36. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  37. package/dist/cli/deploy/bundler.js +147 -186
  38. package/dist/cli/deploy/bundler.js.map +1 -1
  39. package/dist/cli/index.js +19 -0
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/utils/cli-io-impl.d.ts +2 -1
  42. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  43. package/dist/cli/utils/cli-io-impl.js +11 -0
  44. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  45. package/dist/cli/utils/config.d.ts +1 -0
  46. package/dist/cli/utils/config.d.ts.map +1 -1
  47. package/dist/cli/utils/config.js +12 -6
  48. package/dist/cli/utils/config.js.map +1 -1
  49. package/dist/cli/utils/duplicate-check.d.ts +32 -0
  50. package/dist/cli/utils/duplicate-check.d.ts.map +1 -0
  51. package/dist/cli/utils/duplicate-check.js +102 -0
  52. package/dist/cli/utils/duplicate-check.js.map +1 -0
  53. package/dist/cli/utils/project-name.d.ts +15 -1
  54. package/dist/cli/utils/project-name.d.ts.map +1 -1
  55. package/dist/cli/utils/project-name.js +37 -0
  56. package/dist/cli/utils/project-name.js.map +1 -1
  57. package/dist/cli/utils/project.d.ts +0 -9
  58. package/dist/cli/utils/project.d.ts.map +1 -1
  59. package/dist/cli/utils/project.js +2 -2
  60. package/dist/cli/utils/project.js.map +1 -1
  61. package/dist/cli/utils/registry.d.ts +13 -0
  62. package/dist/cli/utils/registry.d.ts.map +1 -1
  63. package/dist/cli/utils/registry.js +36 -11
  64. package/dist/cli/utils/registry.js.map +1 -1
  65. package/dist/shared/constants.d.ts +17 -0
  66. package/dist/shared/constants.d.ts.map +1 -1
  67. package/dist/shared/constants.js +23 -0
  68. package/dist/shared/constants.js.map +1 -1
  69. package/dist/shared/discord-types.d.ts +11 -0
  70. package/dist/shared/discord-types.d.ts.map +1 -1
  71. package/dist/worker-runtime/discord.d.ts +16 -2
  72. package/dist/worker-runtime/discord.d.ts.map +1 -1
  73. package/dist/worker-runtime/discord.js +108 -9
  74. package/dist/worker-runtime/discord.js.map +1 -1
  75. package/dist/worker-runtime/entry-extract.d.ts +25 -0
  76. package/dist/worker-runtime/entry-extract.d.ts.map +1 -0
  77. package/dist/worker-runtime/entry-extract.js +122 -0
  78. package/dist/worker-runtime/entry-extract.js.map +1 -0
  79. package/dist/worker-runtime/index.d.ts +7 -0
  80. package/dist/worker-runtime/index.d.ts.map +1 -1
  81. package/dist/worker-runtime/index.js +13 -0
  82. package/dist/worker-runtime/index.js.map +1 -1
  83. package/dist/worker-runtime/plugin-registry.d.ts +23 -0
  84. package/dist/worker-runtime/plugin-registry.d.ts.map +1 -0
  85. package/dist/worker-runtime/plugin-registry.js +32 -0
  86. package/dist/worker-runtime/plugin-registry.js.map +1 -0
  87. package/package.json +5 -3
  88. package/templates/default/dot-claude/settings.local.json +6 -0
  89. package/templates/default/dot-claude/skills/fling/.hash +1 -0
  90. package/templates/default/{skills → dot-claude/skills}/fling/SKILL.md +13 -9
  91. package/templates/default/{skills/fling → dot-claude/skills/fling/references}/DISCORD.md +1 -1
  92. package/templates/default/dot-gitignore +15 -0
  93. package/templates/default/vite.config.ts +3 -2
  94. package/templates/default/.claude/settings.local.json +0 -1
  95. package/templates/default/skills/fling/.hash +0 -1
  96. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/API.md +0 -0
  97. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/EXAMPLES.md +0 -0
  98. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/FEEDBACK.md +0 -0
  99. /package/templates/default/{skills/fling → dot-claude/skills/fling/references}/SLACK.md +0 -0
  100. /package/templates/default/{.nvmrc → dot-nvmrc} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flingit",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Personal Software Platform - Build and deploy personal tools through conversation",
5
5
  "type": "module",
6
6
  "engines": {
@@ -46,9 +46,10 @@
46
46
  "url": "https://github.com/glideapps/fling.git"
47
47
  },
48
48
  "scripts": {
49
- "build": "tsc && npm run build:hash",
49
+ "build": "npm run build:env && tsc && npm run build:hash",
50
+ "build:env": "tsx scripts/generate-build-env.ts",
50
51
  "build:hash": "tsx scripts/compute-skills-hash.ts",
51
- "dev": "tsx watch src/cli/index.ts",
52
+ "dev": "npm run build:env && tsx watch src/cli/index.ts",
52
53
  "start": "npm run cli --",
53
54
  "cli": "npm run build && node dist/cli/index.js",
54
55
  "cli-admin": "npm run build && node dist/cli-admin/index.js",
@@ -67,6 +68,7 @@
67
68
  "dependencies": {
68
69
  "@clack/prompts": "^0.11.0",
69
70
  "@hono/node-server": "^1.19.9",
71
+ "@hono/zod-validator": "^0.7.6",
70
72
  "aws4fetch": "^1.0.20",
71
73
  "better-sqlite3": "^12.6.2",
72
74
  "cloudflared": "^0.7.1",
@@ -0,0 +1,6 @@
1
+ {
2
+ "permissions": {
3
+ "defaultMode": "acceptEdits",
4
+ "allow": ["Skill(fling)", "Bash(npm start)", "Bash(npm exec fling:*)"]
5
+ }
6
+ }
@@ -0,0 +1 @@
1
+ 5da5b25c1f8ee647fbb3bf0e65f6306c
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: fling
3
- description: Building and deploying this app easily to the internet
3
+ description: Building and deploying this app easily to the internet. Use when the user wants to build or deploy a web app, API, or tool using the Fling platform.
4
4
  ---
5
5
 
6
- # Fling Skill
6
+ # Fling
7
7
 
8
8
  You are working on a Fling project - a personal software platform for building and deploying personal tools with a React frontend and Hono API backend.
9
9
 
@@ -17,7 +17,7 @@ Fling handles all of this automatically. When the user asks you to build somethi
17
17
 
18
18
  ## When to Send Feedback
19
19
 
20
- Fling can send feedback to its authors. Read FEEDBACK.md for details.
20
+ Fling can send feedback to its authors. Read `references/FEEDBACK.md` for details.
21
21
 
22
22
  Proactively offer to send feedback in these situations:
23
23
 
@@ -36,7 +36,7 @@ Fling provides seven primitives that work identically in local development and p
36
36
  4. **Migrations** - Version your database schema
37
37
  5. **Cron** - Scheduled tasks that run on a schedule
38
38
  6. **Storage** - File system locally, R2 in production
39
- 7. **Discord** - Chatops integration (slash commands, messages, interactions) — see `DISCORD.md` in this directory
39
+ 7. **Discord** - Chatops integration (slash commands, messages, interactions) — see `references/DISCORD.md` in this directory
40
40
  8. **WASM** - WebAssembly modules for compute-intensive tasks
41
41
 
42
42
  ## Project Structure
@@ -212,7 +212,7 @@ Just edit and save - changes appear immediately.
212
212
 
213
213
  ## Deployment
214
214
 
215
- When the user's request is complete and working locally, offer to deploy it. But if their app has a backend and no secure authorization method, you must make it clear to them that the deployed app will be visible on the internet, and that they should not expose anything that should not be publicly visible!
215
+ When you've completed the user's request and verified that the app works locally, EXPLICITLY OFFER to deploy it, but also tell them that they can try it locally first. If their app has a backend and no secure authorization method, you MUST make it VERY CLEAR to them that the deployed app will be visible on the internet, and explicitly ask them if they want to proceed!
216
216
 
217
217
  To deploy:
218
218
  **Run `npm exec fling push` directly** - you have bash access, don't ask the user to run commands.
@@ -255,7 +255,7 @@ Slugs must be:
255
255
 
256
256
  ## Security
257
257
 
258
- If the user does not want their app to be deployed because of security issues, or asks about that, offer implementing proper backend-supported security. In particular, suggest these two auth methods first:
258
+ If the user does not want their app to be deployed because of security issues, or asks about that, offer implementing proper backend-enforced security. In particular, suggest these two auth methods first:
259
259
 
260
260
  - Login with Google, with a filter on which emails/domains are allowed
261
261
  - Simple password-based auth, where the backend has a list of allowed passwords (hashed)
@@ -295,7 +295,7 @@ This gives collaborators:
295
295
 
296
296
  9. **Reserved paths (`/__*`)** - Paths starting with `/__` are reserved for internal platform use (e.g., `/__cron` for cron jobs). Do not create routes with these prefixes.
297
297
 
298
- 10. **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in FEEDBACK.md.
298
+ 10. **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in `references/FEEDBACK.md`.
299
299
 
300
300
  **If the user's request might hit platform limitations, warn them early and suggest alternatives.**
301
301
 
@@ -347,8 +347,12 @@ This approach:
347
347
 
348
348
  **For large assets:** Serve them from the frontend (`public/` folder) instead.
349
349
 
350
- See API.md for detailed API reference, EXAMPLES.md for common patterns, and FEEDBACK.md for collecting user feedback.
350
+ See `references/API.md` for detailed API reference, `references/EXAMPLES.md` for common patterns, and `references/FEEDBACK.md` for collecting user feedback.
351
351
 
352
352
  ## Updates
353
353
 
354
- When the fling CLI mentions that there is a new version available, strongly suggest to the user to update, becasue it might contain bug fixes or new features.
354
+ When the fling CLI mentions that there is a new version available, strongly suggest to the user to update, becasue it might contain bug fixes or new features. To update, run
355
+
356
+ ```bash
357
+ npm install flingit@latest
358
+ ```
@@ -1,6 +1,6 @@
1
1
  # Discord Skill
2
2
 
3
- Build Discord chatops bots with Fling. Handle slash commands, send messages, handle interactions, and react to events — all from your Fling project.
3
+ Build Discord chatops bots with Fling. Handle slash commands, send messages, and process interaction payloads — all from your Fling project.
4
4
 
5
5
  ## Setup
6
6
 
@@ -0,0 +1,15 @@
1
+ # Fling
2
+ .fling/secrets
3
+ .fling/data/
4
+ .fling/.dev-bundle/
5
+
6
+ .claude/settings.local.json
7
+
8
+ # Dependencies
9
+ node_modules/
10
+
11
+ # Build output
12
+ dist/
13
+
14
+ # Vite
15
+ *.local
@@ -10,13 +10,14 @@ export default defineConfig({
10
10
  emptyOutDir: true,
11
11
  },
12
12
  server: {
13
- port: 5173,
13
+ port: parseInt(process.env["FLING_VITE_PORT"] || "5173", 10),
14
+ strictPort: true,
14
15
  watch: {
15
16
  ignored: ["**/.fling/**"],
16
17
  },
17
18
  proxy: {
18
19
  "/api": {
19
- target: "http://localhost:3210",
20
+ target: `http://localhost:${process.env["FLING_DEV_PORT"] || "3210"}`,
20
21
  changeOrigin: true,
21
22
  },
22
23
  },
@@ -1 +0,0 @@
1
- { "permissions": { "allow": ["Skill(fling)"] } }
@@ -1 +0,0 @@
1
- 339299253f11e387255fd5be8d99e37d
File without changes