faf-cli 5.1.0 → 6.0.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 (731) hide show
  1. package/README.md +80 -52
  2. package/dist/cli.js +313 -1884
  3. package/dist/index.js +4 -46
  4. package/package.json +29 -104
  5. package/project.faf +33 -141
  6. package/assets/project-faf-screenshot.png +0 -0
  7. package/dist/big-orange/bigo-push.d.ts +0 -18
  8. package/dist/big-orange/bigo-push.d.ts.map +0 -1
  9. package/dist/big-orange/bigo-push.js +0 -88
  10. package/dist/big-orange/bigo-push.js.map +0 -1
  11. package/dist/big-orange/compare.d.ts +0 -11
  12. package/dist/big-orange/compare.d.ts.map +0 -1
  13. package/dist/big-orange/compare.js +0 -179
  14. package/dist/big-orange/compare.js.map +0 -1
  15. package/dist/big-orange/faf-generator.d.ts +0 -22
  16. package/dist/big-orange/faf-generator.d.ts.map +0 -1
  17. package/dist/big-orange/faf-generator.js +0 -215
  18. package/dist/big-orange/faf-generator.js.map +0 -1
  19. package/dist/big-orange/index.d.ts +0 -7
  20. package/dist/big-orange/index.d.ts.map +0 -1
  21. package/dist/big-orange/index.js +0 -96
  22. package/dist/big-orange/index.js.map +0 -1
  23. package/dist/big-orange/types.d.ts +0 -62
  24. package/dist/big-orange/types.d.ts.map +0 -1
  25. package/dist/big-orange/types.js +0 -7
  26. package/dist/big-orange/types.js.map +0 -1
  27. package/dist/cli.d.ts +0 -8
  28. package/dist/cli.d.ts.map +0 -1
  29. package/dist/cli.js.map +0 -1
  30. package/dist/commands/agents.d.ts +0 -14
  31. package/dist/commands/agents.d.ts.map +0 -1
  32. package/dist/commands/agents.js +0 -353
  33. package/dist/commands/agents.js.map +0 -1
  34. package/dist/commands/ai-analyze.d.ts +0 -18
  35. package/dist/commands/ai-analyze.d.ts.map +0 -1
  36. package/dist/commands/ai-analyze.js +0 -190
  37. package/dist/commands/ai-analyze.js.map +0 -1
  38. package/dist/commands/ai-enhance.d.ts +0 -17
  39. package/dist/commands/ai-enhance.d.ts.map +0 -1
  40. package/dist/commands/ai-enhance.js +0 -275
  41. package/dist/commands/ai-enhance.js.map +0 -1
  42. package/dist/commands/antigravity.d.ts +0 -16
  43. package/dist/commands/antigravity.d.ts.map +0 -1
  44. package/dist/commands/antigravity.js +0 -398
  45. package/dist/commands/antigravity.js.map +0 -1
  46. package/dist/commands/audit.d.ts +0 -11
  47. package/dist/commands/audit.d.ts.map +0 -1
  48. package/dist/commands/audit.js +0 -148
  49. package/dist/commands/audit.js.map +0 -1
  50. package/dist/commands/auto.d.ts +0 -27
  51. package/dist/commands/auto.d.ts.map +0 -1
  52. package/dist/commands/auto.js +0 -498
  53. package/dist/commands/auto.js.map +0 -1
  54. package/dist/commands/bi-sync.d.ts +0 -50
  55. package/dist/commands/bi-sync.d.ts.map +0 -1
  56. package/dist/commands/bi-sync.js +0 -307
  57. package/dist/commands/bi-sync.js.map +0 -1
  58. package/dist/commands/chat.d.ts +0 -7
  59. package/dist/commands/chat.d.ts.map +0 -1
  60. package/dist/commands/chat.js +0 -415
  61. package/dist/commands/chat.js.map +0 -1
  62. package/dist/commands/check.d.ts +0 -31
  63. package/dist/commands/check.d.ts.map +0 -1
  64. package/dist/commands/check.js +0 -301
  65. package/dist/commands/check.js.map +0 -1
  66. package/dist/commands/clear.d.ts +0 -15
  67. package/dist/commands/clear.d.ts.map +0 -1
  68. package/dist/commands/clear.js +0 -167
  69. package/dist/commands/clear.js.map +0 -1
  70. package/dist/commands/compile.d.ts +0 -12
  71. package/dist/commands/compile.d.ts.map +0 -1
  72. package/dist/commands/compile.js +0 -51
  73. package/dist/commands/compile.js.map +0 -1
  74. package/dist/commands/conductor.d.ts +0 -15
  75. package/dist/commands/conductor.d.ts.map +0 -1
  76. package/dist/commands/conductor.js +0 -339
  77. package/dist/commands/conductor.js.map +0 -1
  78. package/dist/commands/convert.d.ts +0 -19
  79. package/dist/commands/convert.d.ts.map +0 -1
  80. package/dist/commands/convert.js +0 -99
  81. package/dist/commands/convert.js.map +0 -1
  82. package/dist/commands/credit.d.ts +0 -13
  83. package/dist/commands/credit.d.ts.map +0 -1
  84. package/dist/commands/credit.js +0 -149
  85. package/dist/commands/credit.js.map +0 -1
  86. package/dist/commands/cursor.d.ts +0 -13
  87. package/dist/commands/cursor.d.ts.map +0 -1
  88. package/dist/commands/cursor.js +0 -310
  89. package/dist/commands/cursor.js.map +0 -1
  90. package/dist/commands/decompile.d.ts +0 -9
  91. package/dist/commands/decompile.d.ts.map +0 -1
  92. package/dist/commands/decompile.js +0 -21
  93. package/dist/commands/decompile.js.map +0 -1
  94. package/dist/commands/demo.d.ts +0 -20
  95. package/dist/commands/demo.d.ts.map +0 -1
  96. package/dist/commands/demo.js +0 -205
  97. package/dist/commands/demo.js.map +0 -1
  98. package/dist/commands/doctor.d.ts +0 -6
  99. package/dist/commands/doctor.d.ts.map +0 -1
  100. package/dist/commands/doctor.js +0 -230
  101. package/dist/commands/doctor.js.map +0 -1
  102. package/dist/commands/drift.d.ts +0 -16
  103. package/dist/commands/drift.d.ts.map +0 -1
  104. package/dist/commands/drift.js +0 -524
  105. package/dist/commands/drift.js.map +0 -1
  106. package/dist/commands/edit-helper.d.ts +0 -6
  107. package/dist/commands/edit-helper.d.ts.map +0 -1
  108. package/dist/commands/edit-helper.js +0 -52
  109. package/dist/commands/edit-helper.js.map +0 -1
  110. package/dist/commands/edit.d.ts +0 -14
  111. package/dist/commands/edit.d.ts.map +0 -1
  112. package/dist/commands/edit.js +0 -196
  113. package/dist/commands/edit.js.map +0 -1
  114. package/dist/commands/enhance-real.d.ts +0 -18
  115. package/dist/commands/enhance-real.d.ts.map +0 -1
  116. package/dist/commands/enhance-real.js +0 -1164
  117. package/dist/commands/enhance-real.js.map +0 -1
  118. package/dist/commands/faf-auth.d.ts +0 -10
  119. package/dist/commands/faf-auth.d.ts.map +0 -1
  120. package/dist/commands/faf-auth.js +0 -162
  121. package/dist/commands/faf-auth.js.map +0 -1
  122. package/dist/commands/faf-dna.d.ts +0 -9
  123. package/dist/commands/faf-dna.d.ts.map +0 -1
  124. package/dist/commands/faf-dna.js +0 -141
  125. package/dist/commands/faf-dna.js.map +0 -1
  126. package/dist/commands/faf-log.d.ts +0 -9
  127. package/dist/commands/faf-log.d.ts.map +0 -1
  128. package/dist/commands/faf-log.js +0 -135
  129. package/dist/commands/faf-log.js.map +0 -1
  130. package/dist/commands/faf-recover.d.ts +0 -3
  131. package/dist/commands/faf-recover.d.ts.map +0 -1
  132. package/dist/commands/faf-recover.js +0 -296
  133. package/dist/commands/faf-recover.js.map +0 -1
  134. package/dist/commands/faf-update.d.ts +0 -9
  135. package/dist/commands/faf-update.d.ts.map +0 -1
  136. package/dist/commands/faf-update.js +0 -68
  137. package/dist/commands/faf-update.js.map +0 -1
  138. package/dist/commands/fam.d.ts +0 -15
  139. package/dist/commands/fam.d.ts.map +0 -1
  140. package/dist/commands/fam.js +0 -339
  141. package/dist/commands/fam.js.map +0 -1
  142. package/dist/commands/faq.d.ts +0 -12
  143. package/dist/commands/faq.d.ts.map +0 -1
  144. package/dist/commands/faq.js +0 -84
  145. package/dist/commands/faq.js.map +0 -1
  146. package/dist/commands/formats.d.ts +0 -12
  147. package/dist/commands/formats.d.ts.map +0 -1
  148. package/dist/commands/formats.js +0 -107
  149. package/dist/commands/formats.js.map +0 -1
  150. package/dist/commands/gemini.d.ts +0 -15
  151. package/dist/commands/gemini.d.ts.map +0 -1
  152. package/dist/commands/gemini.js +0 -357
  153. package/dist/commands/gemini.js.map +0 -1
  154. package/dist/commands/git.d.ts +0 -25
  155. package/dist/commands/git.d.ts.map +0 -1
  156. package/dist/commands/git.js +0 -365
  157. package/dist/commands/git.js.map +0 -1
  158. package/dist/commands/go.d.ts +0 -23
  159. package/dist/commands/go.d.ts.map +0 -1
  160. package/dist/commands/go.js +0 -283
  161. package/dist/commands/go.js.map +0 -1
  162. package/dist/commands/human.d.ts +0 -19
  163. package/dist/commands/human.d.ts.map +0 -1
  164. package/dist/commands/human.js +0 -204
  165. package/dist/commands/human.js.map +0 -1
  166. package/dist/commands/index.d.ts +0 -26
  167. package/dist/commands/index.d.ts.map +0 -1
  168. package/dist/commands/index.js +0 -438
  169. package/dist/commands/index.js.map +0 -1
  170. package/dist/commands/init.d.ts +0 -19
  171. package/dist/commands/init.d.ts.map +0 -1
  172. package/dist/commands/init.js +0 -409
  173. package/dist/commands/init.js.map +0 -1
  174. package/dist/commands/lint.d.ts +0 -11
  175. package/dist/commands/lint.d.ts.map +0 -1
  176. package/dist/commands/lint.js +0 -233
  177. package/dist/commands/lint.js.map +0 -1
  178. package/dist/commands/memory.d.ts +0 -14
  179. package/dist/commands/memory.d.ts.map +0 -1
  180. package/dist/commands/memory.js +0 -293
  181. package/dist/commands/memory.js.map +0 -1
  182. package/dist/commands/migrate.d.ts +0 -11
  183. package/dist/commands/migrate.d.ts.map +0 -1
  184. package/dist/commands/migrate.js +0 -85
  185. package/dist/commands/migrate.js.map +0 -1
  186. package/dist/commands/notifications.d.ts +0 -12
  187. package/dist/commands/notifications.d.ts.map +0 -1
  188. package/dist/commands/notifications.js +0 -35
  189. package/dist/commands/notifications.js.map +0 -1
  190. package/dist/commands/plugin-install.d.ts +0 -20
  191. package/dist/commands/plugin-install.d.ts.map +0 -1
  192. package/dist/commands/plugin-install.js +0 -183
  193. package/dist/commands/plugin-install.js.map +0 -1
  194. package/dist/commands/pro.d.ts +0 -10
  195. package/dist/commands/pro.d.ts.map +0 -1
  196. package/dist/commands/pro.js +0 -113
  197. package/dist/commands/pro.js.map +0 -1
  198. package/dist/commands/quick.d.ts +0 -10
  199. package/dist/commands/quick.d.ts.map +0 -1
  200. package/dist/commands/quick.js +0 -207
  201. package/dist/commands/quick.js.map +0 -1
  202. package/dist/commands/ram.d.ts +0 -17
  203. package/dist/commands/ram.d.ts.map +0 -1
  204. package/dist/commands/ram.js +0 -322
  205. package/dist/commands/ram.js.map +0 -1
  206. package/dist/commands/readme.d.ts +0 -21
  207. package/dist/commands/readme.d.ts.map +0 -1
  208. package/dist/commands/readme.js +0 -519
  209. package/dist/commands/readme.js.map +0 -1
  210. package/dist/commands/rename.d.ts +0 -18
  211. package/dist/commands/rename.d.ts.map +0 -1
  212. package/dist/commands/rename.js +0 -212
  213. package/dist/commands/rename.js.map +0 -1
  214. package/dist/commands/score-v3.d.ts +0 -15
  215. package/dist/commands/score-v3.d.ts.map +0 -1
  216. package/dist/commands/score-v3.js +0 -224
  217. package/dist/commands/score-v3.js.map +0 -1
  218. package/dist/commands/score.d.ts +0 -16
  219. package/dist/commands/score.d.ts.map +0 -1
  220. package/dist/commands/score.js +0 -19
  221. package/dist/commands/score.js.map +0 -1
  222. package/dist/commands/search.d.ts +0 -16
  223. package/dist/commands/search.d.ts.map +0 -1
  224. package/dist/commands/search.js +0 -174
  225. package/dist/commands/search.js.map +0 -1
  226. package/dist/commands/share.d.ts +0 -17
  227. package/dist/commands/share.d.ts.map +0 -1
  228. package/dist/commands/share.js +0 -261
  229. package/dist/commands/share.js.map +0 -1
  230. package/dist/commands/show.d.ts +0 -10
  231. package/dist/commands/show.d.ts.map +0 -1
  232. package/dist/commands/show.js +0 -142
  233. package/dist/commands/show.js.map +0 -1
  234. package/dist/commands/sixws.d.ts +0 -6
  235. package/dist/commands/sixws.d.ts.map +0 -1
  236. package/dist/commands/sixws.js +0 -154
  237. package/dist/commands/sixws.js.map +0 -1
  238. package/dist/commands/skills.d.ts +0 -8
  239. package/dist/commands/skills.d.ts.map +0 -1
  240. package/dist/commands/skills.js +0 -43
  241. package/dist/commands/skills.js.map +0 -1
  242. package/dist/commands/stacks.d.ts +0 -51
  243. package/dist/commands/stacks.d.ts.map +0 -1
  244. package/dist/commands/stacks.js +0 -180
  245. package/dist/commands/stacks.js.map +0 -1
  246. package/dist/commands/status.d.ts +0 -14
  247. package/dist/commands/status.d.ts.map +0 -1
  248. package/dist/commands/status.js +0 -210
  249. package/dist/commands/status.js.map +0 -1
  250. package/dist/commands/sync.d.ts +0 -11
  251. package/dist/commands/sync.d.ts.map +0 -1
  252. package/dist/commands/sync.js +0 -543
  253. package/dist/commands/sync.js.map +0 -1
  254. package/dist/commands/taf-init.d.ts +0 -14
  255. package/dist/commands/taf-init.d.ts.map +0 -1
  256. package/dist/commands/taf-init.js +0 -138
  257. package/dist/commands/taf-init.js.map +0 -1
  258. package/dist/commands/taf-log.d.ts +0 -31
  259. package/dist/commands/taf-log.d.ts.map +0 -1
  260. package/dist/commands/taf-log.js +0 -351
  261. package/dist/commands/taf-log.js.map +0 -1
  262. package/dist/commands/taf-stars.d.ts +0 -8
  263. package/dist/commands/taf-stars.d.ts.map +0 -1
  264. package/dist/commands/taf-stars.js +0 -105
  265. package/dist/commands/taf-stars.js.map +0 -1
  266. package/dist/commands/taf-stats.d.ts +0 -8
  267. package/dist/commands/taf-stats.d.ts.map +0 -1
  268. package/dist/commands/taf-stats.js +0 -133
  269. package/dist/commands/taf-stats.js.map +0 -1
  270. package/dist/commands/taf-validate.d.ts +0 -8
  271. package/dist/commands/taf-validate.d.ts.map +0 -1
  272. package/dist/commands/taf-validate.js +0 -108
  273. package/dist/commands/taf-validate.js.map +0 -1
  274. package/dist/commands/taf.d.ts +0 -14
  275. package/dist/commands/taf.d.ts.map +0 -1
  276. package/dist/commands/taf.js +0 -106
  277. package/dist/commands/taf.js.map +0 -1
  278. package/dist/commands/todo.d.ts +0 -14
  279. package/dist/commands/todo.d.ts.map +0 -1
  280. package/dist/commands/todo.js +0 -282
  281. package/dist/commands/todo.js.map +0 -1
  282. package/dist/commands/trust.d.ts +0 -33
  283. package/dist/commands/trust.d.ts.map +0 -1
  284. package/dist/commands/trust.js +0 -308
  285. package/dist/commands/trust.js.map +0 -1
  286. package/dist/commands/tsa.d.ts +0 -9
  287. package/dist/commands/tsa.d.ts.map +0 -1
  288. package/dist/commands/tsa.js +0 -60
  289. package/dist/commands/tsa.js.map +0 -1
  290. package/dist/commands/validate.d.ts +0 -11
  291. package/dist/commands/validate.d.ts.map +0 -1
  292. package/dist/commands/validate.js +0 -64
  293. package/dist/commands/validate.js.map +0 -1
  294. package/dist/commands/verify.d.ts +0 -36
  295. package/dist/commands/verify.d.ts.map +0 -1
  296. package/dist/commands/verify.js +0 -194
  297. package/dist/commands/verify.js.map +0 -1
  298. package/dist/commands/version.d.ts +0 -5
  299. package/dist/commands/version.d.ts.map +0 -1
  300. package/dist/commands/version.js +0 -29
  301. package/dist/commands/version.js.map +0 -1
  302. package/dist/commands/vibe.d.ts +0 -7
  303. package/dist/commands/vibe.d.ts.map +0 -1
  304. package/dist/commands/vibe.js +0 -73
  305. package/dist/commands/vibe.js.map +0 -1
  306. package/dist/commands/welcome.d.ts +0 -10
  307. package/dist/commands/welcome.d.ts.map +0 -1
  308. package/dist/commands/welcome.js +0 -117
  309. package/dist/commands/welcome.js.map +0 -1
  310. package/dist/commands/yolo.d.ts +0 -12
  311. package/dist/commands/yolo.d.ts.map +0 -1
  312. package/dist/commands/yolo.js +0 -212
  313. package/dist/commands/yolo.js.map +0 -1
  314. package/dist/compiler/faf-compiler.d.ts +0 -176
  315. package/dist/compiler/faf-compiler.d.ts.map +0 -1
  316. package/dist/compiler/faf-compiler.js +0 -1587
  317. package/dist/compiler/faf-compiler.js.map +0 -1
  318. package/dist/converters/faf-converters.d.ts +0 -43
  319. package/dist/converters/faf-converters.d.ts.map +0 -1
  320. package/dist/converters/faf-converters.js +0 -197
  321. package/dist/converters/faf-converters.js.map +0 -1
  322. package/dist/core-extraction-fixes.d.ts +0 -92
  323. package/dist/core-extraction-fixes.d.ts.map +0 -1
  324. package/dist/core-extraction-fixes.js +0 -265
  325. package/dist/core-extraction-fixes.js.map +0 -1
  326. package/dist/engines/art-ansi-renderer.d.ts +0 -335
  327. package/dist/engines/art-ansi-renderer.d.ts.map +0 -1
  328. package/dist/engines/art-ansi-renderer.js +0 -290
  329. package/dist/engines/art-ansi-renderer.js.map +0 -1
  330. package/dist/engines/c-mirror/broadcast/terminal-display.d.ts +0 -23
  331. package/dist/engines/c-mirror/broadcast/terminal-display.d.ts.map +0 -1
  332. package/dist/engines/c-mirror/broadcast/terminal-display.js +0 -194
  333. package/dist/engines/c-mirror/broadcast/terminal-display.js.map +0 -1
  334. package/dist/engines/c-mirror/core/claude-to-faf.d.ts +0 -28
  335. package/dist/engines/c-mirror/core/claude-to-faf.d.ts.map +0 -1
  336. package/dist/engines/c-mirror/core/claude-to-faf.js +0 -195
  337. package/dist/engines/c-mirror/core/claude-to-faf.js.map +0 -1
  338. package/dist/engines/c-mirror/core/events/event-emitter.d.ts +0 -36
  339. package/dist/engines/c-mirror/core/events/event-emitter.d.ts.map +0 -1
  340. package/dist/engines/c-mirror/core/events/event-emitter.js +0 -77
  341. package/dist/engines/c-mirror/core/events/event-emitter.js.map +0 -1
  342. package/dist/engines/c-mirror/core/events/mirror-events.d.ts +0 -103
  343. package/dist/engines/c-mirror/core/events/mirror-events.d.ts.map +0 -1
  344. package/dist/engines/c-mirror/core/events/mirror-events.js +0 -65
  345. package/dist/engines/c-mirror/core/events/mirror-events.js.map +0 -1
  346. package/dist/engines/c-mirror/core/faf-to-claude.d.ts +0 -18
  347. package/dist/engines/c-mirror/core/faf-to-claude.d.ts.map +0 -1
  348. package/dist/engines/c-mirror/core/faf-to-claude.js +0 -162
  349. package/dist/engines/c-mirror/core/faf-to-claude.js.map +0 -1
  350. package/dist/engines/c-mirror/core/interfaces.d.ts +0 -153
  351. package/dist/engines/c-mirror/core/interfaces.d.ts.map +0 -1
  352. package/dist/engines/c-mirror/core/interfaces.js +0 -8
  353. package/dist/engines/c-mirror/core/interfaces.js.map +0 -1
  354. package/dist/engines/c-mirror/core/mirror-engine.d.ts +0 -49
  355. package/dist/engines/c-mirror/core/mirror-engine.d.ts.map +0 -1
  356. package/dist/engines/c-mirror/core/mirror-engine.js +0 -315
  357. package/dist/engines/c-mirror/core/mirror-engine.js.map +0 -1
  358. package/dist/engines/c-mirror/faf-extensions/faf-mirror.d.ts +0 -33
  359. package/dist/engines/c-mirror/faf-extensions/faf-mirror.d.ts.map +0 -1
  360. package/dist/engines/c-mirror/faf-extensions/faf-mirror.js +0 -115
  361. package/dist/engines/c-mirror/faf-extensions/faf-mirror.js.map +0 -1
  362. package/dist/engines/c-mirror/strategies/atomic-write.d.ts +0 -34
  363. package/dist/engines/c-mirror/strategies/atomic-write.d.ts.map +0 -1
  364. package/dist/engines/c-mirror/strategies/atomic-write.js +0 -132
  365. package/dist/engines/c-mirror/strategies/atomic-write.js.map +0 -1
  366. package/dist/engines/claude-todo-engine.d.ts +0 -115
  367. package/dist/engines/claude-todo-engine.d.ts.map +0 -1
  368. package/dist/engines/claude-todo-engine.js +0 -346
  369. package/dist/engines/claude-todo-engine.js.map +0 -1
  370. package/dist/engines/dependency-tsa.d.ts +0 -89
  371. package/dist/engines/dependency-tsa.d.ts.map +0 -1
  372. package/dist/engines/dependency-tsa.js +0 -365
  373. package/dist/engines/dependency-tsa.js.map +0 -1
  374. package/dist/engines/drop-coach.d.ts +0 -64
  375. package/dist/engines/drop-coach.d.ts.map +0 -1
  376. package/dist/engines/drop-coach.js +0 -222
  377. package/dist/engines/drop-coach.js.map +0 -1
  378. package/dist/engines/execution-context.d.ts +0 -75
  379. package/dist/engines/execution-context.d.ts.map +0 -1
  380. package/dist/engines/execution-context.js +0 -308
  381. package/dist/engines/execution-context.js.map +0 -1
  382. package/dist/engines/fab-formats-processor.d.ts +0 -179
  383. package/dist/engines/fab-formats-processor.d.ts.map +0 -1
  384. package/dist/engines/fab-formats-processor.js +0 -1524
  385. package/dist/engines/fab-formats-processor.js.map +0 -1
  386. package/dist/engines/faf-dna.d.ts +0 -160
  387. package/dist/engines/faf-dna.d.ts.map +0 -1
  388. package/dist/engines/faf-dna.js +0 -547
  389. package/dist/engines/faf-dna.js.map +0 -1
  390. package/dist/engines/relentless-context-extractor.d.ts +0 -105
  391. package/dist/engines/relentless-context-extractor.d.ts.map +0 -1
  392. package/dist/engines/relentless-context-extractor.js +0 -698
  393. package/dist/engines/relentless-context-extractor.js.map +0 -1
  394. package/dist/engines/v252-hybrid-engine.d.ts +0 -60
  395. package/dist/engines/v252-hybrid-engine.d.ts.map +0 -1
  396. package/dist/engines/v252-hybrid-engine.js +0 -290
  397. package/dist/engines/v252-hybrid-engine.js.map +0 -1
  398. package/dist/family/detectors/n8n.d.ts +0 -10
  399. package/dist/family/detectors/n8n.d.ts.map +0 -1
  400. package/dist/family/detectors/n8n.js +0 -102
  401. package/dist/family/detectors/n8n.js.map +0 -1
  402. package/dist/family/detectors/next.d.ts +0 -8
  403. package/dist/family/detectors/next.d.ts.map +0 -1
  404. package/dist/family/detectors/next.js +0 -106
  405. package/dist/family/detectors/next.js.map +0 -1
  406. package/dist/family/detectors/react.d.ts +0 -8
  407. package/dist/family/detectors/react.d.ts.map +0 -1
  408. package/dist/family/detectors/react.js +0 -85
  409. package/dist/family/detectors/react.js.map +0 -1
  410. package/dist/family/detectors/svelte.d.ts +0 -8
  411. package/dist/family/detectors/svelte.d.ts.map +0 -1
  412. package/dist/family/detectors/svelte.js +0 -102
  413. package/dist/family/detectors/svelte.js.map +0 -1
  414. package/dist/family/detectors/typescript.d.ts +0 -8
  415. package/dist/family/detectors/typescript.d.ts.map +0 -1
  416. package/dist/family/detectors/typescript.js +0 -112
  417. package/dist/family/detectors/typescript.js.map +0 -1
  418. package/dist/family/detectors/vite.d.ts +0 -8
  419. package/dist/family/detectors/vite.d.ts.map +0 -1
  420. package/dist/family/detectors/vite.js +0 -97
  421. package/dist/family/detectors/vite.js.map +0 -1
  422. package/dist/family/index.d.ts +0 -21
  423. package/dist/family/index.d.ts.map +0 -1
  424. package/dist/family/index.js +0 -73
  425. package/dist/family/index.js.map +0 -1
  426. package/dist/family/registry.d.ts +0 -57
  427. package/dist/family/registry.d.ts.map +0 -1
  428. package/dist/family/registry.js +0 -156
  429. package/dist/family/registry.js.map +0 -1
  430. package/dist/family/types.d.ts +0 -102
  431. package/dist/family/types.d.ts.map +0 -1
  432. package/dist/family/types.js +0 -8
  433. package/dist/family/types.js.map +0 -1
  434. package/dist/fix-once/colors.d.ts +0 -105
  435. package/dist/fix-once/colors.d.ts.map +0 -1
  436. package/dist/fix-once/colors.js +0 -248
  437. package/dist/fix-once/colors.js.map +0 -1
  438. package/dist/fix-once/commander.d.ts +0 -18
  439. package/dist/fix-once/commander.d.ts.map +0 -1
  440. package/dist/fix-once/commander.js +0 -25
  441. package/dist/fix-once/commander.js.map +0 -1
  442. package/dist/fix-once/types.d.ts +0 -258
  443. package/dist/fix-once/types.d.ts.map +0 -1
  444. package/dist/fix-once/types.js +0 -26
  445. package/dist/fix-once/types.js.map +0 -1
  446. package/dist/fix-once/yaml.d.ts +0 -58
  447. package/dist/fix-once/yaml.d.ts.map +0 -1
  448. package/dist/fix-once/yaml.js +0 -172
  449. package/dist/fix-once/yaml.js.map +0 -1
  450. package/dist/framework-detector.d.ts +0 -307
  451. package/dist/framework-detector.d.ts.map +0 -1
  452. package/dist/framework-detector.js +0 -951
  453. package/dist/framework-detector.js.map +0 -1
  454. package/dist/generators/faf-generator-championship.d.ts +0 -17
  455. package/dist/generators/faf-generator-championship.d.ts.map +0 -1
  456. package/dist/generators/faf-generator-championship.js +0 -612
  457. package/dist/generators/faf-generator-championship.js.map +0 -1
  458. package/dist/github/current-score-calculator.d.ts +0 -15
  459. package/dist/github/current-score-calculator.d.ts.map +0 -1
  460. package/dist/github/current-score-calculator.js +0 -125
  461. package/dist/github/current-score-calculator.js.map +0 -1
  462. package/dist/github/faf-git-generator.d.ts +0 -52
  463. package/dist/github/faf-git-generator.d.ts.map +0 -1
  464. package/dist/github/faf-git-generator.js +0 -527
  465. package/dist/github/faf-git-generator.js.map +0 -1
  466. package/dist/github/github-extractor.d.ts +0 -60
  467. package/dist/github/github-extractor.d.ts.map +0 -1
  468. package/dist/github/github-extractor.js +0 -381
  469. package/dist/github/github-extractor.js.map +0 -1
  470. package/dist/github/popular-repos.d.ts +0 -43
  471. package/dist/github/popular-repos.d.ts.map +0 -1
  472. package/dist/github/popular-repos.js +0 -205
  473. package/dist/github/popular-repos.js.map +0 -1
  474. package/dist/github/repo-selector.d.ts +0 -48
  475. package/dist/github/repo-selector.d.ts.map +0 -1
  476. package/dist/github/repo-selector.js +0 -297
  477. package/dist/github/repo-selector.js.map +0 -1
  478. package/dist/index.d.ts +0 -20
  479. package/dist/index.d.ts.map +0 -1
  480. package/dist/index.js.map +0 -1
  481. package/dist/licensing/license-messages.d.ts +0 -20
  482. package/dist/licensing/license-messages.d.ts.map +0 -1
  483. package/dist/licensing/license-messages.js +0 -77
  484. package/dist/licensing/license-messages.js.map +0 -1
  485. package/dist/licensing/pro-gate.d.ts +0 -54
  486. package/dist/licensing/pro-gate.d.ts.map +0 -1
  487. package/dist/licensing/pro-gate.js +0 -243
  488. package/dist/licensing/pro-gate.js.map +0 -1
  489. package/dist/output/experience-manager.d.ts +0 -58
  490. package/dist/output/experience-manager.d.ts.map +0 -1
  491. package/dist/output/experience-manager.js +0 -215
  492. package/dist/output/experience-manager.js.map +0 -1
  493. package/dist/schema/faf-schema.d.ts +0 -97
  494. package/dist/schema/faf-schema.d.ts.map +0 -1
  495. package/dist/schema/faf-schema.js +0 -173
  496. package/dist/schema/faf-schema.js.map +0 -1
  497. package/dist/smart-faf.d.ts +0 -68
  498. package/dist/smart-faf.d.ts.map +0 -1
  499. package/dist/smart-faf.js +0 -400
  500. package/dist/smart-faf.js.map +0 -1
  501. package/dist/systems/question-system.d.ts +0 -122
  502. package/dist/systems/question-system.d.ts.map +0 -1
  503. package/dist/systems/question-system.js +0 -413
  504. package/dist/systems/question-system.js.map +0 -1
  505. package/dist/taf/index.d.ts +0 -21
  506. package/dist/taf/index.d.ts.map +0 -1
  507. package/dist/taf/index.js +0 -72
  508. package/dist/taf/index.js.map +0 -1
  509. package/dist/taf/logger.d.ts +0 -88
  510. package/dist/taf/logger.d.ts.map +0 -1
  511. package/dist/taf/logger.js +0 -137
  512. package/dist/taf/logger.js.map +0 -1
  513. package/dist/taf/parser.d.ts +0 -32
  514. package/dist/taf/parser.d.ts.map +0 -1
  515. package/dist/taf/parser.js +0 -161
  516. package/dist/taf/parser.js.map +0 -1
  517. package/dist/taf/star-badge.d.ts +0 -32
  518. package/dist/taf/star-badge.d.ts.map +0 -1
  519. package/dist/taf/star-badge.js +0 -158
  520. package/dist/taf/star-badge.js.map +0 -1
  521. package/dist/taf/star-rating.d.ts +0 -30
  522. package/dist/taf/star-rating.d.ts.map +0 -1
  523. package/dist/taf/star-rating.js +0 -79
  524. package/dist/taf/star-rating.js.map +0 -1
  525. package/dist/taf/stats.d.ts +0 -31
  526. package/dist/taf/stats.d.ts.map +0 -1
  527. package/dist/taf/stats.js +0 -190
  528. package/dist/taf/stats.js.map +0 -1
  529. package/dist/taf/test-output-parser.d.ts +0 -42
  530. package/dist/taf/test-output-parser.d.ts.map +0 -1
  531. package/dist/taf/test-output-parser.js +0 -127
  532. package/dist/taf/test-output-parser.js.map +0 -1
  533. package/dist/taf/types.d.ts +0 -77
  534. package/dist/taf/types.d.ts.map +0 -1
  535. package/dist/taf/types.js +0 -9
  536. package/dist/taf/types.js.map +0 -1
  537. package/dist/taf/validator.d.ts +0 -18
  538. package/dist/taf/validator.d.ts.map +0 -1
  539. package/dist/taf/validator.js +0 -148
  540. package/dist/taf/validator.js.map +0 -1
  541. package/dist/telemetry/analytics.d.ts +0 -74
  542. package/dist/telemetry/analytics.d.ts.map +0 -1
  543. package/dist/telemetry/analytics.js +0 -370
  544. package/dist/telemetry/analytics.js.map +0 -1
  545. package/dist/tests/test-chrome-fuzzy.d.ts +0 -5
  546. package/dist/tests/test-chrome-fuzzy.d.ts.map +0 -1
  547. package/dist/tests/test-chrome-fuzzy.js +0 -68
  548. package/dist/tests/test-chrome-fuzzy.js.map +0 -1
  549. package/dist/types/faf-types.d.ts +0 -144
  550. package/dist/types/faf-types.d.ts.map +0 -1
  551. package/dist/types/faf-types.js +0 -21
  552. package/dist/types/faf-types.js.map +0 -1
  553. package/dist/types/index.d.ts +0 -36
  554. package/dist/types/index.d.ts.map +0 -1
  555. package/dist/types/index.js +0 -7
  556. package/dist/types/index.js.map +0 -1
  557. package/dist/utils/agents-parser.d.ts +0 -60
  558. package/dist/utils/agents-parser.d.ts.map +0 -1
  559. package/dist/utils/agents-parser.js +0 -339
  560. package/dist/utils/agents-parser.js.map +0 -1
  561. package/dist/utils/announcements.d.ts +0 -16
  562. package/dist/utils/announcements.d.ts.map +0 -1
  563. package/dist/utils/announcements.js +0 -131
  564. package/dist/utils/announcements.js.map +0 -1
  565. package/dist/utils/balance-visualizer.d.ts +0 -38
  566. package/dist/utils/balance-visualizer.d.ts.map +0 -1
  567. package/dist/utils/balance-visualizer.js +0 -190
  568. package/dist/utils/balance-visualizer.js.map +0 -1
  569. package/dist/utils/championship-core.d.ts +0 -127
  570. package/dist/utils/championship-core.d.ts.map +0 -1
  571. package/dist/utils/championship-core.js +0 -212
  572. package/dist/utils/championship-core.js.map +0 -1
  573. package/dist/utils/championship-style.d.ts +0 -110
  574. package/dist/utils/championship-style.d.ts.map +0 -1
  575. package/dist/utils/championship-style.js +0 -219
  576. package/dist/utils/championship-style.js.map +0 -1
  577. package/dist/utils/chrome-extension-confirmer.d.ts +0 -41
  578. package/dist/utils/chrome-extension-confirmer.d.ts.map +0 -1
  579. package/dist/utils/chrome-extension-confirmer.js +0 -203
  580. package/dist/utils/chrome-extension-confirmer.js.map +0 -1
  581. package/dist/utils/chrome-extension-detector.d.ts +0 -74
  582. package/dist/utils/chrome-extension-detector.d.ts.map +0 -1
  583. package/dist/utils/chrome-extension-detector.js +0 -268
  584. package/dist/utils/chrome-extension-detector.js.map +0 -1
  585. package/dist/utils/color-utils.d.ts +0 -17
  586. package/dist/utils/color-utils.d.ts.map +0 -1
  587. package/dist/utils/color-utils.js +0 -112
  588. package/dist/utils/color-utils.js.map +0 -1
  589. package/dist/utils/conductor-parser.d.ts +0 -86
  590. package/dist/utils/conductor-parser.d.ts.map +0 -1
  591. package/dist/utils/conductor-parser.js +0 -293
  592. package/dist/utils/conductor-parser.js.map +0 -1
  593. package/dist/utils/cursorrules-parser.d.ts +0 -56
  594. package/dist/utils/cursorrules-parser.d.ts.map +0 -1
  595. package/dist/utils/cursorrules-parser.js +0 -327
  596. package/dist/utils/cursorrules-parser.js.map +0 -1
  597. package/dist/utils/email-opt-in.d.ts +0 -31
  598. package/dist/utils/email-opt-in.d.ts.map +0 -1
  599. package/dist/utils/email-opt-in.js +0 -199
  600. package/dist/utils/email-opt-in.js.map +0 -1
  601. package/dist/utils/fab-formats-engine.d.ts +0 -83
  602. package/dist/utils/fab-formats-engine.d.ts.map +0 -1
  603. package/dist/utils/fab-formats-engine.js +0 -502
  604. package/dist/utils/fab-formats-engine.js.map +0 -1
  605. package/dist/utils/fafb-compiler.d.ts +0 -62
  606. package/dist/utils/fafb-compiler.d.ts.map +0 -1
  607. package/dist/utils/fafb-compiler.js +0 -225
  608. package/dist/utils/fafb-compiler.js.map +0 -1
  609. package/dist/utils/fafb-detector.d.ts +0 -26
  610. package/dist/utils/fafb-detector.d.ts.map +0 -1
  611. package/dist/utils/fafb-detector.js +0 -180
  612. package/dist/utils/fafb-detector.js.map +0 -1
  613. package/dist/utils/fafignore-parser.d.ts +0 -21
  614. package/dist/utils/fafignore-parser.d.ts.map +0 -1
  615. package/dist/utils/fafignore-parser.js +0 -178
  616. package/dist/utils/fafignore-parser.js.map +0 -1
  617. package/dist/utils/feedback-messages.d.ts +0 -13
  618. package/dist/utils/feedback-messages.d.ts.map +0 -1
  619. package/dist/utils/feedback-messages.js +0 -118
  620. package/dist/utils/feedback-messages.js.map +0 -1
  621. package/dist/utils/file-utils.d.ts +0 -113
  622. package/dist/utils/file-utils.d.ts.map +0 -1
  623. package/dist/utils/file-utils.js +0 -949
  624. package/dist/utils/file-utils.js.map +0 -1
  625. package/dist/utils/gemini-parser.d.ts +0 -58
  626. package/dist/utils/gemini-parser.d.ts.map +0 -1
  627. package/dist/utils/gemini-parser.js +0 -263
  628. package/dist/utils/gemini-parser.js.map +0 -1
  629. package/dist/utils/markdown-to-context.d.ts +0 -28
  630. package/dist/utils/markdown-to-context.d.ts.map +0 -1
  631. package/dist/utils/markdown-to-context.js +0 -206
  632. package/dist/utils/markdown-to-context.js.map +0 -1
  633. package/dist/utils/memory-parser.d.ts +0 -95
  634. package/dist/utils/memory-parser.d.ts.map +0 -1
  635. package/dist/utils/memory-parser.js +0 -408
  636. package/dist/utils/memory-parser.js.map +0 -1
  637. package/dist/utils/memory-topic-writer.d.ts +0 -52
  638. package/dist/utils/memory-topic-writer.d.ts.map +0 -1
  639. package/dist/utils/memory-topic-writer.js +0 -415
  640. package/dist/utils/memory-topic-writer.js.map +0 -1
  641. package/dist/utils/native-cli-parser.d.ts +0 -152
  642. package/dist/utils/native-cli-parser.d.ts.map +0 -1
  643. package/dist/utils/native-cli-parser.js +0 -466
  644. package/dist/utils/native-cli-parser.js.map +0 -1
  645. package/dist/utils/native-file-finder.d.ts +0 -116
  646. package/dist/utils/native-file-finder.d.ts.map +0 -1
  647. package/dist/utils/native-file-finder.js +0 -211
  648. package/dist/utils/native-file-finder.js.map +0 -1
  649. package/dist/utils/platform-detector.d.ts +0 -31
  650. package/dist/utils/platform-detector.d.ts.map +0 -1
  651. package/dist/utils/platform-detector.js +0 -220
  652. package/dist/utils/platform-detector.js.map +0 -1
  653. package/dist/utils/score-header.d.ts +0 -22
  654. package/dist/utils/score-header.d.ts.map +0 -1
  655. package/dist/utils/score-header.js +0 -88
  656. package/dist/utils/score-header.js.map +0 -1
  657. package/dist/utils/slot-counter.d.ts +0 -56
  658. package/dist/utils/slot-counter.d.ts.map +0 -1
  659. package/dist/utils/slot-counter.js +0 -100
  660. package/dist/utils/slot-counter.js.map +0 -1
  661. package/dist/utils/technical-credit.d.ts +0 -36
  662. package/dist/utils/technical-credit.d.ts.map +0 -1
  663. package/dist/utils/technical-credit.js +0 -286
  664. package/dist/utils/technical-credit.js.map +0 -1
  665. package/dist/utils/trust-cache.d.ts +0 -29
  666. package/dist/utils/trust-cache.d.ts.map +0 -1
  667. package/dist/utils/trust-cache.js +0 -122
  668. package/dist/utils/trust-cache.js.map +0 -1
  669. package/dist/utils/turbo-cat-knowledge.d.ts +0 -105
  670. package/dist/utils/turbo-cat-knowledge.d.ts.map +0 -1
  671. package/dist/utils/turbo-cat-knowledge.js +0 -1941
  672. package/dist/utils/turbo-cat-knowledge.js.map +0 -1
  673. package/dist/utils/turbo-cat-pyramid.d.ts +0 -48
  674. package/dist/utils/turbo-cat-pyramid.d.ts.map +0 -1
  675. package/dist/utils/turbo-cat-pyramid.js +0 -380
  676. package/dist/utils/turbo-cat-pyramid.js.map +0 -1
  677. package/dist/utils/turbo-cat.d.ts +0 -99
  678. package/dist/utils/turbo-cat.d.ts.map +0 -1
  679. package/dist/utils/turbo-cat.js +0 -456
  680. package/dist/utils/turbo-cat.js.map +0 -1
  681. package/dist/utils/universal-fuzzy-detector.d.ts +0 -64
  682. package/dist/utils/universal-fuzzy-detector.d.ts.map +0 -1
  683. package/dist/utils/universal-fuzzy-detector.js +0 -386
  684. package/dist/utils/universal-fuzzy-detector.js.map +0 -1
  685. package/dist/utils/update-checker.d.ts +0 -15
  686. package/dist/utils/update-checker.d.ts.map +0 -1
  687. package/dist/utils/update-checker.js +0 -200
  688. package/dist/utils/update-checker.js.map +0 -1
  689. package/dist/utils/vibe-sync.d.ts +0 -25
  690. package/dist/utils/vibe-sync.d.ts.map +0 -1
  691. package/dist/utils/vibe-sync.js +0 -175
  692. package/dist/utils/vibe-sync.js.map +0 -1
  693. package/dist/utils/yaml-generator.d.ts +0 -52
  694. package/dist/utils/yaml-generator.d.ts.map +0 -1
  695. package/dist/utils/yaml-generator.js +0 -432
  696. package/dist/utils/yaml-generator.js.map +0 -1
  697. package/faf-banner.png +0 -0
  698. package/scripts/ANTHROPIC-DEMO.sh +0 -203
  699. package/scripts/boris-ready.sh +0 -169
  700. package/scripts/bundle-yaml.js +0 -87
  701. package/scripts/check-version.js +0 -88
  702. package/scripts/clean-build.js +0 -34
  703. package/scripts/cleanup-unused.sh +0 -54
  704. package/scripts/debug-django.txt +0 -9
  705. package/scripts/debug-mongo.txt +0 -9
  706. package/scripts/debug-react.txt +0 -9
  707. package/scripts/debug-rust.txt +0 -9
  708. package/scripts/debug-whisper.cpp.txt +0 -9
  709. package/scripts/evaluate-family-member.ts +0 -300
  710. package/scripts/generate-docs.ts +0 -358
  711. package/scripts/generate-drift-reports.sh +0 -111
  712. package/scripts/industry-showcase.json +0 -122
  713. package/scripts/mcp-ecosystem-research.sh +0 -58
  714. package/scripts/migrate-yaml-imports.sh +0 -55
  715. package/scripts/migrate-yaml.ts +0 -132
  716. package/scripts/performance-validation.ts +0 -460
  717. package/scripts/postinstall.js +0 -30
  718. package/scripts/prepare-release.ts +0 -421
  719. package/scripts/run-industry-showcase.ts +0 -237
  720. package/scripts/run-test-showcase.ts +0 -244
  721. package/scripts/setup-github-watch.sh +0 -43
  722. package/scripts/sync-version.js +0 -35
  723. package/scripts/test-integration-detection.ts +0 -93
  724. package/scripts/test-integration-simple.js +0 -93
  725. package/scripts/test-medal-progression.sh +0 -143
  726. package/scripts/test-showcase-results.json +0 -109
  727. package/scripts/test-showcase.json +0 -32
  728. package/scripts/update-version.js +0 -148
  729. package/scripts/verify-build.js +0 -343
  730. package/scripts/version-check.js +0 -78
  731. package/scripts/watch-discussions.sh +0 -86
@@ -1,175 +0,0 @@
1
- "use strict";
2
- /**
3
- * FAF VIBE Sync - Alternative sync targets for no-file-system platforms
4
- * When there's no CLAUDE.md, we sync to platform-native locations
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.VibeSync = void 0;
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
43
- const colors_1 = require("../fix-once/colors");
44
- class VibeSync {
45
- /**
46
- * Get sync target based on platform
47
- */
48
- static getSyncTarget(platform) {
49
- switch (platform.toLowerCase()) {
50
- case 'replit':
51
- return {
52
- platform: 'Replit',
53
- target: '.faf-context.md', // Visible in file tree
54
- method: 'file',
55
- instructions: 'FAF syncs to .faf-context.md - Share this with any AI!'
56
- };
57
- case 'lovable':
58
- return {
59
- platform: 'Lovable',
60
- target: 'README.faf.md', // Shows in their UI
61
- method: 'file',
62
- instructions: 'Copy README.faf.md content to Claude/ChatGPT for instant context'
63
- };
64
- case 'wix':
65
- case 'base44':
66
- return {
67
- platform: 'Wix/Base44',
68
- target: 'Clipboard',
69
- method: 'clipboard',
70
- instructions: 'FAF copied context to clipboard - Paste in any AI!'
71
- };
72
- case 'glitch':
73
- return {
74
- platform: 'Glitch',
75
- target: '.env',
76
- method: 'env',
77
- instructions: 'FAF context in .env as FAF_CONTEXT (copy to AI)'
78
- };
79
- case 'codesandbox':
80
- return {
81
- platform: 'CodeSandbox',
82
- target: 'faf-context.json',
83
- method: 'file',
84
- instructions: 'Context saved to faf-context.json for AI sharing'
85
- };
86
- default:
87
- return {
88
- platform: 'Professional',
89
- target: 'CLAUDE.md',
90
- method: 'file',
91
- instructions: 'Synced to CLAUDE.md for Claude Desktop and other AI tools'
92
- };
93
- }
94
- }
95
- /**
96
- * Perform platform-specific sync
97
- */
98
- static async syncContext(content, platform, projectPath) {
99
- const target = this.getSyncTarget(platform);
100
- try {
101
- switch (target.method) {
102
- case 'file': {
103
- const filePath = path.join(projectPath, target.target);
104
- await fs.promises.writeFile(filePath, content);
105
- return true;
106
- }
107
- case 'env': {
108
- // For .env files, add as multiline string
109
- const envPath = path.join(projectPath, '.env');
110
- const envContent = `\n# FAF Context for AI\nFAF_CONTEXT="${content.replace(/"/g, '\\"')}"\n`;
111
- await fs.promises.appendFile(envPath, envContent);
112
- return true;
113
- }
114
- case 'clipboard': {
115
- // Use clipboardy or similar
116
- console.log('📋 Context ready for clipboard (install clipboardy for auto-copy)');
117
- console.log('\n--- COPY BELOW FOR AI ---\n');
118
- console.log(content);
119
- console.log('\n--- END CONTEXT ---\n');
120
- return true;
121
- }
122
- case 'api': {
123
- // Future: POST to FAF cloud service
124
- console.log(colors_1.chalk.gray('API sync not available - use clipboard mode'));
125
- return false;
126
- }
127
- default: {
128
- return false;
129
- }
130
- }
131
- }
132
- catch {
133
- // Sync failed
134
- return false;
135
- }
136
- }
137
- /**
138
- * Generate VIBE progression message
139
- */
140
- static getProgressionMessage(currentScore) {
141
- if (currentScore < 40) {
142
- return `
143
- 🎯 Your Prototype Score: ${currentScore}%
144
- 📈 With FAF VIBE: Could reach 65%+
145
- 🚀 With Claude Desktop: Could reach 85%+
146
-
147
- You're building something cool! Let FAF help you level up:
148
- 1. Run 'faf enhance' to boost your score
149
- 2. Add more context about your decisions
150
- 3. Consider Claude Desktop for bi-directional sync
151
- `;
152
- }
153
- else if (currentScore < 70) {
154
- return `
155
- ✨ Your Score: ${currentScore}% - Getting Professional!
156
- 📈 With Claude Desktop: Could reach 85%+
157
-
158
- You're on the path to championship context:
159
- 1. Add technical decisions to your .faf
160
- 2. Document your architecture choices
161
- 3. Get Claude Desktop for seamless AI workflow
162
- `;
163
- }
164
- else {
165
- return `
166
- 🏆 Championship Score: ${currentScore}%!
167
-
168
- You've graduated from prototype to professional!
169
- Consider the $100 Pro plan for enterprise features.
170
- `;
171
- }
172
- }
173
- }
174
- exports.VibeSync = VibeSync;
175
- //# sourceMappingURL=vibe-sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vibe-sync.js","sourceRoot":"","sources":["../../src/utils/vibe-sync.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,+CAA2C;AAS3C,MAAa,QAAQ;IACnB;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,QAAgB;QAC1C,QAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO;oBACL,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,iBAAiB,EAAG,uBAAuB;oBACnD,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,wDAAwD;iBACvE,CAAC;YAEJ,KAAK,SAAS;gBACZ,OAAO;oBACL,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,eAAe,EAAG,oBAAoB;oBAC9C,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,kEAAkE;iBACjF,CAAC;YAEJ,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO;oBACL,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,oDAAoD;iBACnE,CAAC;YAEJ,KAAK,QAAQ;gBACX,OAAO;oBACL,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,iDAAiD;iBAChE,CAAC;YAEJ,KAAK,aAAa;gBAChB,OAAO;oBACL,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,kDAAkD;iBACjE,CAAC;YAEJ;gBACE,OAAO;oBACL,QAAQ,EAAE,cAAc;oBACxB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,2DAA2D;iBAC1E,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC7B,OAAe,EACf,QAAgB,EAChB,WAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,QAAO,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,0CAA0C;oBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC/C,MAAM,UAAU,GAAG,wCAAwC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;oBAC7F,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,4BAA4B;oBAC5B,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;oBACjF,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,oCAAoC;oBACpC,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;oBACvE,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;YACd,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,qBAAqB,CAAC,YAAoB;QACtD,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;YACtB,OAAO;2BACc,YAAY;;;;;;;;CAQtC,CAAC;QACE,CAAC;aAAM,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;YAC7B,OAAO;gBACG,YAAY;;;;;;;CAO3B,CAAC;QACE,CAAC;aAAM,CAAC;YACN,OAAO;yBACY,YAAY;;;;CAIpC,CAAC;QACE,CAAC;IACH,CAAC;CACF;AA9ID,4BA8IC"}
@@ -1,52 +0,0 @@
1
- /**
2
- * AI-Optimized YAML Generator v2.5.0
3
- * Generates .faf files with instant AI onboarding structure
4
- */
5
- export declare function unescapeFromYaml(value: string): string;
6
- export declare function escapeForYaml(value: string | undefined): string | null;
7
- export declare function generateFafContent(projectData: {
8
- projectName: string;
9
- version?: string;
10
- projectGoal?: string;
11
- mainLanguage?: string;
12
- framework?: string;
13
- cssFramework?: string;
14
- uiLibrary?: string;
15
- stateManagement?: string;
16
- backend?: string;
17
- apiType?: string;
18
- server?: string;
19
- database?: string;
20
- connection?: string;
21
- hosting?: string;
22
- buildTool?: string;
23
- packageManager?: string;
24
- cicd?: string;
25
- fafScore: number;
26
- slotBasedPercentage: number;
27
- projectType?: string;
28
- targetUser?: string;
29
- coreProblem?: string;
30
- missionPurpose?: string;
31
- deploymentMarket?: string;
32
- timeline?: string;
33
- approach?: string;
34
- additionalWho?: string[];
35
- additionalWhat?: string[];
36
- additionalWhy?: string[];
37
- additionalWhere?: string[];
38
- additionalWhen?: string[];
39
- additionalHow?: string[];
40
- projectDetailsScore?: number;
41
- projectSuccessRate?: number;
42
- claudeCode?: {
43
- detected: boolean;
44
- subagents: string[];
45
- commands: string[];
46
- skills: string[];
47
- permissions: string[];
48
- hasClaudeMd: boolean;
49
- mcpServers: string[];
50
- } | null;
51
- }): string;
52
- //# sourceMappingURL=yaml-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yaml-generator.d.ts","sourceRoot":"","sources":["../../src/utils/yaml-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAwBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAyBtE;AA6HD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,IAAI,CAAC;CACV,GAAG,MAAM,CA6MT"}
@@ -1,432 +0,0 @@
1
- "use strict";
2
- /**
3
- * AI-Optimized YAML Generator v2.5.0
4
- * Generates .faf files with instant AI onboarding structure
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.unescapeFromYaml = unescapeFromYaml;
8
- exports.escapeForYaml = escapeForYaml;
9
- exports.generateFafContent = generateFafContent;
10
- // Helper function to restore markdown formatting from escaped YAML
11
- function unescapeFromYaml(value) {
12
- if (!value) {
13
- return value;
14
- }
15
- // Remove surrounding quotes if present
16
- let unquoted = value;
17
- if ((value.startsWith('"') && value.endsWith('"')) ||
18
- (value.startsWith("'") && value.endsWith("'"))) {
19
- unquoted = value.slice(1, -1);
20
- }
21
- // Unescape special characters
22
- unquoted = unquoted.replace(/\\"/g, '"');
23
- // Could optionally restore markdown if we detect patterns
24
- // But for now, just return the clean unescaped value
25
- return unquoted;
26
- }
27
- // Helper function to generate stack string
28
- function generateStackString(data) {
29
- const parts = [];
30
- if (data.framework && data.framework !== 'None') {
31
- parts.push(data.framework);
32
- }
33
- if (data.mainLanguage && data.mainLanguage !== 'Unknown') {
34
- parts.push(data.mainLanguage);
35
- }
36
- if (data.buildTool && data.buildTool !== 'None') {
37
- parts.push(data.buildTool);
38
- }
39
- if (data.hosting && data.hosting !== 'None') {
40
- parts.push(data.hosting);
41
- }
42
- if (data.backend && data.backend !== 'None') {
43
- parts.push(data.backend);
44
- }
45
- return parts.join('/') || 'Not specified';
46
- }
47
- // Helper function to determine confidence level
48
- function getConfidenceLevel(percentage) {
49
- if (percentage >= 90) {
50
- return 'VERY_HIGH';
51
- }
52
- if (percentage >= 80) {
53
- return 'HIGH';
54
- }
55
- if (percentage >= 70) {
56
- return 'GOOD';
57
- }
58
- if (percentage >= 60) {
59
- return 'MODERATE';
60
- }
61
- return 'LOW';
62
- }
63
- // Helper function to safely escape YAML values
64
- // HONEST SCORING: Returns null for empty values - 0% is a valid score!
65
- function escapeForYaml(value) {
66
- if (!value) {
67
- return null;
68
- }
69
- // Clean up markdown-style lists and formatting
70
- const cleaned = value
71
- .replace(/^[\s]*[-*]\s*/gm, '') // Remove list markers
72
- .replace(/\*\*(.+?)\*\*/g, '$1') // Remove bold
73
- .replace(/\*(.+?)\*/g, '$1') // Remove italic
74
- .replace(/\n+/g, ' ') // Replace newlines with spaces
75
- .trim();
76
- // If it looks like JSON or already quoted, return as-is to avoid double-escaping
77
- if (cleaned.startsWith('"') && cleaned.endsWith('"')) {
78
- return cleaned;
79
- }
80
- // If it contains special characters or starts with special chars, quote it
81
- if (cleaned.includes(':') || cleaned.includes('-') || cleaned.includes('[') ||
82
- cleaned.includes('#') || cleaned.includes('|') || cleaned.includes('>') ||
83
- cleaned.match(/^[\d\-[\]{}]/)) {
84
- // Single-escape quotes only
85
- return `"${cleaned.replace(/"/g, '\\"')}"`;
86
- }
87
- return cleaned;
88
- }
89
- // Helper function to detect key files
90
- function detectKeyFiles(data) {
91
- const files = [];
92
- // Based on framework
93
- if (data.framework?.toLowerCase().includes('svelte')) {
94
- files.push('+page.svelte', '+layout.svelte', 'app.html');
95
- }
96
- else if (data.framework?.toLowerCase().includes('react')) {
97
- files.push('App.tsx', 'index.tsx');
98
- }
99
- else if (data.framework?.toLowerCase().includes('vue')) {
100
- files.push('App.vue', 'main.ts');
101
- }
102
- else if (data.mainLanguage?.toLowerCase().includes('python')) {
103
- files.push('main.py', 'requirements.txt');
104
- }
105
- else if (data.mainLanguage?.toLowerCase().includes('rust')) {
106
- // 🦀 RUST PROJECTS: Cargo.toml and src/main.rs or src/lib.rs
107
- files.push('Cargo.toml', 'src/main.rs');
108
- if (data.projectType === 'cli' || data.framework?.toLowerCase().includes('cli')) {
109
- files.push('src/commands/', 'README.md');
110
- }
111
- }
112
- else if (data.mainLanguage?.toLowerCase().includes('go')) {
113
- // 🐹 GO PROJECTS: go.mod and main.go
114
- files.push('go.mod', 'main.go', 'cmd/');
115
- }
116
- else if (data.mainLanguage?.toLowerCase().includes('zig')) {
117
- // ⚡ ZIG PROJECTS: build.zig and src/main.zig
118
- files.push('build.zig', 'src/main.zig');
119
- }
120
- // 🐍 PYTHON CONTEXT-ON-DEMAND: Add appropriate config files
121
- // Only add JS/TS files for JavaScript/TypeScript projects
122
- const isJsTs = data.mainLanguage?.toLowerCase().includes('javascript') ||
123
- data.mainLanguage?.toLowerCase().includes('typescript') ||
124
- (!data.mainLanguage || data.mainLanguage === 'Unknown');
125
- if (isJsTs && !data.mainLanguage?.toLowerCase().includes('python')) {
126
- files.push('package.json', 'tsconfig.json');
127
- }
128
- return files.slice(0, 5); // Max 5 files
129
- }
130
- // Generate project tags
131
- function generateProjectTags(projectData) {
132
- const autoTags = new Set();
133
- // From project name
134
- if (projectData.projectName) {
135
- const cleanName = projectData.projectName.toLowerCase()
136
- .replace(/[^a-z0-9\s-]/g, '')
137
- .replace(/\s+/g, '-')
138
- .substring(0, 30);
139
- if (cleanName) {
140
- autoTags.add(cleanName);
141
- }
142
- }
143
- // From tech stack
144
- if (projectData.framework) {
145
- autoTags.add(projectData.framework.toLowerCase().replace(/\s+/g, '-'));
146
- }
147
- if (projectData.mainLanguage) {
148
- autoTags.add(projectData.mainLanguage.toLowerCase().replace(/\s+/g, '-'));
149
- }
150
- if (projectData.buildTool) {
151
- autoTags.add(projectData.buildTool.toLowerCase().replace(/\s+/g, '-'));
152
- }
153
- if (projectData.hosting) {
154
- autoTags.add(projectData.hosting.toLowerCase().replace(/\s+/g, '-'));
155
- }
156
- if (projectData.backend) {
157
- autoTags.add(projectData.backend.toLowerCase().replace(/\s+/g, '-'));
158
- }
159
- // Remove empty tags
160
- autoTags.delete('');
161
- autoTags.delete('-');
162
- const year = new Date().getFullYear().toString();
163
- const smartTags = [
164
- '.faf', // ALWAYS - Ecosystem builder!
165
- 'ai-ready', // ALWAYS - We're AI-optimized
166
- year, // Current year for freshness
167
- ];
168
- // Smart category detection
169
- if (projectData.projectGoal?.toLowerCase().includes('api') || projectData.framework?.toLowerCase().includes('express')) {
170
- smartTags.push('backend-api');
171
- }
172
- else if (projectData.framework?.toLowerCase().match(/react|vue|svelte|angular/)) {
173
- smartTags.push('web-app');
174
- }
175
- else if (projectData.projectGoal?.toLowerCase().includes('library')) {
176
- smartTags.push('dev-tools');
177
- }
178
- else {
179
- smartTags.push('software');
180
- }
181
- // License/sharing detection (simplified for now)
182
- smartTags.push('open-source'); // Default to open-source for community
183
- return {
184
- auto_generated: Array.from(autoTags).slice(0, 21),
185
- smart_defaults: smartTags,
186
- user_defined: []
187
- };
188
- }
189
- /**
190
- * Convert JavaScript object to YAML format
191
- */
192
- function objectToYaml(obj, indent = 0) {
193
- let yaml = '';
194
- const spacing = ' '.repeat(indent);
195
- for (const [key, value] of Object.entries(obj)) {
196
- if (value === null || value === undefined) {
197
- continue;
198
- }
199
- if (typeof value === 'object' && !Array.isArray(value)) {
200
- yaml += `${spacing}${key}:\n`;
201
- yaml += objectToYaml(value, indent + 1);
202
- }
203
- else if (Array.isArray(value)) {
204
- yaml += `${spacing}${key}:\n`;
205
- for (const item of value) {
206
- // Also escape array items if they're strings
207
- const escapedItem = typeof item === 'string' ? escapeForYaml(item) : item;
208
- yaml += `${spacing} - ${escapedItem}\n`;
209
- }
210
- }
211
- else {
212
- // ALWAYS use escapeForYaml for strings to remove markdown and special chars
213
- let escapedValue = value;
214
- if (typeof value === 'string') {
215
- escapedValue = escapeForYaml(value);
216
- }
217
- yaml += `${spacing}${key}: ${escapedValue}\n`;
218
- }
219
- }
220
- return yaml;
221
- }
222
- // HONEST SCORING: All fields optional - 0% is a valid score!
223
- function generateFafContent(projectData) {
224
- // Calculate filled vs total slots for missing context
225
- const totalSlotsCount = 21; // Base slots
226
- const filledSlotsCount = Math.round((projectData.slotBasedPercentage / 100) * totalSlotsCount);
227
- // 🎯 SLOT-IGNORE: Check which slots are truly missing vs. ignored
228
- // Slots set to 'None' are IGNORED (not applicable), not MISSING
229
- // Like .gitignore: "We checked. Doesn't apply. That's correct."
230
- // See docs/SLOT-IGNORE.md for specification
231
- const missingSlots = [];
232
- if (!projectData.targetUser) {
233
- missingSlots.push('Target users');
234
- }
235
- if (!projectData.coreProblem) {
236
- missingSlots.push('Core problem');
237
- }
238
- if (!projectData.timeline) {
239
- missingSlots.push('Timeline');
240
- }
241
- // Only mark as missing if NOT set to 'None' (which means "not applicable")
242
- if (!projectData.cicd && projectData.cicd !== 'None') {
243
- missingSlots.push('CI/CD pipeline');
244
- }
245
- if (!projectData.database && projectData.database !== 'None') {
246
- missingSlots.push('Database');
247
- }
248
- const fafData = {
249
- // FAF schema version (not CLI version)
250
- faf_version: '2.5.0',
251
- // Generated timestamp (required by schema)
252
- generated: new Date().toISOString(),
253
- // 🤖 AI-FIRST SCORING SYSTEM - Championship Engine with FAB-FORMATS
254
- ai_scoring_system: '2025-09-20', // faf-engine-mk3 compiler live date
255
- ai_score: `${projectData.fafScore}%`, // MY evaluation
256
- ai_confidence: getConfidenceLevel(projectData.fafScore), // MY trust level
257
- ai_value: '30_seconds_replaces_20_minutes_of_questions',
258
- // 🧠 AI READ THIS FIRST - 5-LINE TL;DR
259
- // HONEST SCORING: No fake branding - show only detected values
260
- ai_tldr: {
261
- project: projectData.projectGoal
262
- ? `${projectData.projectName} - ${escapeForYaml(projectData.projectGoal)}`
263
- : projectData.projectName,
264
- stack: generateStackString(projectData),
265
- quality_bar: 'production_ready',
266
- current_focus: projectData.projectGoal ? 'Production deployment preparation' : 'Project initialization',
267
- your_role: 'Build features with perfect context'
268
- },
269
- // ⚡ INSTANT CONTEXT - Everything critical in one place
270
- // HONEST SCORING: null for undetected values - 0% is a valid score!
271
- instant_context: {
272
- what_building: projectData.projectGoal ? escapeForYaml(projectData.projectGoal) : null,
273
- tech_stack: generateStackString(projectData),
274
- main_language: projectData.mainLanguage || null,
275
- deployment: projectData.hosting || null,
276
- key_files: detectKeyFiles(projectData)
277
- },
278
- // 📊 CONTEXT QUALITY METRICS
279
- context_quality: {
280
- slots_filled: `${filledSlotsCount}/${totalSlotsCount} (${projectData.slotBasedPercentage}%)`,
281
- ai_confidence: getConfidenceLevel(projectData.slotBasedPercentage),
282
- handoff_ready: projectData.slotBasedPercentage > 70,
283
- missing_context: missingSlots.length > 0 ? missingSlots : ['None - fully specified!']
284
- },
285
- // 📄 Project Details (Progressive Disclosure)
286
- // HONEST SCORING: null for undetected values - 0% is a valid score!
287
- project: {
288
- name: projectData.projectName || 'Untitled Project',
289
- goal: projectData.projectGoal ? escapeForYaml(projectData.projectGoal) : null,
290
- main_language: projectData.mainLanguage || 'Unknown',
291
- type: projectData.projectType || null // Project type for compiler slot-filling patterns
292
- },
293
- // 🧠 AI OPERATING INSTRUCTIONS
294
- ai_instructions: {
295
- priority_order: [
296
- '1. Read THIS .faf file first',
297
- '2. Check CLAUDE.md for session context',
298
- projectData.mainLanguage?.toLowerCase().includes('python')
299
- ? '3. Review requirements.txt and main.py for dependencies'
300
- : '3. Review package.json for dependencies'
301
- ],
302
- working_style: {
303
- code_first: true,
304
- explanations: 'minimal',
305
- quality_bar: 'zero_errors',
306
- testing: 'required'
307
- },
308
- warnings: (() => {
309
- const lang = (projectData.mainLanguage || '').toLowerCase();
310
- const w = [];
311
- if (lang.includes('typescript') || lang.includes('javascript')) {
312
- w.push('All TypeScript must pass strict mode');
313
- }
314
- else if (lang.includes('python')) {
315
- w.push('Follow PEP 8 style guidelines');
316
- w.push('Use type hints for public APIs');
317
- }
318
- else if (lang.includes('rust')) {
319
- w.push('All code must pass clippy without warnings');
320
- }
321
- w.push('Test coverage required for new features');
322
- return w;
323
- })()
324
- },
325
- // 🏗️ Technical Stack (Full Details)
326
- // HONEST SCORING: null for undetected values - 0% is a valid score!
327
- stack: {
328
- framework: projectData.framework || null,
329
- css: projectData.cssFramework || null,
330
- ui_library: projectData.uiLibrary || null,
331
- state: projectData.stateManagement || null,
332
- backend: projectData.backend || null,
333
- runtime: projectData.server || null,
334
- db: projectData.database || null,
335
- build: projectData.buildTool || (projectData.projectType === 'static-html' || projectData.projectType === 'landing-page' ? 'Direct HTML (no build step)' : null),
336
- pkg_manager: projectData.packageManager || null,
337
- api: projectData.apiType || null,
338
- hosting: projectData.hosting || null,
339
- cicd: projectData.cicd || null
340
- },
341
- // ⚙️ Development Preferences
342
- preferences: {
343
- quality_bar: 'zero_errors',
344
- commit_style: 'conventional_emoji',
345
- response_style: 'concise_code_first',
346
- explanation_level: 'minimal',
347
- communication: 'direct',
348
- testing: 'required',
349
- documentation: 'as_needed'
350
- },
351
- // 🚀 Project State
352
- state: {
353
- phase: 'development',
354
- version: projectData.version || '1.0.0',
355
- focus: 'production_deployment',
356
- status: 'green_flag',
357
- next_milestone: (() => {
358
- const lang = (projectData.mainLanguage || '').toLowerCase();
359
- if (lang.includes('python')) {
360
- return 'pypi_publication';
361
- }
362
- if (lang.includes('rust')) {
363
- return 'crates_publication';
364
- }
365
- if (lang.includes('go')) {
366
- return 'go_module_publication';
367
- }
368
- if (lang.includes('java') || lang.includes('kotlin')) {
369
- return 'maven_publication';
370
- }
371
- return 'npm_publication';
372
- })(),
373
- blockers: []
374
- },
375
- // 📊 Scores (required by schema)
376
- scores: {
377
- faf_score: projectData.fafScore || 0,
378
- slot_based_percentage: projectData.slotBasedPercentage || 0,
379
- total_slots: totalSlotsCount
380
- },
381
- // 🏷️ Search & Discovery Tags
382
- tags: generateProjectTags(projectData),
383
- // 👥 Human Context (The 6 W's) - HONEST SCORING: null fields stay null!
384
- human_context: projectData.targetUser || projectData.coreProblem ? {
385
- who: escapeForYaml(projectData.targetUser) || null,
386
- what: escapeForYaml(projectData.coreProblem) || null,
387
- why: escapeForYaml(projectData.missionPurpose) || null,
388
- where: escapeForYaml(projectData.deploymentMarket) || null,
389
- when: escapeForYaml(projectData.timeline) || null,
390
- how: escapeForYaml(projectData.approach) || null,
391
- additional_context: {
392
- who: projectData.additionalWho && projectData.additionalWho.length > 0 ? projectData.additionalWho : undefined,
393
- what: projectData.additionalWhat && projectData.additionalWhat.length > 0 ? projectData.additionalWhat : undefined,
394
- why: projectData.additionalWhy && projectData.additionalWhy.length > 0 ? projectData.additionalWhy : undefined,
395
- where: projectData.additionalWhere && projectData.additionalWhere.length > 0 ? projectData.additionalWhere : undefined,
396
- when: projectData.additionalWhen && projectData.additionalWhen.length > 0 ? projectData.additionalWhen : undefined,
397
- how: projectData.additionalHow && projectData.additionalHow.length > 0 ? projectData.additionalHow : undefined
398
- },
399
- context_score: projectData.projectDetailsScore || 0,
400
- total_prd_score: (projectData.projectDetailsScore || 0) + (projectData.fafScore || 0),
401
- success_rate: `${projectData.projectSuccessRate || 50}%`
402
- } : undefined,
403
- // 📊 AI Scoring Details (For Transparency)
404
- ai_scoring_details: {
405
- system_date: '2025-09-20', // faf-engine-mk3 Championship Engine
406
- slot_based_percentage: projectData.slotBasedPercentage,
407
- ai_score: projectData.fafScore,
408
- total_slots: 21,
409
- filled_slots: filledSlotsCount,
410
- scoring_method: 'Honest percentage - no fake minimums',
411
- trust_embedded: 'COUNT ONCE architecture - trust MY embedded scores'
412
- },
413
- // 🤖 Claude Code Integration (Boris-friendly detection, 2.1.0+)
414
- claude_code: projectData.claudeCode?.detected ? {
415
- detected: true,
416
- has_claude_md: projectData.claudeCode.hasClaudeMd,
417
- subagents: projectData.claudeCode.subagents.length > 0 ? projectData.claudeCode.subagents : undefined,
418
- commands: projectData.claudeCode.commands.length > 0 ? projectData.claudeCode.commands : undefined,
419
- skills: projectData.claudeCode.skills?.length > 0 ? projectData.claudeCode.skills : undefined,
420
- permissions: projectData.claudeCode.permissions.length > 0 ? projectData.claudeCode.permissions : undefined,
421
- mcp_servers: projectData.claudeCode.mcpServers.length > 0 ? projectData.claudeCode.mcpServers : undefined
422
- } : undefined
423
- };
424
- // Use native YAML library and fix any !CI placeholder issues
425
- const yamlContent = objectToYaml(fafData);
426
- // Championship fix: Replace !CI placeholders with revolutionary content
427
- const championshipContent = yamlContent
428
- .replace(/what_building: !CI/g, 'what_building: "🚀 Universal AI-context CLI - Trust-Driven Infrastructure that eliminates developer anxiety"')
429
- .replace(/goal: !CI/g, 'goal: "⚡️ Transform developer psychology from hope-driven to trust-driven AI development - 30 seconds replaces 20 minutes of questions"');
430
- return championshipContent;
431
- }
432
- //# sourceMappingURL=yaml-generator.js.map