create-fluxstack 1.9.1 → 1.12.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 (259) hide show
  1. package/.dockerignore +1 -2
  2. package/Dockerfile +8 -8
  3. package/LIVE_COMPONENTS_REVIEW.md +781 -0
  4. package/LLMD/INDEX.md +64 -0
  5. package/LLMD/MAINTENANCE.md +197 -0
  6. package/LLMD/MIGRATION.md +156 -0
  7. package/LLMD/config/.gitkeep +1 -0
  8. package/LLMD/config/declarative-system.md +268 -0
  9. package/LLMD/config/environment-vars.md +327 -0
  10. package/LLMD/config/runtime-reload.md +401 -0
  11. package/LLMD/core/.gitkeep +1 -0
  12. package/LLMD/core/build-system.md +599 -0
  13. package/LLMD/core/framework-lifecycle.md +229 -0
  14. package/LLMD/core/plugin-system.md +451 -0
  15. package/LLMD/patterns/.gitkeep +1 -0
  16. package/LLMD/patterns/anti-patterns.md +297 -0
  17. package/LLMD/patterns/project-structure.md +264 -0
  18. package/LLMD/patterns/type-safety.md +440 -0
  19. package/LLMD/reference/.gitkeep +1 -0
  20. package/LLMD/reference/cli-commands.md +250 -0
  21. package/LLMD/reference/plugin-hooks.md +357 -0
  22. package/LLMD/reference/routing.md +39 -0
  23. package/LLMD/reference/troubleshooting.md +364 -0
  24. package/LLMD/resources/.gitkeep +1 -0
  25. package/LLMD/resources/controllers.md +465 -0
  26. package/LLMD/resources/live-components.md +703 -0
  27. package/LLMD/resources/live-rooms.md +482 -0
  28. package/LLMD/resources/live-upload.md +130 -0
  29. package/LLMD/resources/plugins-external.md +617 -0
  30. package/LLMD/resources/routes-eden.md +254 -0
  31. package/README.md +37 -17
  32. package/app/client/index.html +0 -1
  33. package/app/client/src/App.tsx +109 -156
  34. package/app/client/src/components/AppLayout.tsx +68 -0
  35. package/app/client/src/components/BackButton.tsx +13 -0
  36. package/app/client/src/components/DemoPage.tsx +20 -0
  37. package/app/client/src/components/LiveUploadWidget.tsx +204 -0
  38. package/app/client/src/lib/eden-api.ts +85 -65
  39. package/app/client/src/live/ChatDemo.tsx +107 -0
  40. package/app/client/src/live/CounterDemo.tsx +206 -0
  41. package/app/client/src/live/FormDemo.tsx +119 -0
  42. package/app/client/src/live/RoomChatDemo.tsx +242 -0
  43. package/app/client/src/live/UploadDemo.tsx +21 -0
  44. package/app/client/src/main.tsx +13 -10
  45. package/app/client/src/pages/ApiTestPage.tsx +108 -0
  46. package/app/client/src/pages/HomePage.tsx +76 -0
  47. package/app/client/src/vite-env.d.ts +1 -1
  48. package/app/server/app.ts +1 -4
  49. package/app/server/controllers/users.controller.ts +36 -44
  50. package/app/server/index.ts +24 -107
  51. package/app/server/live/LiveChat.ts +77 -0
  52. package/app/server/live/LiveCounter.ts +67 -0
  53. package/app/server/live/LiveForm.ts +63 -0
  54. package/app/server/live/LiveLocalCounter.ts +32 -0
  55. package/app/server/live/LiveRoomChat.ts +285 -0
  56. package/app/server/live/LiveUpload.ts +81 -0
  57. package/app/server/live/register-components.ts +19 -19
  58. package/app/server/routes/index.ts +3 -1
  59. package/app/server/routes/room.routes.ts +117 -0
  60. package/app/server/routes/users.routes.ts +35 -27
  61. package/app/shared/types/index.ts +14 -2
  62. package/config/app.config.ts +2 -62
  63. package/config/client.config.ts +2 -95
  64. package/config/database.config.ts +2 -99
  65. package/config/fluxstack.config.ts +25 -45
  66. package/config/index.ts +57 -38
  67. package/config/monitoring.config.ts +2 -114
  68. package/config/plugins.config.ts +2 -80
  69. package/config/server.config.ts +2 -68
  70. package/config/services.config.ts +2 -130
  71. package/config/system/app.config.ts +29 -0
  72. package/config/system/build.config.ts +49 -0
  73. package/config/system/client.config.ts +68 -0
  74. package/config/system/database.config.ts +17 -0
  75. package/config/system/fluxstack.config.ts +114 -0
  76. package/config/{logger.config.ts → system/logger.config.ts} +3 -1
  77. package/config/system/monitoring.config.ts +114 -0
  78. package/config/system/plugins.config.ts +84 -0
  79. package/config/{runtime.config.ts → system/runtime.config.ts} +1 -1
  80. package/config/system/server.config.ts +68 -0
  81. package/config/system/services.config.ts +46 -0
  82. package/config/{system.config.ts → system/system.config.ts} +1 -1
  83. package/core/build/bundler.ts +4 -1
  84. package/core/build/flux-plugins-generator.ts +325 -325
  85. package/core/build/index.ts +159 -27
  86. package/core/build/live-components-generator.ts +70 -3
  87. package/core/build/optimizer.ts +235 -235
  88. package/core/cli/command-registry.ts +6 -4
  89. package/core/cli/commands/build.ts +79 -0
  90. package/core/cli/commands/create.ts +54 -0
  91. package/core/cli/commands/dev.ts +101 -0
  92. package/core/cli/commands/help.ts +34 -0
  93. package/core/cli/commands/index.ts +34 -0
  94. package/core/cli/commands/make-plugin.ts +90 -0
  95. package/core/cli/commands/plugin-add.ts +197 -0
  96. package/core/cli/commands/plugin-deps.ts +2 -2
  97. package/core/cli/commands/plugin-list.ts +208 -0
  98. package/core/cli/commands/plugin-remove.ts +170 -0
  99. package/core/cli/generators/component.ts +769 -769
  100. package/core/cli/generators/controller.ts +1 -1
  101. package/core/cli/generators/index.ts +146 -146
  102. package/core/cli/generators/interactive.ts +227 -227
  103. package/core/cli/generators/plugin.ts +2 -2
  104. package/core/cli/generators/prompts.ts +82 -82
  105. package/core/cli/generators/route.ts +6 -6
  106. package/core/cli/generators/service.ts +2 -2
  107. package/core/cli/generators/template-engine.ts +4 -3
  108. package/core/cli/generators/types.ts +2 -2
  109. package/core/cli/generators/utils.ts +191 -191
  110. package/core/cli/index.ts +115 -558
  111. package/core/cli/plugin-discovery.ts +2 -2
  112. package/core/client/LiveComponentsProvider.tsx +63 -17
  113. package/core/client/api/eden.ts +183 -0
  114. package/core/client/api/index.ts +11 -0
  115. package/core/client/components/Live.tsx +104 -0
  116. package/core/client/fluxstack.ts +1 -9
  117. package/core/client/hooks/AdaptiveChunkSizer.ts +215 -0
  118. package/core/client/hooks/state-validator.ts +1 -1
  119. package/core/client/hooks/useAuth.ts +48 -48
  120. package/core/client/hooks/useChunkedUpload.ts +170 -69
  121. package/core/client/hooks/useLiveChunkedUpload.ts +87 -0
  122. package/core/client/hooks/useLiveComponent.ts +800 -0
  123. package/core/client/hooks/useLiveUpload.ts +71 -0
  124. package/core/client/hooks/useRoom.ts +409 -0
  125. package/core/client/hooks/useRoomProxy.ts +382 -0
  126. package/core/client/index.ts +18 -51
  127. package/core/client/standalone-entry.ts +8 -0
  128. package/core/client/standalone.ts +74 -53
  129. package/core/client/state/createStore.ts +192 -192
  130. package/core/client/state/index.ts +14 -14
  131. package/core/config/index.ts +70 -291
  132. package/core/config/schema.ts +42 -723
  133. package/core/framework/client.ts +131 -131
  134. package/core/framework/index.ts +7 -7
  135. package/core/framework/server.ts +227 -47
  136. package/core/framework/types.ts +2 -2
  137. package/core/index.ts +23 -4
  138. package/core/live/ComponentRegistry.ts +7 -3
  139. package/core/live/types.ts +77 -0
  140. package/core/plugins/built-in/index.ts +134 -131
  141. package/core/plugins/built-in/live-components/commands/create-live-component.ts +242 -1074
  142. package/core/plugins/built-in/live-components/index.ts +1 -1
  143. package/core/plugins/built-in/monitoring/index.ts +111 -47
  144. package/core/plugins/built-in/static/index.ts +1 -1
  145. package/core/plugins/built-in/swagger/index.ts +68 -265
  146. package/core/plugins/built-in/vite/index.ts +94 -306
  147. package/core/plugins/built-in/vite/vite-dev.ts +82 -0
  148. package/core/plugins/config.ts +9 -7
  149. package/core/plugins/dependency-manager.ts +31 -1
  150. package/core/plugins/discovery.ts +19 -7
  151. package/core/plugins/executor.ts +2 -2
  152. package/core/plugins/index.ts +203 -203
  153. package/core/plugins/manager.ts +27 -39
  154. package/core/plugins/module-resolver.ts +19 -8
  155. package/core/plugins/registry.ts +309 -21
  156. package/core/plugins/types.ts +106 -55
  157. package/core/server/framework.ts +66 -43
  158. package/core/server/index.ts +15 -16
  159. package/core/server/live/ComponentRegistry.ts +91 -75
  160. package/core/server/live/FileUploadManager.ts +41 -31
  161. package/core/server/live/LiveComponentPerformanceMonitor.ts +1 -1
  162. package/core/server/live/LiveRoomManager.ts +261 -0
  163. package/core/server/live/RoomEventBus.ts +234 -0
  164. package/core/server/live/RoomStateManager.ts +172 -0
  165. package/core/server/live/StateSignature.ts +643 -643
  166. package/core/server/live/WebSocketConnectionManager.ts +30 -19
  167. package/core/server/live/auto-generated-components.ts +41 -26
  168. package/core/server/live/index.ts +14 -0
  169. package/core/server/live/websocket-plugin.ts +233 -72
  170. package/core/server/middleware/elysia-helpers.ts +7 -2
  171. package/core/server/middleware/errorHandling.ts +1 -1
  172. package/core/server/middleware/index.ts +31 -31
  173. package/core/server/plugins/database.ts +180 -180
  174. package/core/server/plugins/static-files-plugin.ts +69 -260
  175. package/core/server/plugins/swagger.ts +33 -33
  176. package/core/server/rooms/RoomBroadcaster.ts +357 -0
  177. package/core/server/rooms/RoomSystem.ts +463 -0
  178. package/core/server/rooms/index.ts +13 -0
  179. package/core/server/services/BaseService.ts +1 -1
  180. package/core/server/services/ServiceContainer.ts +1 -1
  181. package/core/server/services/index.ts +8 -8
  182. package/core/templates/create-project.ts +12 -12
  183. package/core/testing/index.ts +9 -9
  184. package/core/testing/setup.ts +73 -73
  185. package/core/types/api.ts +168 -168
  186. package/core/types/build.ts +219 -218
  187. package/core/types/config.ts +56 -26
  188. package/core/types/index.ts +4 -4
  189. package/core/types/plugin.ts +107 -99
  190. package/core/types/types.ts +490 -14
  191. package/core/utils/build-logger.ts +324 -324
  192. package/core/utils/config-schema.ts +480 -480
  193. package/core/utils/env.ts +2 -8
  194. package/core/utils/errors/codes.ts +114 -114
  195. package/core/utils/errors/handlers.ts +36 -1
  196. package/core/utils/errors/index.ts +49 -5
  197. package/core/utils/errors/middleware.ts +113 -113
  198. package/core/utils/helpers.ts +6 -16
  199. package/core/utils/index.ts +17 -17
  200. package/core/utils/logger/colors.ts +114 -114
  201. package/core/utils/logger/config.ts +13 -9
  202. package/core/utils/logger/formatter.ts +82 -82
  203. package/core/utils/logger/group-logger.ts +101 -101
  204. package/core/utils/logger/index.ts +6 -1
  205. package/core/utils/logger/stack-trace.ts +3 -1
  206. package/core/utils/logger/startup-banner.ts +82 -66
  207. package/core/utils/logger/winston-logger.ts +152 -152
  208. package/core/utils/monitoring/index.ts +211 -211
  209. package/core/utils/sync-version.ts +66 -66
  210. package/core/utils/version.ts +1 -1
  211. package/create-fluxstack.ts +8 -7
  212. package/eslint.config.js +23 -23
  213. package/package.json +14 -15
  214. package/plugins/crypto-auth/cli/make-protected-route.command.ts +1 -1
  215. package/plugins/crypto-auth/client/CryptoAuthClient.ts +302 -302
  216. package/plugins/crypto-auth/client/components/index.ts +11 -11
  217. package/plugins/crypto-auth/client/index.ts +11 -11
  218. package/plugins/crypto-auth/config/index.ts +1 -1
  219. package/plugins/crypto-auth/index.ts +4 -4
  220. package/plugins/crypto-auth/package.json +65 -65
  221. package/plugins/crypto-auth/server/AuthMiddleware.ts +1 -1
  222. package/plugins/crypto-auth/server/CryptoAuthService.ts +185 -185
  223. package/plugins/crypto-auth/server/index.ts +21 -21
  224. package/plugins/crypto-auth/server/middlewares/cryptoAuthAdmin.ts +3 -3
  225. package/plugins/crypto-auth/server/middlewares/cryptoAuthOptional.ts +1 -1
  226. package/plugins/crypto-auth/server/middlewares/cryptoAuthPermissions.ts +2 -2
  227. package/plugins/crypto-auth/server/middlewares/cryptoAuthRequired.ts +2 -2
  228. package/plugins/crypto-auth/server/middlewares/helpers.ts +1 -1
  229. package/plugins/crypto-auth/server/middlewares/index.ts +22 -22
  230. package/plugins/crypto-auth/server/middlewares.ts +19 -19
  231. package/tsconfig.api-strict.json +16 -0
  232. package/tsconfig.json +10 -14
  233. package/{app/client/tsconfig.node.json → tsconfig.node.json} +1 -1
  234. package/types/global.d.ts +29 -29
  235. package/types/vitest.d.ts +8 -8
  236. package/vite.config.ts +38 -62
  237. package/vitest.config.live.ts +10 -9
  238. package/vitest.config.ts +29 -17
  239. package/workspace.json +5 -5
  240. package/app/client/README.md +0 -69
  241. package/app/client/SIMPLIFICATION.md +0 -140
  242. package/app/client/frontend-only.ts +0 -12
  243. package/app/client/tsconfig.app.json +0 -44
  244. package/app/client/tsconfig.json +0 -7
  245. package/app/client/zustand-setup.md +0 -65
  246. package/app/server/backend-only.ts +0 -18
  247. package/app/server/live/LiveClockComponent.ts +0 -215
  248. package/app/server/routes/env-test.ts +0 -110
  249. package/core/client/hooks/index.ts +0 -7
  250. package/core/client/hooks/useHybridLiveComponent.ts +0 -631
  251. package/core/client/hooks/useWebSocket.ts +0 -373
  252. package/core/config/env.ts +0 -546
  253. package/core/config/loader.ts +0 -522
  254. package/core/config/runtime-config.ts +0 -327
  255. package/core/config/validator.ts +0 -540
  256. package/core/server/backend-entry.ts +0 -51
  257. package/core/server/standalone.ts +0 -106
  258. package/core/utils/regenerate-files.ts +0 -69
  259. package/fluxstack.config.ts +0 -354
package/LLMD/INDEX.md ADDED
@@ -0,0 +1,64 @@
1
+ # FluxStack LLM Documentation
2
+
3
+ **Version:** 1.12.0 | **Framework:** Bun + Elysia + React + Eden Treaty
4
+
5
+ ## Quick Navigation
6
+
7
+ **First Time?** → [core/framework-lifecycle.md](core/framework-lifecycle.md)
8
+ **Creating Routes?** → [resources/routes-eden.md](resources/routes-eden.md)
9
+ **Real-time Rooms?** → [resources/live-rooms.md](resources/live-rooms.md)
10
+ **Config Issues?** → [config/declarative-system.md](config/declarative-system.md)
11
+ **Plugin Development?** → [resources/plugins-external.md](resources/plugins-external.md)
12
+ **Errors?** → [reference/troubleshooting.md](reference/troubleshooting.md)
13
+
14
+ ## Core Concepts
15
+
16
+ - [Framework Lifecycle](core/framework-lifecycle.md) - Startup, request handling, shutdown
17
+ - [Plugin System](core/plugin-system.md) - Architecture, hooks, load order
18
+ - [Build System](core/build-system.md) - Dev vs production builds
19
+
20
+ ## Configuration
21
+
22
+ - [Declarative System](config/declarative-system.md) - defineConfig, validation, types
23
+ - [Environment Variables](config/environment-vars.md) - Complete reference
24
+ - [Runtime Reload](config/runtime-reload.md) - Hot config updates
25
+
26
+ ## Creating Resources
27
+
28
+ - [Routes with Eden Treaty](resources/routes-eden.md) - Type-safe API routes
29
+ - [Controllers & Services](resources/controllers.md) - Business logic patterns
30
+ - [Live Components](resources/live-components.md) - WebSocket components
31
+ - [Live Rooms](resources/live-rooms.md) - Multi-room real-time communication
32
+ - [Live Upload](resources/live-upload.md) - Chunked upload via Live Components
33
+ - [External Plugins](resources/plugins-external.md) - Plugin development
34
+ - [Routing (React Router v7)](reference/routing.md) - Frontend routing setup
35
+
36
+ ## Patterns & Rules
37
+
38
+ - [Project Structure](patterns/project-structure.md) - Folder organization
39
+ - [Type Safety](patterns/type-safety.md) - Eden Treaty type flow
40
+ - [Anti-Patterns](patterns/anti-patterns.md) - What NOT to do
41
+
42
+ ## Reference
43
+
44
+ - [CLI Commands](reference/cli-commands.md) - Complete command reference
45
+ - [Plugin Hooks](reference/plugin-hooks.md) - All available hooks
46
+ - [Troubleshooting](reference/troubleshooting.md) - Common issues
47
+
48
+ ## Critical Rules
49
+
50
+ **NEVER:**
51
+ - Modify files in `core/` (framework is read-only)
52
+ - Wrap Eden Treaty in custom functions
53
+ - Omit response schemas in routes
54
+
55
+ **ALWAYS:**
56
+ - Work in `app/` directory
57
+ - Use native Eden Treaty: `const { data, error } = await api.users.get()`
58
+ - Define shared types in `app/shared/`
59
+ - Run `bun run dev` after changes
60
+
61
+ ## Migration & Maintenance
62
+
63
+ - [MIGRATION.md](MIGRATION.md) - Changes from `ai-context/` to `LLMD/`
64
+ - [MAINTENANCE.md](MAINTENANCE.md) - How to update this documentation
@@ -0,0 +1,197 @@
1
+ # Documentation Maintenance Guide
2
+
3
+ **Version:** 1.11.0 | **Updated:** 2025-02-08
4
+
5
+ ## Quick Facts
6
+
7
+ - Documentation lives in `/LLMD/`
8
+ - Each document tracks version and update date
9
+ - Target: <2000 tokens per document
10
+ - All internal links must be validated
11
+
12
+ ## Document Format
13
+
14
+ Every document follows this template:
15
+
16
+ ```markdown
17
+ # Document Title
18
+
19
+ **Version:** X.Y.Z | **Updated:** YYYY-MM-DD
20
+
21
+ ## Quick Facts
22
+
23
+ - Key point 1
24
+ - Key point 2
25
+
26
+ ## [Main Sections]
27
+
28
+ Content...
29
+
30
+ ## Related
31
+
32
+ - [Link 1](./path.md)
33
+ - [Link 2](./path.md)
34
+ ```
35
+
36
+ ## When to Update Documentation
37
+
38
+ ### Code Changes That Require Doc Updates
39
+
40
+ | Change Type | Update Required |
41
+ |-------------|-----------------|
42
+ | New CLI command | `reference/cli-commands.md` |
43
+ | New plugin hook | `reference/plugin-hooks.md`, `core/plugin-system.md` |
44
+ | New config option | `config/environment-vars.md`, `config/declarative-system.md` |
45
+ | Changed API pattern | `resources/routes-eden.md`, `patterns/type-safety.md` |
46
+ | New framework feature | Relevant `core/*.md` file |
47
+ | Build system change | `core/build-system.md` |
48
+ | Breaking change | `patterns/anti-patterns.md`, `reference/troubleshooting.md` |
49
+
50
+ ### Version Bump Checklist
51
+
52
+ When FluxStack version changes:
53
+
54
+ 1. Update `**Version:**` header in all `.md` files
55
+ 2. Update `MIGRATION.md` if needed
56
+ 3. Add new entries to `reference/troubleshooting.md` for version-specific issues
57
+ 4. Update `INDEX.md` if new documents added
58
+
59
+ ## Adding New Documentation
60
+
61
+ ### New Document Checklist
62
+
63
+ 1. **Create file** in appropriate directory:
64
+ - `core/` - Framework internals
65
+ - `config/` - Configuration system
66
+ - `resources/` - Creating things (routes, controllers, plugins)
67
+ - `patterns/` - Best practices and rules
68
+ - `reference/` - Quick lookup (CLI, hooks, troubleshooting)
69
+
70
+ 2. **Add header** with version and date
71
+
72
+ 3. **Add to INDEX.md** in the right section
73
+
74
+ 4. **Add Related links** at bottom of new document
75
+
76
+ 5. **Cross-link** from related existing documents
77
+
78
+ ### Token Efficiency Guidelines
79
+
80
+ - No prose introductions ("In this document we will...")
81
+ - Use tables for reference data
82
+ - Use code blocks, not explanations of code
83
+ - Bullet points over paragraphs
84
+ - No repeated information (link instead)
85
+
86
+ ## Link Validation
87
+
88
+ ### Manual Check
89
+
90
+ ```bash
91
+ # Find all internal links
92
+ grep -r "\]\(./" LLMD/ | grep "\.md"
93
+
94
+ # Verify each path exists
95
+ ```
96
+
97
+ ### Required Links to Check
98
+
99
+ Each document should have working links in:
100
+ - `## Related` section at bottom
101
+ - Any inline references
102
+
103
+ ## Directory Structure
104
+
105
+ ```
106
+ LLMD/
107
+ ├── INDEX.md # Navigation hub (update for new docs)
108
+ ├── MIGRATION.md # Changes from ai-context/
109
+ ├── MAINTENANCE.md # This file
110
+ ├── core/
111
+ │ ├── framework-lifecycle.md
112
+ │ ├── plugin-system.md
113
+ │ └── build-system.md
114
+ ├── config/
115
+ │ ├── declarative-system.md
116
+ │ ├── environment-vars.md
117
+ │ └── runtime-reload.md
118
+ ├── resources/
119
+ │ ├── routes-eden.md
120
+ │ ├── controllers.md
121
+ │ ├── live-components.md
122
+ │ └── plugins-external.md
123
+ ├── patterns/
124
+ │ ├── project-structure.md
125
+ │ ├── type-safety.md
126
+ │ └── anti-patterns.md
127
+ └── reference/
128
+ ├── cli-commands.md
129
+ ├── plugin-hooks.md
130
+ └── troubleshooting.md
131
+ ```
132
+
133
+ ## Code Example Standards
134
+
135
+ ### TypeScript Examples
136
+
137
+ ```typescript
138
+ // ✅ Include imports when non-obvious
139
+ import { Elysia, t } from 'elysia'
140
+
141
+ // ✅ Show complete, runnable snippets
142
+ export const route = new Elysia()
143
+ .get('/', () => ({ status: 'ok' }))
144
+ ```
145
+
146
+ ### Bash Examples
147
+
148
+ ```bash
149
+ # ✅ Include expected output when helpful
150
+ bun run dev
151
+ # ⚡ Starting Full-stack development server...
152
+ # Backend: http://localhost:3000
153
+ # Frontend: http://localhost:5173
154
+ ```
155
+
156
+ ### Avoid
157
+
158
+ ```typescript
159
+ // ❌ Incomplete snippets
160
+ .get('/', () => ...)
161
+
162
+ // ❌ Unexplained magic
163
+ const x = doSomething() // What is doSomething?
164
+ ```
165
+
166
+ ## Sync with Code Changes
167
+
168
+ ### Before PR
169
+
170
+ 1. Check if code changes affect documentation
171
+ 2. Update relevant documents
172
+ 3. Update version dates
173
+ 4. Validate links
174
+
175
+ ### After Major Feature
176
+
177
+ 1. Create new document if needed
178
+ 2. Update INDEX.md
179
+ 3. Add to MIGRATION.md for notable changes
180
+ 4. Cross-reference from related docs
181
+
182
+ ## Quality Checklist
183
+
184
+ Before committing documentation changes:
185
+
186
+ - [ ] Version and date updated
187
+ - [ ] All code examples syntactically valid
188
+ - [ ] All internal links work
189
+ - [ ] No duplicate information (link instead)
190
+ - [ ] Added to INDEX.md if new document
191
+ - [ ] Related section has relevant links
192
+ - [ ] Token count reasonable (<2000 target)
193
+
194
+ ## Related
195
+
196
+ - [INDEX.md](./INDEX.md) - Main navigation
197
+ - [MIGRATION.md](./MIGRATION.md) - Version changes
@@ -0,0 +1,156 @@
1
+ # Migration Guide: ai-context/ → LLMD/
2
+
3
+ **Version:** 1.11.0 | **Updated:** 2025-02-08
4
+
5
+ ## Overview
6
+
7
+ This document explains the migration from the old `ai-context/` documentation structure to the new `LLMD/` (LLM Documentation) structure. The new system is optimized for token efficiency, direct information access, and accurate reflection of the current codebase.
8
+
9
+ ## Key Changes
10
+
11
+ ### Philosophy Shift
12
+
13
+ **Old (`ai-context/`):**
14
+ - Mixed Portuguese and English content
15
+ - Verbose explanations with context
16
+ - Scattered information across multiple files
17
+ - Some outdated content from v1.9
18
+
19
+ **New (`LLMD/`):**
20
+ - English-only for consistency
21
+ - Direct, technical language without fluff
22
+ - Modular organization by domain
23
+ - Reflects current v1.11.0 codebase
24
+ - Single entrypoint (INDEX.md) for quick navigation
25
+
26
+ ### Directory Structure Mapping
27
+
28
+ | Old Location | New Location | Notes |
29
+ |-------------|--------------|-------|
30
+ | `ai-context/00-QUICK-START.md` | `LLMD/INDEX.md` | Now a navigation hub |
31
+ | `ai-context/project/overview.md` | `LLMD/core/framework-lifecycle.md` | More detailed lifecycle |
32
+ | `ai-context/project/architecture.md` | `LLMD/core/plugin-system.md` | Split into focused docs |
33
+ | `ai-context/project/configuration.md` | `LLMD/config/declarative-system.md` | Expanded config docs |
34
+ | `ai-context/project/build-pipeline.md` | `LLMD/core/build-system.md` | Updated for v1.11.0 |
35
+ | `ai-context/development/patterns.md` | `LLMD/patterns/project-structure.md` | Split by topic |
36
+ | `ai-context/development/eden-treaty-guide.md` | `LLMD/resources/routes-eden.md` | Focused on route creation |
37
+ | `ai-context/development/plugins-guide.md` | `LLMD/resources/plugins-external.md` | Plugin development only |
38
+ | `ai-context/development/live-components.md` | `LLMD/resources/live-components.md` | Maintained |
39
+ | `ai-context/development/monitoring.md` | *(Removed)* | Not core framework feature |
40
+ | `ai-context/reference/environment-vars.md` | `LLMD/config/environment-vars.md` | Comprehensive table format |
41
+ | `ai-context/reference/cli-commands.md` | `LLMD/reference/cli-commands.md` | Complete command reference |
42
+ | `ai-context/reference/config-api.md` | `LLMD/config/runtime-reload.md` | Focused on reload mechanism |
43
+ | `ai-context/reference/troubleshooting.md` | `LLMD/reference/troubleshooting.md` | Updated for v1.11.0 |
44
+ | `ai-context/examples/crud-complete.md` | *(Integrated)* | Examples now inline in docs |
45
+ | `ai-context/recent-changes/` | *(Removed)* | Version tracking in each doc |
46
+
47
+ ## Content Changes
48
+
49
+ ### What's New in LLMD/
50
+
51
+ 1. **Plugin Hooks Reference** (`reference/plugin-hooks.md`)
52
+ - Complete hook reference table
53
+ - Execution order documentation
54
+ - Hook context interfaces
55
+
56
+ 2. **Type Safety Patterns** (`patterns/type-safety.md`)
57
+ - Eden Treaty type flow diagrams
58
+ - Type inference examples
59
+ - Common type issues
60
+
61
+ 3. **Anti-Patterns** (`patterns/anti-patterns.md`)
62
+ - Common mistakes and violations
63
+ - What NOT to do
64
+ - Framework rules enforcement
65
+
66
+ 4. **Runtime Configuration** (`config/runtime-reload.md`)
67
+ - ReactiveConfig usage
68
+ - Hot reload mechanism
69
+ - Watch callbacks
70
+
71
+ 5. **Controllers Pattern** (`resources/controllers.md`)
72
+ - Business logic separation
73
+ - Service layer patterns
74
+ - Error handling
75
+
76
+ ### What's Removed
77
+
78
+ - **Monitoring documentation**: Not a core framework feature (plugin-specific)
79
+ - **Recent changes directory**: Version tracking now in each document
80
+ - **Verbose examples**: Replaced with minimal, inline examples
81
+ - **Portuguese content**: All content now in English
82
+
83
+ ### What's Updated
84
+
85
+ - **Version**: All docs reflect v1.11.0
86
+ - **Code examples**: Validated against current codebase
87
+ - **Environment variables**: Complete and accurate list
88
+ - **CLI commands**: All current commands documented
89
+ - **Plugin system**: Updated with latest architecture
90
+
91
+ ## Migration Timeline
92
+
93
+ ### Phase 1: Coexistence (Current)
94
+ - Both `ai-context/` and `LLMD/` exist
95
+ - `ai-context/` marked as deprecated
96
+ - New content goes to `LLMD/`
97
+
98
+ ### Phase 2: Transition (Future)
99
+ - Update all references to point to `LLMD/`
100
+ - Add redirects in `ai-context/` files
101
+ - Keep `ai-context/` for reference
102
+
103
+ ### Phase 3: Deprecation (Future)
104
+ - Archive `ai-context/` to separate branch
105
+ - Remove from main branch
106
+ - `LLMD/` becomes primary documentation
107
+
108
+ ## How to Use LLMD/
109
+
110
+ ### For LLMs
111
+
112
+ 1. **Start with INDEX.md**: Single entrypoint with navigation
113
+ 2. **Load only what you need**: Modular files save tokens
114
+ 3. **Check version**: Each doc includes version and update date
115
+ 4. **Follow links**: Related docs are cross-referenced
116
+
117
+ ### For Developers
118
+
119
+ 1. **Quick reference**: INDEX.md has all critical rules
120
+ 2. **Deep dive**: Follow links to specific topics
121
+ 3. **Troubleshooting**: reference/troubleshooting.md for common issues
122
+ 4. **Examples**: Inline examples in each resource doc
123
+
124
+ ## Quick Reference Mapping
125
+
126
+ ### Common Tasks
127
+
128
+ | Task | Old Path | New Path |
129
+ |------|----------|----------|
130
+ | Create a route | `development/eden-treaty-guide.md` | `resources/routes-eden.md` |
131
+ | Configure app | `project/configuration.md` | `config/declarative-system.md` |
132
+ | Create plugin | `development/plugins-guide.md` | `resources/plugins-external.md` |
133
+ | Fix errors | `reference/troubleshooting.md` | `reference/troubleshooting.md` |
134
+ | Understand lifecycle | `project/architecture.md` | `core/framework-lifecycle.md` |
135
+ | CLI commands | `reference/cli-commands.md` | `reference/cli-commands.md` |
136
+
137
+ ### Critical Rules (Unchanged)
138
+
139
+ These rules remain the same in both documentation systems:
140
+
141
+ - **NEVER** modify files in `core/` (framework is read-only)
142
+ - **NEVER** wrap Eden Treaty in custom functions
143
+ - **NEVER** omit response schemas in routes
144
+ - **ALWAYS** work in `app/` directory
145
+ - **ALWAYS** use native Eden Treaty: `const { data, error } = await api.users.get()`
146
+ - **ALWAYS** define shared types in `app/shared/`
147
+
148
+ ## Feedback
149
+
150
+ If you find outdated content or missing information in `LLMD/`, please update the relevant document and increment the update date.
151
+
152
+ ## Related Documents
153
+
154
+ - [INDEX.md](INDEX.md) - Main navigation hub
155
+ - [requirements.md](../.kiro/specs/llm-docs-refactor/requirements.md) - Requirements for this refactor
156
+ - [design.md](../.kiro/specs/llm-docs-refactor/design.md) - Design decisions
@@ -0,0 +1 @@
1
+ # Configuration documentation directory
@@ -0,0 +1,268 @@
1
+ # Declarative Configuration System
2
+
3
+ **Version:** 1.11.0 | **Updated:** 2025-02-08
4
+
5
+ ## Quick Facts
6
+
7
+ - Laravel-inspired schema-based configuration with automatic validation
8
+ - Type-safe config with full TypeScript inference
9
+ - Environment variable mapping with type casting
10
+ - Runtime reload support via `ReactiveConfig`
11
+ - Located in `config/system/*.config.ts`
12
+ - Core implementation: `core/utils/config-schema.ts`
13
+
14
+ ## defineConfig Function
15
+
16
+ Creates a static configuration object from a schema:
17
+
18
+ ```typescript
19
+ import { defineConfig, config } from '@core/utils/config-schema'
20
+
21
+ const appConfig = defineConfig({
22
+ name: config.string('APP_NAME', 'MyApp', true),
23
+ port: config.number('PORT', 3000, true),
24
+ env: config.enum('NODE_ENV', ['development', 'production'] as const, 'development')
25
+ })
26
+
27
+ // Type-safe access
28
+ appConfig.name // string
29
+ appConfig.port // number
30
+ appConfig.env // "development" | "production"
31
+ ```
32
+
33
+ ## ConfigField Types
34
+
35
+ ### string
36
+
37
+ ```typescript
38
+ {
39
+ type: 'string',
40
+ env: 'VAR_NAME',
41
+ default: 'value',
42
+ required: false
43
+ }
44
+
45
+ // Shorthand
46
+ config.string('VAR_NAME', 'default', required)
47
+ ```
48
+
49
+ ### number
50
+
51
+ ```typescript
52
+ {
53
+ type: 'number',
54
+ env: 'PORT',
55
+ default: 3000,
56
+ required: true,
57
+ validate: (value) => value > 0 && value < 65536
58
+ }
59
+
60
+ // Shorthand
61
+ config.number('PORT', 3000, true)
62
+ ```
63
+
64
+ Casts string env vars to numbers automatically.
65
+
66
+ ### boolean
67
+
68
+ ```typescript
69
+ {
70
+ type: 'boolean',
71
+ env: 'ENABLE_FEATURE',
72
+ default: false
73
+ }
74
+
75
+ // Shorthand
76
+ config.boolean('ENABLE_FEATURE', false)
77
+ ```
78
+
79
+ Accepts: `true`, `1`, `yes`, `on` (case-insensitive) as true.
80
+
81
+ ### array
82
+
83
+ ```typescript
84
+ {
85
+ type: 'array',
86
+ env: 'ALLOWED_HOSTS',
87
+ default: ['localhost']
88
+ }
89
+
90
+ // Shorthand
91
+ config.array('ALLOWED_HOSTS', ['localhost'])
92
+ ```
93
+
94
+ Parses comma-separated strings: `"host1,host2,host3"` → `['host1', 'host2', 'host3']`
95
+
96
+ ### object
97
+
98
+ ```typescript
99
+ {
100
+ type: 'object',
101
+ env: 'METADATA',
102
+ default: {}
103
+ }
104
+ ```
105
+
106
+ Parses JSON strings from env vars.
107
+
108
+ ### enum
109
+
110
+ ```typescript
111
+ {
112
+ type: 'enum',
113
+ env: 'NODE_ENV',
114
+ values: ['development', 'production', 'test'] as const,
115
+ default: 'development',
116
+ validate: (value) => value !== 'test' || 'Test mode not allowed'
117
+ }
118
+
119
+ // Shorthand
120
+ config.enum('NODE_ENV', ['development', 'production'] as const, 'development')
121
+ ```
122
+
123
+ Validates value is in allowed list. TypeScript infers union type.
124
+
125
+ ## Validation
126
+
127
+ ### Built-in Validation
128
+
129
+ - **Required fields**: Throws error if missing
130
+ - **Type casting**: Automatic conversion from env strings
131
+ - **Enum validation**: Ensures value in allowed list
132
+
133
+ ### Custom Validation
134
+
135
+ ```typescript
136
+ {
137
+ type: 'number',
138
+ env: 'PORT',
139
+ default: 3000,
140
+ validate: (value: number) => {
141
+ if (value < 1 || value > 65535) {
142
+ return 'Port must be between 1 and 65535'
143
+ }
144
+ return true
145
+ }
146
+ }
147
+ ```
148
+
149
+ Return `true` for valid, `false` or error string for invalid.
150
+
151
+ ### Validation Errors
152
+
153
+ ```typescript
154
+ // Throws on startup if validation fails:
155
+ // ❌ Configuration validation failed:
156
+ // - Field 'port' is required but not provided
157
+ // - Field 'env' must be one of: development, production (got: "staging")
158
+ ```
159
+
160
+ ## ReactiveConfig (Runtime Reload)
161
+
162
+ For configs that need runtime updates:
163
+
164
+ ```typescript
165
+ import { defineReactiveConfig } from '@core/utils/config-schema'
166
+
167
+ const reactiveConfig = defineReactiveConfig({
168
+ feature: config.boolean('FEATURE_FLAG', false)
169
+ })
170
+
171
+ // Access values
172
+ reactiveConfig.values.feature // false
173
+
174
+ // Watch for changes
175
+ const unwatch = reactiveConfig.watch((newConfig) => {
176
+ console.log('Config updated:', newConfig.feature)
177
+ })
178
+
179
+ // Reload from environment
180
+ reactiveConfig.reload()
181
+
182
+ // Stop watching
183
+ unwatch()
184
+ ```
185
+
186
+ See [runtime-reload.md](./runtime-reload.md) for detailed usage.
187
+
188
+ ## Nested Configuration
189
+
190
+ Group related configs:
191
+
192
+ ```typescript
193
+ import { defineNestedConfig } from '@core/utils/config-schema'
194
+
195
+ const serverConfig = defineNestedConfig({
196
+ server: {
197
+ port: config.number('PORT', 3000),
198
+ host: config.string('HOST', 'localhost')
199
+ },
200
+ cors: {
201
+ origins: config.array('CORS_ORIGINS', ['http://localhost:3000']),
202
+ credentials: config.boolean('CORS_CREDENTIALS', false)
203
+ }
204
+ })
205
+
206
+ // Access nested
207
+ serverConfig.server.port // 3000
208
+ serverConfig.cors.origins // ['http://localhost:3000']
209
+ ```
210
+
211
+ ## Helper Functions
212
+
213
+ ```typescript
214
+ import { config } from '@core/utils/config-schema'
215
+
216
+ // All helpers: (envVar, default, required)
217
+ config.string('VAR', 'default', false)
218
+ config.number('VAR', 42, true)
219
+ config.boolean('VAR', false)
220
+ config.array('VAR', ['item'])
221
+ config.enum('VAR', ['a', 'b'] as const, 'a')
222
+ ```
223
+
224
+ ## Custom Transformers
225
+
226
+ Apply custom logic before validation:
227
+
228
+ ```typescript
229
+ {
230
+ type: 'string',
231
+ env: 'API_URL',
232
+ default: 'http://localhost:3000',
233
+ transform: (value) => value.endsWith('/') ? value.slice(0, -1) : value
234
+ }
235
+ ```
236
+
237
+ ## Configuration Files
238
+
239
+ All system configs in `config/system/`:
240
+
241
+ - `app.config.ts` - Application metadata
242
+ - `server.config.ts` - Server and CORS settings
243
+ - `client.config.ts` - Frontend configuration
244
+ - `build.config.ts` - Build settings
245
+ - `database.config.ts` - Database connection
246
+ - `plugins.config.ts` - Plugin system settings
247
+ - `services.config.ts` - External services
248
+ - `monitoring.config.ts` - Logging and metrics
249
+
250
+ ## Type Inference
251
+
252
+ Full TypeScript type safety:
253
+
254
+ ```typescript
255
+ const config = defineConfig({
256
+ port: config.number('PORT', 3000),
257
+ env: config.enum('NODE_ENV', ['dev', 'prod'] as const, 'dev')
258
+ })
259
+
260
+ // Inferred types:
261
+ config.port // number
262
+ config.env // "dev" | "prod"
263
+ ```
264
+
265
+ ## Related
266
+
267
+ - [Environment Variables](./environment-vars.md) - Complete env var reference
268
+ - [Runtime Reload](./runtime-reload.md) - ReactiveConfig usage patterns