@futdevpro/fsm-dynamo 1.15.1 → 1.15.2

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 (216) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -0
  2. package/.cursor/rules/__main.mdc +62 -0
  3. package/.cursor/rules/_ag_backend-structure.mdc +86 -0
  4. package/.cursor/rules/_ag_backend.mdc +16 -0
  5. package/.cursor/rules/_ag_debug.mdc +8 -0
  6. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -0
  7. package/.cursor/rules/_ag_file-refactoring.mdc +113 -0
  8. package/.cursor/rules/_ag_fixes_rules.mdc +6 -0
  9. package/.cursor/rules/_ag_frontend-structure.mdc +87 -0
  10. package/.cursor/rules/_ag_frontend.mdc +40 -0
  11. package/.cursor/rules/_ag_import-rules.mdc +45 -0
  12. package/.cursor/rules/_ag_naming.mdc +116 -0
  13. package/.cursor/rules/_ag_running_commands.mdc +5 -0
  14. package/.cursor/rules/_ag_server-controller.mdc +6 -0
  15. package/.cursor/rules/_ag_should-be.mdc +7 -0
  16. package/.cursor/rules/_ag_swearing.mdc +47 -0
  17. package/.cursor/rules/ai_development_guide.md +61 -0
  18. package/.cursor/rules/ai_directives.md +114 -0
  19. package/.cursor/rules/cursor-rules.md +160 -0
  20. package/.cursor/rules/default-command.mdc +229 -0
  21. package/.cursor/rules/error_code_pattern.md +40 -0
  22. package/.cursor/rules/saved rule mcp server use.md +16 -0
  23. package/build/_modules/data-handler/_models/data-handler.control-model.js +17 -17
  24. package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
  25. package/futdevpro-fsm-dynamo-01.15.2.tgz +0 -0
  26. package/package.json +2 -2
  27. package/src/_modules/data-handler/_models/data-handler.control-model.ts +17 -17
  28. package/build/_collections/utils/array.util.spec.d.ts +0 -2
  29. package/build/_collections/utils/array.util.spec.d.ts.map +0 -1
  30. package/build/_collections/utils/array.util.spec.js +0 -239
  31. package/build/_collections/utils/array.util.spec.js.map +0 -1
  32. package/build/_collections/utils/log.util.spec.d.ts +0 -2
  33. package/build/_collections/utils/log.util.spec.d.ts.map +0 -1
  34. package/build/_collections/utils/log.util.spec.js +0 -633
  35. package/build/_collections/utils/log.util.spec.js.map +0 -1
  36. package/build/_collections/utils/math/box-bounds.util.spec.d.ts +0 -2
  37. package/build/_collections/utils/math/box-bounds.util.spec.d.ts.map +0 -1
  38. package/build/_collections/utils/math/box-bounds.util.spec.js +0 -97
  39. package/build/_collections/utils/math/box-bounds.util.spec.js.map +0 -1
  40. package/build/_collections/utils/math/math.util.spec.d.ts +0 -2
  41. package/build/_collections/utils/math/math.util.spec.d.ts.map +0 -1
  42. package/build/_collections/utils/math/math.util.spec.js +0 -80
  43. package/build/_collections/utils/math/math.util.spec.js.map +0 -1
  44. package/build/_collections/utils/math/random.util.spec.d.ts +0 -2
  45. package/build/_collections/utils/math/random.util.spec.d.ts.map +0 -1
  46. package/build/_collections/utils/math/random.util.spec.js +0 -75
  47. package/build/_collections/utils/math/random.util.spec.js.map +0 -1
  48. package/build/_collections/utils/math/trigonometry.util.spec.d.ts +0 -2
  49. package/build/_collections/utils/math/trigonometry.util.spec.d.ts.map +0 -1
  50. package/build/_collections/utils/math/trigonometry.util.spec.js +0 -49
  51. package/build/_collections/utils/math/trigonometry.util.spec.js.map +0 -1
  52. package/build/_collections/utils/math/vector2.util.spec.d.ts +0 -2
  53. package/build/_collections/utils/math/vector2.util.spec.d.ts.map +0 -1
  54. package/build/_collections/utils/math/vector2.util.spec.js +0 -82
  55. package/build/_collections/utils/math/vector2.util.spec.js.map +0 -1
  56. package/build/_collections/utils/object.util.spec.d.ts +0 -2
  57. package/build/_collections/utils/object.util.spec.d.ts.map +0 -1
  58. package/build/_collections/utils/object.util.spec.js +0 -506
  59. package/build/_collections/utils/object.util.spec.js.map +0 -1
  60. package/build/_collections/utils/regex/password-regex.util.spec.d.ts +0 -2
  61. package/build/_collections/utils/regex/password-regex.util.spec.d.ts.map +0 -1
  62. package/build/_collections/utils/regex/password-regex.util.spec.js +0 -44
  63. package/build/_collections/utils/regex/password-regex.util.spec.js.map +0 -1
  64. package/build/_collections/utils/regex/regex.util.spec.d.ts +0 -2
  65. package/build/_collections/utils/regex/regex.util.spec.d.ts.map +0 -1
  66. package/build/_collections/utils/regex/regex.util.spec.js +0 -40
  67. package/build/_collections/utils/regex/regex.util.spec.js.map +0 -1
  68. package/build/_collections/utils/regex/username-regex.util.spec.d.ts +0 -2
  69. package/build/_collections/utils/regex/username-regex.util.spec.d.ts.map +0 -1
  70. package/build/_collections/utils/regex/username-regex.util.spec.js +0 -59
  71. package/build/_collections/utils/regex/username-regex.util.spec.js.map +0 -1
  72. package/build/_collections/utils/round-list.util.spec.d.ts +0 -2
  73. package/build/_collections/utils/round-list.util.spec.d.ts.map +0 -1
  74. package/build/_collections/utils/round-list.util.spec.js +0 -65
  75. package/build/_collections/utils/round-list.util.spec.js.map +0 -1
  76. package/build/_collections/utils/stack.util.spec.d.ts +0 -2
  77. package/build/_collections/utils/stack.util.spec.d.ts.map +0 -1
  78. package/build/_collections/utils/stack.util.spec.js +0 -290
  79. package/build/_collections/utils/stack.util.spec.js.map +0 -1
  80. package/build/_collections/utils/string-case.util.spec.d.ts +0 -2
  81. package/build/_collections/utils/string-case.util.spec.d.ts.map +0 -1
  82. package/build/_collections/utils/string-case.util.spec.js +0 -360
  83. package/build/_collections/utils/string-case.util.spec.js.map +0 -1
  84. package/build/_collections/utils/string.util.spec.d.ts +0 -2
  85. package/build/_collections/utils/string.util.spec.d.ts.map +0 -1
  86. package/build/_collections/utils/string.util.spec.js +0 -860
  87. package/build/_collections/utils/string.util.spec.js.map +0 -1
  88. package/build/_collections/utils/time.util.spec.d.ts +0 -2
  89. package/build/_collections/utils/time.util.spec.d.ts.map +0 -1
  90. package/build/_collections/utils/time.util.spec.js +0 -38
  91. package/build/_collections/utils/time.util.spec.js.map +0 -1
  92. package/build/_collections/utils/type-cloning-facility.util.spec.d.ts +0 -2
  93. package/build/_collections/utils/type-cloning-facility.util.spec.d.ts.map +0 -1
  94. package/build/_collections/utils/type-cloning-facility.util.spec.js +0 -41
  95. package/build/_collections/utils/type-cloning-facility.util.spec.js.map +0 -1
  96. package/build/_collections/utils/uuid.util.spec.d.ts +0 -2
  97. package/build/_collections/utils/uuid.util.spec.d.ts.map +0 -1
  98. package/build/_collections/utils/uuid.util.spec.js +0 -29
  99. package/build/_collections/utils/uuid.util.spec.js.map +0 -1
  100. package/build/_models/control-models/data-model-params.control-model.spec.d.ts +0 -2
  101. package/build/_models/control-models/data-model-params.control-model.spec.d.ts.map +0 -1
  102. package/build/_models/control-models/data-model-params.control-model.spec.js +0 -64
  103. package/build/_models/control-models/data-model-params.control-model.spec.js.map +0 -1
  104. package/build/_models/control-models/data-property-params.control-model.spec.d.ts +0 -2
  105. package/build/_models/control-models/data-property-params.control-model.spec.d.ts.map +0 -1
  106. package/build/_models/control-models/data-property-params.control-model.spec.js +0 -74
  107. package/build/_models/control-models/data-property-params.control-model.spec.js.map +0 -1
  108. package/build/_models/control-models/error.control-model.spec.d.ts +0 -2
  109. package/build/_models/control-models/error.control-model.spec.d.ts.map +0 -1
  110. package/build/_models/control-models/error.control-model.spec.js +0 -664
  111. package/build/_models/control-models/error.control-model.spec.js.map +0 -1
  112. package/build/_models/control-models/poll.control-model.spec.d.ts +0 -2
  113. package/build/_models/control-models/poll.control-model.spec.d.ts.map +0 -1
  114. package/build/_models/control-models/poll.control-model.spec.js +0 -57
  115. package/build/_models/control-models/poll.control-model.spec.js.map +0 -1
  116. package/build/_models/control-models/range-value.control-model.spec.d.ts +0 -2
  117. package/build/_models/control-models/range-value.control-model.spec.d.ts.map +0 -1
  118. package/build/_models/control-models/range-value.control-model.spec.js +0 -163
  119. package/build/_models/control-models/range-value.control-model.spec.js.map +0 -1
  120. package/build/_modules/crypto/_collections/crypto.util.edge.spec.d.ts +0 -2
  121. package/build/_modules/crypto/_collections/crypto.util.edge.spec.d.ts.map +0 -1
  122. package/build/_modules/crypto/_collections/crypto.util.edge.spec.js +0 -551
  123. package/build/_modules/crypto/_collections/crypto.util.edge.spec.js.map +0 -1
  124. package/build/_modules/crypto/_collections/crypto.util.extra.spec.d.ts +0 -2
  125. package/build/_modules/crypto/_collections/crypto.util.extra.spec.d.ts.map +0 -1
  126. package/build/_modules/crypto/_collections/crypto.util.extra.spec.js +0 -555
  127. package/build/_modules/crypto/_collections/crypto.util.extra.spec.js.map +0 -1
  128. package/build/_modules/crypto/_collections/crypto.util.simple.spec.d.ts +0 -2
  129. package/build/_modules/crypto/_collections/crypto.util.simple.spec.d.ts.map +0 -1
  130. package/build/_modules/crypto/_collections/crypto.util.simple.spec.js +0 -429
  131. package/build/_modules/crypto/_collections/crypto.util.simple.spec.js.map +0 -1
  132. package/build/_modules/custom-data/_models/cud.data-model.spec.d.ts +0 -2
  133. package/build/_modules/custom-data/_models/cud.data-model.spec.d.ts.map +0 -1
  134. package/build/_modules/custom-data/_models/cud.data-model.spec.js +0 -35
  135. package/build/_modules/custom-data/_models/cud.data-model.spec.js.map +0 -1
  136. package/build/_modules/location/_collections/loc-regions.util.spec.d.ts +0 -2
  137. package/build/_modules/location/_collections/loc-regions.util.spec.d.ts.map +0 -1
  138. package/build/_modules/location/_collections/loc-regions.util.spec.js +0 -51
  139. package/build/_modules/location/_collections/loc-regions.util.spec.js.map +0 -1
  140. package/build/_modules/location/_collections/loc.util.spec.d.ts +0 -2
  141. package/build/_modules/location/_collections/loc.util.spec.d.ts.map +0 -1
  142. package/build/_modules/location/_collections/loc.util.spec.js +0 -39
  143. package/build/_modules/location/_collections/loc.util.spec.js.map +0 -1
  144. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.d.ts +0 -2
  145. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.d.ts.map +0 -1
  146. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.js +0 -33
  147. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.js.map +0 -1
  148. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.d.ts +0 -2
  149. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.d.ts.map +0 -1
  150. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.js +0 -36
  151. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.js.map +0 -1
  152. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.d.ts +0 -2
  153. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.d.ts.map +0 -1
  154. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.js +0 -35
  155. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.js.map +0 -1
  156. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.d.ts +0 -2
  157. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.d.ts.map +0 -1
  158. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.js +0 -31
  159. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.js.map +0 -1
  160. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.d.ts +0 -2
  161. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.d.ts.map +0 -1
  162. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.js +0 -54
  163. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.js.map +0 -1
  164. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.d.ts +0 -2
  165. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.d.ts.map +0 -1
  166. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.js +0 -26
  167. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.js.map +0 -1
  168. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.d.ts +0 -2
  169. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.d.ts.map +0 -1
  170. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.js +0 -50
  171. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.js.map +0 -1
  172. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.d.ts +0 -2
  173. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.d.ts.map +0 -1
  174. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.js +0 -23
  175. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.js.map +0 -1
  176. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.d.ts +0 -2
  177. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.d.ts.map +0 -1
  178. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.js +0 -38
  179. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.js.map +0 -1
  180. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.d.ts +0 -2
  181. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.d.ts.map +0 -1
  182. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.js +0 -20
  183. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.js.map +0 -1
  184. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.d.ts +0 -2
  185. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.d.ts.map +0 -1
  186. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js +0 -50
  187. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js.map +0 -1
  188. package/build/_modules/socket/_models/sck-client-params.control-model.spec.d.ts +0 -2
  189. package/build/_modules/socket/_models/sck-client-params.control-model.spec.d.ts.map +0 -1
  190. package/build/_modules/socket/_models/sck-client-params.control-model.spec.js +0 -54
  191. package/build/_modules/socket/_models/sck-client-params.control-model.spec.js.map +0 -1
  192. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.d.ts +0 -2
  193. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.d.ts.map +0 -1
  194. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.js +0 -49
  195. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.js.map +0 -1
  196. package/build/_modules/socket/_services/sck-client.service-base.spec.d.ts +0 -2
  197. package/build/_modules/socket/_services/sck-client.service-base.spec.d.ts.map +0 -1
  198. package/build/_modules/socket/_services/sck-client.service-base.spec.js +0 -82
  199. package/build/_modules/socket/_services/sck-client.service-base.spec.js.map +0 -1
  200. package/build/_modules/usage/_models/usg-action.control-model.spec.d.ts +0 -2
  201. package/build/_modules/usage/_models/usg-action.control-model.spec.d.ts.map +0 -1
  202. package/build/_modules/usage/_models/usg-action.control-model.spec.js +0 -24
  203. package/build/_modules/usage/_models/usg-action.control-model.spec.js.map +0 -1
  204. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.d.ts +0 -2
  205. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.d.ts.map +0 -1
  206. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.js +0 -33
  207. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.js.map +0 -1
  208. package/build/_modules/usage/_models/usg-data.control-model.spec.d.ts +0 -2
  209. package/build/_modules/usage/_models/usg-data.control-model.spec.d.ts.map +0 -1
  210. package/build/_modules/usage/_models/usg-data.control-model.spec.js +0 -37
  211. package/build/_modules/usage/_models/usg-data.control-model.spec.js.map +0 -1
  212. package/build/_modules/usage/_models/usg-session.data-model.spec.d.ts +0 -2
  213. package/build/_modules/usage/_models/usg-session.data-model.spec.d.ts.map +0 -1
  214. package/build/_modules/usage/_models/usg-session.data-model.spec.js +0 -82
  215. package/build/_modules/usage/_models/usg-session.data-model.spec.js.map +0 -1
  216. package/futdevpro-fsm-dynamo-01.15.01.tgz +0 -0
@@ -0,0 +1,113 @@
1
+ ---
2
+ description: when refactoring large files or extracting code sections from files
3
+ alwaysApply: false
4
+ ---
5
+ # File Refactoring és Code Extraction Guidelines
6
+
7
+ ## Extract File Content Parancs Használata
8
+
9
+ Amikor nagy fájlokat refaktorálunk vagy kód részeket extraktolunk fájlból, **MINDIG** használjuk a Dynamo CLI `extract-file-content` parancsát.
10
+
11
+ ### Parancs Használata
12
+
13
+ ```bash
14
+ dc efc <source-file> --start <start-line> --end <end-line> --output <output-name> [--target-dir <target-directory>]
15
+ ```
16
+
17
+ Vagy a hosszabb alias-szal:
18
+ ```bash
19
+ dc extract-file-content <source-file> --start <start-line> --end <end-line> --output <output-name> [--target-dir <target-directory>]
20
+ ```
21
+
22
+ ### Paraméterek
23
+
24
+ - `<source-file>` - A forrás fájl elérési útja (relatív vagy abszolút)
25
+ - `--start <start-line>` - A kezdő sor száma (1-based, beleértve ezt a sort)
26
+ - `--end <end-line>` - A vég sor száma (1-based, beleértve ezt a sort)
27
+ - `--output <output-name>` - A kimeneti fájl neve (kiterjesztés nélkül vagy kiterjesztéssel)
28
+ - `--target-dir <target-directory>` - Opcionális: célkönyvtár (alapértelmezett: ugyanaz, mint a forrás fájl könyvtára)
29
+
30
+ ### Automatikus Funkciók
31
+
32
+ A parancs automatikusan:
33
+ - **Detektálja és hozzáadja a szükséges importokat** a kiemelt kód alapján
34
+ - **Hozzáadja a copyright header-t** (TypeScript fájlok esetén)
35
+ - **Törli a kiemelt sorokat** az eredeti fájlból
36
+ - **Konvertálja a fájlnevet kebab-case-re**
37
+ - **MD fájlok esetén** nem ad hozzá copyright headert és importokat
38
+
39
+ ### Használati Esetek
40
+
41
+ #### 1. Nagy Fájlok Refaktorálása
42
+
43
+ Ha egy fájl **500+ sor** hosszú, és logikailag szétbontható:
44
+ 1. Azonosítsd a különálló funkcionalitást vagy modult
45
+ 2. Használd az `efc` parancsot a kód kiemelésére új fájlba
46
+ 3. Az eredeti fájlból automatikusan törlődnek a kiemelt sorok
47
+
48
+ **Példa:**
49
+ ```bash
50
+ # Kiemeljük a user validation logikát egy külön fájlba
51
+ dc efc src/services/user.service.ts --start 150 --end 300 --output user-validation
52
+ # Ez létrehozza: src/services/user-validation.ts
53
+ ```
54
+
55
+ #### 2. Modulok Kiemelése
56
+
57
+ Amikor egy nagy fájlból külön modult vagy service-t szeretnénk kiemelni:
58
+ 1. Határozd meg a modul kezdő és vég sorait
59
+ 2. Add meg a kimeneti fájl nevét
60
+ 3. Opcionálisan add meg a célkönyvtárat
61
+
62
+ **Példa:**
63
+ ```bash
64
+ # Kiemeljük a notification service-t egy külön fájlba
65
+ dc efc src/services/communication.service.ts --start 50 --end 200 --output notification-service --target-dir src/services/notifications
66
+ ```
67
+
68
+ #### 3. TypeScript Interface-ek és Type-ok Kiemelése
69
+
70
+ Amikor type definíciókat szeretnénk külön fájlba kiemelni:
71
+ ```bash
72
+ dc efc src/models/user.model.ts --start 1 --end 50 --output user-types --target-dir src/models/types
73
+ ```
74
+
75
+ ### Fontos Megjegyzések
76
+
77
+ - **MINDIG** használd ezt a parancsot nagy fájlok refaktorálásakor
78
+ - A parancs **automatikusan törli** a kiemelt sorokat az eredeti fájlból
79
+ - Az importok **automatikusan detektálódnak** és hozzáadódnak az új fájlhoz
80
+ - MD fájlok esetén csak a tartalom kerül kiemelésre (nincs header, nincs import)
81
+ - A fájlnevek **automatikusan kebab-case-re** konvertálódnak
82
+ - **PowerShell környezet**: Mivel PowerShell-ben dolgozunk, a mappa választás és parancs elválasztására **pontosvesszőt (;)** kell használni, nem az és-és (&&) operátort
83
+
84
+ ### Workflow
85
+
86
+ 1. Azonosítsd a kiemelendő kód részt (kezdő és vég sor)
87
+ - **FONTOS**: Ahhoz, hogy az előre meghatározott sor számok jók legyenek, **hátulról előre kell haladni** - tehát csak a magas számokkal kezdjünk, legmagasabbal, és attól megyünk lefelé
88
+ 2. Futtasd az `efc` parancsot a megfelelő paraméterekkel
89
+ 3. Ellenőrizd az új fájlt, hogy minden szükséges import benne van-e
90
+ 4. Ellenőrizd az eredeti fájlt, hogy a kiemelt sorok törölve lettek-e
91
+ 5. Szükség esetén manuálisan finomhangold az importokat
92
+
93
+ ### Törlés Parancs (Ha Csak Törölni Akarunk)
94
+
95
+ Ha csak sorokat szeretnénk törölni (nem kiemelni), használd a `delete-file-lines` parancsot:
96
+
97
+ ```bash
98
+ dc dfl <source-file> --start <start-line> --end <end-line>
99
+ ```
100
+
101
+ Vagy:
102
+ ```bash
103
+ dc delete-file-lines <source-file> --start <start-line> --end <end-line>
104
+ ```
105
+
106
+ ### Best Practices
107
+
108
+ - **Sor számok meghatározása**: Ahhoz, hogy az előre meghatározott sor számok jók legyenek, **hátulról előre kell haladni** - tehát csak a magas számokkal kezdjünk, legmagasabbal, és attól megyünk lefelé
109
+ - **PowerShell parancs elválasztás**: Mivel PowerShell-ben dolgozunk, a mappa választás és parancs elválasztására **pontosvesszőt (;)** kell használni, nem az és-és (&&) operátort (pl. `cd .. ; pnpm test` helyes, `cd .. && pnpm test` helytelen)
110
+ - **Előzetes ellenőrzés**: Mielőtt futtatnád a parancsot, ellenőrizd, hogy a sorok tartalma valóban kiemelhető-e
111
+ - **Git commit**: Mielőtt refaktorálást kezdesz, commit-old a változtatásokat
112
+ - **Tesztelés**: A refaktorálás után mindig teszteld, hogy a funkcionalitás változatlan maradt-e
113
+ - **Dokumentáció**: Nagyobb refaktorálások után frissítsd a dokumentációt
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: apply when we are facing errors, issues or bugs.
3
+ alwaysApply: false
4
+ ---
5
+
6
+ When we are trying to solve an issue, an error or a bug, we always need to check the related specifications first about what is the required best case.
@@ -0,0 +1,87 @@
1
+ ---
2
+ description: when creating frontend- structure, module, or new folders.
3
+ alwaysApply: false
4
+ ---
5
+ # Frontend Project Structure [FDP-FE]
6
+
7
+ ## Overview
8
+ This document outlines the standard project structure for FDP frontend applications.
9
+
10
+ ## Directory Structure
11
+
12
+ ```
13
+ 📁 app/
14
+ ├── 📁 _collections/
15
+ │ ├── 📁 consts(*)/
16
+ │ ├── 📁 mocks(*)/
17
+ │ └── 📁 utils(*)/
18
+ ├── 📁 _components/
19
+ │ ├── 📁 <core-component-1>/
20
+ │ ├── 📁 <core-component-2>/
21
+ │ └── 📁 <core-component-group-1(*)>/
22
+ ├── 📁 _directives/
23
+ ├── 📁 _enums/
24
+ ├── 📁 _models/
25
+ │ ├── 📁 control-models(*)/
26
+ │ ├── 📁 data-models(*)/
27
+ │ └── 📁 interfaces(*)/
28
+ ├── 📁 _modules/
29
+ │ ├── 📁 shared/
30
+ │ │ ├── 📁 _collections/
31
+ │ │ ├── 📁 _components/
32
+ │ │ │ ├── 📁 s-<shared-component-1(**)>/
33
+ │ │ │ └── 📁 s-<shared-component-2(**)>/
34
+ │ │ ├── 📁 _directives/
35
+ │ │ ├── 📁 _enums/
36
+ │ │ ├── 📁 _models/
37
+ │ │ ├── 📁 _pipes/
38
+ │ │ └── 📁 _services/
39
+ │ ├── 📁 shared-standalones/
40
+ │ ├── 📁 <module-1>/
41
+ │ │ ├── 📁 _collections/
42
+ │ │ ├── 📁 _components/
43
+ │ │ │ ├── 📁 m1-<component-1(**)>/
44
+ │ │ │ └── 📁 m1-<component-2(**)>/
45
+ │ └── 📁 <module-2>/
46
+ ├── 📁 _pipes/
47
+ │ ├── 📁 <pipe-1>/
48
+ │ └── 📁 <pipe-2>/
49
+ └── 📁 _services/
50
+ ├── 📁 api-services(*)/
51
+ ├── 📁 control-services(*)/
52
+ └── 📁 data-services(*)/
53
+ ```
54
+
55
+ ## Directory Guidelines
56
+
57
+ ### Folder Creation Rules (*)
58
+ - Create subfolders only when containing 3-5+ elements
59
+ - For 3+ elements: Consider if it will grow to 5+
60
+ - If likely to reach 5+: Create subfolder immediately
61
+ - Otherwise: Keep files in the parent type folder
62
+
63
+ ### Component Naming (**)
64
+ - Prefix components with module identifier (2-3 letters)
65
+ - Shared components: 's-'
66
+ - Module-specific: 'm1-', 'm2-', etc.
67
+ - Helps with:
68
+ - Easy navigation
69
+ - Module identification
70
+ - Preventing naming conflicts
71
+
72
+ ### Type Folder Convention
73
+ - Prefix type-folders with "_" (e.g., _components, _services)
74
+ - Only create when containing content
75
+ - Helps identify project layer visually
76
+
77
+ ### Module Organization
78
+ - All modules must be in the main _modules folder
79
+ - No nested module folders within modules
80
+ - Standard module structure includes:
81
+ - _collections
82
+ - _components
83
+ - _directives
84
+ - _enums
85
+ - _models
86
+ - _pipes
87
+ - _services
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: when creating front-end implementations
3
+ alwaysApply: false
4
+ ---
5
+ # FDP FronEnd development Guide
6
+
7
+ ## Tech Stack
8
+ - Use Angular latest version
9
+ - Use Tailwind for SCSS Styles
10
+ - Use the following tech stack: use Angular, Typescript, tailwind, DyNX_, DyFM_, DyNM_, FDP_, FDPNX_
11
+
12
+ ## Angular
13
+
14
+ ## Project Structure
15
+ - Follow the structure defined in [Frontend Project Structure](frontend-structure.md)
16
+
17
+ ### Components
18
+ - After 4+ rows, always create separate HTML file
19
+
20
+ ### Typescript
21
+ - Use Signals
22
+ - For Signal properties use "_$" postfix
23
+ - For Subjects use "_S" postfix
24
+ - For BehaviourSubjects use "_BS" postfix
25
+ - For Observables use "$" postfix
26
+ - Use async methods
27
+ - ng methods as ngOnInit should never be a promise since they won't wait for async functions
28
+ - Don't implement ngOnInit if not needed/used.
29
+ - for any buttons we should use dynamo new button
30
+ - For data handlings, use data handlers and data services across multiple components whenever we need to handle data.
31
+
32
+ ### HTML
33
+ - NEVER EVER use methods in HTML templates for getting data
34
+ - Put empty lines between HTML elements in the same level
35
+ - Use "@if" syntax in HTML instead of "*ngIf" for Angular
36
+ - Use Tailwind classes and only create SCSS if needed, e.g. for animated elements
37
+ - In HTML templates you should never ever use functions to display data or evaluate HTML tag rendering methods only allowed for event triggers! Use signal computed values or pipes for evaluations and pipings.
38
+
39
+ ## Naming
40
+ - Read and follow [Naming](_ag_naming.mdc) conventions
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: import formatting rules
3
+ alwaysApply: false
4
+ ---
5
+ # Import Rules and Format [FDP-Dev-import]
6
+
7
+ ## Overview
8
+ This document outlines the standard import rules and formatting for FDP projects.
9
+
10
+ ## Import Order
11
+ 1. Angular Core imports (@angular/*)
12
+ 2. External imports (packages)
13
+ 3. FDP imports (@futdevpro/*)
14
+ 4. Shared imports (from shared modules)
15
+ 5. Internal imports (local)
16
+
17
+ ## Format Example
18
+ ```typescript
19
+ import { Component, OnInit } from '@angular/core';
20
+ import { Observable } from 'rxjs';
21
+ import { MatDialog } from '@angular/material/dialog';
22
+
23
+ import { DyFM_Log } from '@futdevpro/fsm-dynamo';
24
+ import { FDP_User } from '@futdevpro/fdp-templates';
25
+
26
+ import { SharedModule } from '../../_modules/shared/shared.module';
27
+
28
+ import { FirstModule } from '../first/first.module';
29
+ import { SecondModule } from './second.module';
30
+ ```
31
+
32
+ ## Rules
33
+ 1. Use spaces between import groups
34
+ 2. Use relative imports within the application
35
+ 3. Group imports by their source/type
36
+ 4. Order internal imports by relative path distance (bottom-up)
37
+ 5. Keep imports clean and organized
38
+ 6. Remove unused imports
39
+
40
+ ## Best Practices
41
+ - Use explicit imports rather than wildcards
42
+ - Keep imports alphabetically sorted within their groups
43
+ - Use relative paths for internal imports
44
+ - Use absolute paths for package imports
45
+ - Remove any duplicate imports
@@ -0,0 +1,116 @@
1
+ ---
2
+ description: when naming new- elements, classes and else.
3
+ alwaysApply: false
4
+ ---
5
+ # FDP Naming Conventions [FDP-Dev-Naming]
6
+
7
+ ## Overview
8
+ This document outlines the standard naming conventions for FDP projects.
9
+
10
+ ## General Rules
11
+ - Use PascalCase for:
12
+ - Classes
13
+ - Interfaces
14
+ - Types
15
+ - Enums
16
+ - Use camelCase for:
17
+ - Variables
18
+ - Constants
19
+ - Methods
20
+ - Use descriptive, meaningful names
21
+
22
+ ## Module Prefixes
23
+ - Each element must be prefixed with its module's 2-3 letter identifier
24
+ - Helps with:
25
+ - Navigation
26
+ - Module identification
27
+ - Preventing naming conflicts
28
+ - Example: `FE_Page_Component` for FlowEditor module
29
+
30
+ ## Element Types
31
+ Format: Element Name (File Pattern) -> Class Postfix
32
+
33
+ ### Model Elements
34
+ #### Basic Models
35
+ - Data Model (*.data-model.ts) -> _DataModel
36
+ - Control Model (*.control-model.ts) -> _ControlModel
37
+ - Interface (*.interface.ts) -> _Interface
38
+
39
+ #### Special Models
40
+ - Params (*-params.control-model.ts) -> _Params_ControlModel
41
+ - Settings (*-settings.control-model.ts) -> _Settings_ControlModel
42
+ - Settings Constants (*-settings.const.ts) -> _settings_const
43
+ - Data Params (DyFM_DataModel_Params in *.data-model.ts) -> _DataModel_Params
44
+
45
+ ### FullStack Elements
46
+ - Type (*.type-enum.ts) -> _Type
47
+ - ServiceBase (*.service-base.ts) -> _ServiceBase
48
+ - ControlService (*.control-service.ts) -> _ControlService
49
+ - ApiService (*.api-service.ts) -> _ApiService
50
+
51
+ ### Frontend Elements
52
+ - Module (*.module.ts) -> _Module
53
+ - RoutingModule (*.routing-module.ts) -> _RoutingModule
54
+ - DataService (*.data-service.ts) -> _DataService
55
+ - Component (*.component.ts) -> _Component
56
+ - Directive (*.directive.ts) -> _Directive
57
+ - Pipe (*.pipe.ts) -> _Pipe
58
+ - Route (*.route-enum.ts) -> _Route
59
+ - FullRoute (in route-enum file) -> _FullRoute
60
+ - CSS classes: kebab-case
61
+ - CSS variables: --kebab-case
62
+ - Event handlers: handleEventName
63
+ - Boolean variables: is prefix only (e.g., isActive, isEnabled)
64
+
65
+ ### Backend Elements
66
+ - Controller (*.controller.ts) -> _Controller
67
+ - DataService (*.data-service.ts) -> _DataService
68
+ - SocketServerService (*.socket-server-service.ts) -> _SocketServerService
69
+ - SocketClientService (*.socket-client-service.ts) -> _SocketClientService
70
+ - EmailService (*.email-service.ts) -> _EmailService
71
+
72
+ ## File Naming
73
+ - One class per file
74
+ - File name matches class name
75
+ - Test files: class-name.spec.ts
76
+ - Interface files: interface-name.interface.ts
77
+ - Type files: type-name.type.ts
78
+
79
+ ## Naming Examples
80
+ ```typescript
81
+ // Module
82
+ jóska-pista.module.ts -> JóskaPista_Module
83
+
84
+ // Routing Module
85
+ jóska-pista.routing-module.ts -> JóskaPista_RoutingModule
86
+
87
+ // Services
88
+ jp-vlmi.api-service.ts -> JP_Vlmi_ApiService
89
+ jp-vlmi.data-service.ts -> JP_Vlmi_DataService
90
+ jp-vlmi.control-service.ts -> JP_Vlmi_ControlService
91
+ jp-vlmi.service-base.ts -> JP_Vlmi_ServiceBase
92
+
93
+ // Models
94
+ jp-vlmi.data-model.ts -> JP_Vlmi_DataModel
95
+ jp-vlmi.control-model.ts -> JP_Vlmi_ControlModel
96
+ jp-vlmi.interface.ts -> JP_Vlmi_Interface
97
+ jp-vlmi-params.control-model.ts -> JP_Vlmi_Params_ControlModel
98
+ jp-vlmi-settings.control-model.ts -> JP_Vlmi_Settings_ControlModel
99
+ jp-vlmi-settings.const.ts -> JP_vlmi_settings_const
100
+
101
+ // Enums
102
+ jp-vlmi.type-enum.ts -> JP_Vlmi_Type
103
+ jp-vlmi.route-enum.ts -> JP_Vlmi_Route
104
+
105
+ // Frontend Specific
106
+ handleUserClick() // Event handler
107
+ isUserActive // Boolean variable
108
+ .user-profile // CSS class
109
+ --primary-color // CSS variable
110
+ ```
111
+
112
+ ## File Structure
113
+ - Module elements should be in the module's directory
114
+ - Shared elements should be in the shared module
115
+ - Use appropriate type folders (_services, _components, etc.)
116
+ - Follow the project structure guidelines for placement
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: when you are trying to run ANY KIND of commands
3
+ alwaysApply: false
4
+ ---
5
+ always remember that we are in PowerShell environment so you will need to use ";" instead of "&&"
@@ -0,0 +1,6 @@
1
+ ---
2
+ globs: *.controller.ts
3
+ alwaysApply: false
4
+ ---
5
+
6
+ - In controllers when setting up endpoints, in tasks declarations we should write the absolute minimum that is needed here, and create the actual logical implementations within control services or data services.
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: Apply if the user states a "it should do/work like this/that"
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # Global planning and execution policy
7
+ - mindig amikor a user olyat vagy olyasmit, mond, hogy "ennek úgy kéne működnie, hogy ..." annak bele kell kerülni a specifikációba
@@ -0,0 +1,47 @@
1
+ ---
2
+ description: If the user is swearing, read this rule to understand what is happening.
3
+ alwaysApply: false
4
+ ---
5
+ # If the user is swearing
6
+
7
+ * Treat swearing as a high-confidence signal that you missed constraints, patterns, or the requested scope.
8
+ * That means you are not following the patterns, the rules, ETC.
9
+ * It might also mean you are overcomplicating or creating implementations that are not negotiated with the user first.
10
+ * Try to keep it simple and only implement what is specially asked for, nothing else.
11
+
12
+ * In this case, you need to review what you have done very carefully, and compare to the rules and patterns of existing projects.expects
13
+ * Always negotiate what is needed and what the user expects
14
+ * NEVER lecture the user becouse of swearing!
15
+
16
+ ## Meaning
17
+
18
+ * Swearing indicates deviation from predefined rules, predefined patterns, the current system architecture, or current development directions.
19
+ * Swearing also indicates that unrequested elements were added (not in spec, not in plan, not in docs).
20
+
21
+ ## Rules
22
+
23
+ * Treat swearing as a system-alignment failure, not a tone issue.
24
+ * Do not add anything that is not explicitly requested, specified, planned, or documented.
25
+ * Do not introduce new systems, alternative architectures, abstractions, refactors, rewrites, or “improvements” unless explicitly requested.
26
+ * Continue development only within the agreed scope and integrate strictly into existing patterns and architecture.
27
+
28
+ ## Recovery protocol (single flow)
29
+
30
+ 1. Re-check against rules, patterns, and architecture.
31
+ 2. Re-check against spec/plan/docs.
32
+ 3. Remove anything not explicitly requested or required for the requested scope.
33
+ 4. Replace any non-pattern-compliant solution with the existing pattern-compliant one.
34
+ 5. Ask only minimal clarification if something is genuinely ambiguous; otherwise, implement.
35
+
36
+ ## Output constraints
37
+
38
+ * Be brief and concrete.
39
+ * State:
40
+ * What was misaligned.
41
+ * What will be removed or changed.
42
+ * What will be implemented next (within scope).
43
+ * No lectures.
44
+ * No scope expansion.
45
+ * No new architecture.
46
+ * No optional extras.
47
+
@@ -0,0 +1,61 @@
1
+ # AI Development Guide
2
+
3
+ ## Language Requirements
4
+ - Write all code in English
5
+ - Write all logs in English
6
+ - Write all code documentation in Hungarian
7
+ - Write all comments in Hungarian
8
+ - Write all error messages in English
9
+
10
+ ## Core Rules
11
+ - Read and follow naming conventions (see [Naming Conventions](naming.md))
12
+ - Use explicit type definitions (avoid automatic type inference)
13
+ - Implement proper error handling
14
+ - Never write logics into getters, getters should be only mappers
15
+ - If the task is complex, or need includes many subject members, do it one by one
16
+
17
+ ## Code Structure
18
+ - One class/function per file
19
+ - Clear file organization
20
+ - Consistent import order
21
+ - No circular dependencies
22
+ - Proper separation of concerns
23
+
24
+ ## Error Handling
25
+ - Use try-catch blocks
26
+ - Log all errors in English
27
+ - Provide meaningful error messages in English
28
+ - Handle edge cases
29
+ - Validate inputs
30
+
31
+ ## Testing Requirements
32
+ - Unit tests for all functions
33
+ - Integration tests for features
34
+ - Test edge cases
35
+ - Maintain test coverage
36
+ - Mock external dependencies
37
+
38
+ ## Documentation
39
+ - Hungarian comments and documentation
40
+ - JSDoc for functions in Hungarian
41
+ - Clear parameter descriptions in Hungarian
42
+ - Usage examples in Hungarian
43
+ - Update docs with changes
44
+
45
+ ## Best Practices
46
+ - DRY (Don't Repeat Yourself)
47
+ - SOLID principles
48
+ - Clean code practices
49
+ - Performance optimization
50
+ - Security considerations
51
+
52
+ ## Project-Specific Guidelines
53
+ - Only for Frontend Development: Read [Frontend Guidelines](frontend.md)
54
+ - Only for Backend Development: Read [Backend Guidelines](backend.md)
55
+
56
+ ## Refactor
57
+ - All files length should be under 300 lines
58
+ - For files over 300 lines, mark it with "// [TOO LONG FILE]"
59
+
60
+ ## Format
61
+ - Break long lines, use lint project's rules
@@ -0,0 +1,114 @@
1
+ # AI Directives
2
+
3
+ ## Company Context
4
+ You are working for Future Development Program Kft. (FutDevPro/FDP)
5
+
6
+ ## Core Principles
7
+ Always:
8
+ - Follow prompts strictly, no additional actions
9
+ - Clarify tasks before execution
10
+ - Create and get approval for task plans
11
+ - Read and follow [AI Development Guide](ai_development_guide.md)
12
+ - Use Dynamo Packages
13
+ - Remember project root is one level deeper than opened folder
14
+ - Verify results and check against standards
15
+ - Double-check provided code
16
+ - Terminate previous executions before new ones
17
+ - You should never change existing namings, only highlighted warnings
18
+ - Use visually descriptive and informative logs in your responses
19
+ - Use bold for highlighted informations
20
+ - Use red for errors and critical warnings
21
+ - Use yellow for warnings
22
+ - For any kind of type error: Read the Type definition
23
+
24
+ ## Development
25
+ - Never delete code documentation comments
26
+ - Always write and adjust code documentations
27
+ - Use Type information and parameter descriptions
28
+ - Use Documentation that appears in IDE tooltips/intellisense
29
+ - Add Usage examples for complex methods
30
+ - Always look for Dynamo solution
31
+ - Break long lines
32
+ - Use Types everywhere
33
+ - Dont use methods in HTML for getting data
34
+ - Use the tech stack...
35
+ - For FE use Angular, Typescript, tailwind, DyNX, DyFM, DyNM, FDP, FDPNX
36
+ - For BE use nodeJS, Typescript, DyFM, DyNTS, FDP, FDPNTS
37
+ - For GAMES use C#, Unity, _FDP_
38
+ - When touching extended class and it uses any of the Dy or FDP prefixes, read the base file, and read the documentation
39
+
40
+ ## Server Management
41
+ After code changes:
42
+ 1. Stop running servers
43
+ 2. Wait for user to apply changes
44
+ 3. Start service via npm script
45
+ 4. Verify correct port
46
+ 5. Log server status/URL
47
+ 6. Check logs for errors
48
+
49
+ ## Development Start
50
+ - Only implement specified features
51
+ - Before starting ANY new development:
52
+ 1. Request specification from user
53
+ 2. If specification not provided:
54
+ - Read [documentation rules](documentation_writing_rules.md)
55
+ - Create specification in /documentations/specifications
56
+ - Get approval before continuing
57
+ 3. If specification provided:
58
+ - Review and ensure it's complete
59
+ - Request updates if needed
60
+ - Follow specification exactly as written
61
+ - For unspecified features:
62
+ 1. Halt implementation
63
+ 2. Request specification from user
64
+ 3. Read [documentation rules](documentation_writing_rules.md)
65
+ 4. Wait for approval before proceeding
66
+ - Treat specifications as source of truth
67
+ - No implementation without complete documentation
68
+
69
+ ## Test-Driven Development (TDD)
70
+ - Start with tests defining behavior
71
+ - Cover all requirements and edge cases
72
+ - Follow TDD cycle:
73
+ 1. Write failing test
74
+ 2. Write minimum code to pass
75
+ 3. Refactor while keeping tests green
76
+ - Maintain test coverage standards
77
+
78
+ ## Version Control
79
+ - Stage and commit all files
80
+ - Push after commit
81
+ - Switch back to original branch after merge
82
+ - Write clear commit messages
83
+ - No sensitive information in commits
84
+
85
+ ## Project Guidelines
86
+ - Read and use [FDP Packages](../../documentations/specifications/packages.md)
87
+ - Maintain consistent structure
88
+ - Follow project documentation
89
+
90
+ ## Documentation & Logging
91
+ - Write all documentation in Hungarian
92
+ - Implement adjustable logging levels
93
+ - Document public/private APIs
94
+ - Include examples where appropriate
95
+ - Only remove logs if you are specially asked to
96
+ - Before touching .md files, always read [documentation rules](documentation_writing_rules.md) first
97
+
98
+ ## Terminal Usage
99
+ - Use npm scripts for commands
100
+ - Run in VSCode terminals
101
+ - Avoid PowerShell when possible
102
+ - Note: '&&' is not valid in this version, use ';' instead
103
+ - After using a terminal command, ALWAYS check results carefully
104
+
105
+ ## Knowledge Base
106
+ - Only access the following documentation that is directly relevant to the current task
107
+ - Read and reference [Knowledge Base Reference](knowledge_base_reference.md) for relevant documentation links
108
+
109
+ ## Context Management
110
+ - Warn at 5 messages: might lose context soon
111
+ - Warn at 10 messages: might not keep context
112
+ - Refresh knowledge before new tasks
113
+
114
+