faf-cli 5.2.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 +27 -103
  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,173 +0,0 @@
1
- "use strict";
2
- /**
3
- * 📋 .faf Schema Definition and Validation
4
- * Complete schema for .faf format validation
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.validateSchema = validateSchema;
8
- /**
9
- * Required fields for a valid .faf file
10
- */
11
- const REQUIRED_FIELDS = [
12
- "faf_version",
13
- "generated",
14
- "project.name",
15
- "project.main_language",
16
- "scores.faf_score",
17
- "scores.slot_based_percentage",
18
- ];
19
- /**
20
- * Core sections that should be present
21
- */
22
- const CORE_SECTIONS = [
23
- "project",
24
- "stack",
25
- "scores",
26
- "ai_instructions",
27
- "preferences",
28
- "state",
29
- ];
30
- /**
31
- * Validate .faf file against schema
32
- */
33
- function validateSchema(data, schemaVersion = "latest") {
34
- const errors = [];
35
- const warnings = [];
36
- // 🚨 CRITICAL: Handle null/undefined/invalid data safely
37
- if (data === null || data === undefined) {
38
- errors.push({
39
- message: "Invalid input: data is null or undefined",
40
- severity: "error",
41
- });
42
- return {
43
- valid: false,
44
- errors,
45
- warnings,
46
- schemaVersion,
47
- sectionsFound: 0,
48
- requiredFieldsFound: 0,
49
- requiredFieldsTotal: REQUIRED_FIELDS.length,
50
- };
51
- }
52
- if (typeof data !== "object" || Array.isArray(data)) {
53
- errors.push({
54
- message: "Invalid input: data must be an object",
55
- severity: "error",
56
- });
57
- return {
58
- valid: false,
59
- errors,
60
- warnings,
61
- schemaVersion,
62
- sectionsFound: 0,
63
- requiredFieldsFound: 0,
64
- requiredFieldsTotal: REQUIRED_FIELDS.length,
65
- };
66
- }
67
- // Check required fields
68
- let requiredFieldsFound = 0;
69
- REQUIRED_FIELDS.forEach((fieldPath) => {
70
- const value = getNestedValue(data, fieldPath);
71
- if (value !== undefined && value !== null && value !== "") {
72
- requiredFieldsFound++;
73
- }
74
- else {
75
- errors.push({
76
- message: `Required field missing: ${fieldPath}`,
77
- path: fieldPath,
78
- severity: "error",
79
- });
80
- }
81
- });
82
- // Check core sections
83
- let sectionsFound = 0;
84
- CORE_SECTIONS.forEach((section) => {
85
- if (data[section] && typeof data[section] === "object") {
86
- sectionsFound++;
87
- }
88
- else {
89
- warnings.push({
90
- message: `Core section missing or invalid: ${section}`,
91
- path: section,
92
- severity: "warning",
93
- });
94
- }
95
- });
96
- // Version validation
97
- if (data.faf_version) {
98
- if (!isValidVersion(data.faf_version)) {
99
- warnings.push({
100
- message: `Invalid faf_version format: ${data.faf_version}`,
101
- path: "faf_version",
102
- severity: "warning",
103
- });
104
- }
105
- }
106
- // Score validation
107
- if (data.scores) {
108
- if (typeof data.scores.faf_score === "number") {
109
- if (data.scores.faf_score < 0 || data.scores.faf_score > 100) {
110
- errors.push({
111
- message: "faf_score must be between 0-100",
112
- path: "scores.faf_score",
113
- severity: "error",
114
- });
115
- }
116
- }
117
- if (typeof data.scores.slot_based_percentage === "number") {
118
- if (data.scores.slot_based_percentage < 0 ||
119
- data.scores.slot_based_percentage > 100) {
120
- errors.push({
121
- message: "slot_based_percentage must be between 0-100",
122
- path: "scores.slot_based_percentage",
123
- severity: "error",
124
- });
125
- }
126
- }
127
- }
128
- // Generate timestamp validation
129
- if (data.generated) {
130
- try {
131
- const date = new Date(data.generated);
132
- if (isNaN(date.getTime())) {
133
- warnings.push({
134
- message: "Invalid generated timestamp format",
135
- path: "generated",
136
- severity: "warning",
137
- });
138
- }
139
- }
140
- catch {
141
- warnings.push({
142
- message: "Invalid generated timestamp format",
143
- path: "generated",
144
- severity: "warning",
145
- });
146
- }
147
- }
148
- return {
149
- valid: errors.length === 0,
150
- errors,
151
- warnings,
152
- schemaVersion,
153
- sectionsFound,
154
- requiredFieldsFound,
155
- requiredFieldsTotal: REQUIRED_FIELDS.length,
156
- };
157
- }
158
- /**
159
- * Get nested object value by dot path
160
- */
161
- function getNestedValue(obj, path) {
162
- return path.split(".").reduce((current, key) => {
163
- return current?.[key];
164
- }, obj);
165
- }
166
- /**
167
- * Validate version string format (semantic versioning)
168
- */
169
- function isValidVersion(version) {
170
- const semverRegex = /^\d+\.\d+\.\d+(-[a-zA-Z0-9-]+)?$/;
171
- return semverRegex.test(version);
172
- }
173
- //# sourceMappingURL=faf-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faf-schema.js","sourceRoot":"","sources":["../../src/schema/faf-schema.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Smart FAF Command Logic
3
- * Contextually aware command that adapts based on project state
4
- *
5
- * Updated for 2026 Claude Code alignment:
6
- * - Detects execution context (terminal, Claude Code, MCP)
7
- * - In Claude Code: returns structured JSON for AskUserQuestion
8
- * - In terminal: interactive prompts
9
- * - Recommends `faf go` as guided path to Gold Code (100%)
10
- *
11
- * Flow:
12
- * 1. No .faf → suggest init or auto
13
- * 2. Score < 100 → suggest faf go (guided interview)
14
- * 3. Score 100 → celebrate and suggest maintenance
15
- *
16
- * @since v3.5.0 - Added execution context awareness
17
- */
18
- declare class SmartFaf {
19
- private stateFile;
20
- private fafFile;
21
- /**
22
- * Main entry point - smart contextual command
23
- * Updated for 2026 Claude Code alignment
24
- */
25
- execute(): Promise<void>;
26
- /**
27
- * Output structured JSON for Claude Code / MCP contexts
28
- */
29
- private outputStructuredStatus;
30
- /**
31
- * Get current FAF state from file and system
32
- */
33
- private getState;
34
- /**
35
- * Get current FAF score by parsing .faf file
36
- */
37
- private getCurrentScore;
38
- /**
39
- * Update state file
40
- */
41
- private updateState;
42
- /**
43
- * Run a FAF command
44
- */
45
- private runCommand;
46
- /**
47
- * Show current status for perfect score
48
- */
49
- private showStatus;
50
- /**
51
- * Show escape routes when stuck
52
- */
53
- private showEscapeRoutes;
54
- /**
55
- * Display championship score with ASCII art
56
- */
57
- private displayChampionshipScore;
58
- /**
59
- * Suggest commit when at 99% but not locked
60
- */
61
- private suggestCommit;
62
- /**
63
- * Reset state for fresh start
64
- */
65
- resetState(): void;
66
- }
67
- export default SmartFaf;
68
- //# sourceMappingURL=smart-faf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smart-faf.d.ts","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqBH,cAAM,QAAQ;IACZ,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAU;IAEzB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqD9B;;OAEG;IACH,OAAO,CAAC,QAAQ;IA2ChB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,UAAU,IAAI,IAAI;CAMnB;AAGD,eAAe,QAAQ,CAAC"}
package/dist/smart-faf.js DELETED
@@ -1,400 +0,0 @@
1
- "use strict";
2
- /**
3
- * Smart FAF Command Logic
4
- * Contextually aware command that adapts based on project state
5
- *
6
- * Updated for 2026 Claude Code alignment:
7
- * - Detects execution context (terminal, Claude Code, MCP)
8
- * - In Claude Code: returns structured JSON for AskUserQuestion
9
- * - In terminal: interactive prompts
10
- * - Recommends `faf go` as guided path to Gold Code (100%)
11
- *
12
- * Flow:
13
- * 1. No .faf → suggest init or auto
14
- * 2. Score < 100 → suggest faf go (guided interview)
15
- * 3. Score 100 → celebrate and suggest maintenance
16
- *
17
- * @since v3.5.0 - Added execution context awareness
18
- */
19
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
- if (k2 === undefined) k2 = k;
21
- var desc = Object.getOwnPropertyDescriptor(m, k);
22
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
- desc = { enumerable: true, get: function() { return m[k]; } };
24
- }
25
- Object.defineProperty(o, k2, desc);
26
- }) : (function(o, m, k, k2) {
27
- if (k2 === undefined) k2 = k;
28
- o[k2] = m[k];
29
- }));
30
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
- Object.defineProperty(o, "default", { enumerable: true, value: v });
32
- }) : function(o, v) {
33
- o["default"] = v;
34
- });
35
- var __importStar = (this && this.__importStar) || (function () {
36
- var ownKeys = function(o) {
37
- ownKeys = Object.getOwnPropertyNames || function (o) {
38
- var ar = [];
39
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
- return ar;
41
- };
42
- return ownKeys(o);
43
- };
44
- return function (mod) {
45
- if (mod && mod.__esModule) return mod;
46
- var result = {};
47
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
- __setModuleDefault(result, mod);
49
- return result;
50
- };
51
- })();
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- const fs = __importStar(require("fs"));
54
- const path = __importStar(require("path"));
55
- const child_process_1 = require("child_process");
56
- const execution_context_1 = require("./engines/execution-context");
57
- class SmartFaf {
58
- stateFile = '.faf-state.json';
59
- fafFile = '.faf';
60
- /**
61
- * Main entry point - smart contextual command
62
- * Updated for 2026 Claude Code alignment
63
- */
64
- async execute() {
65
- const ctx = (0, execution_context_1.detectExecutionContext)();
66
- const currentDir = process.cwd();
67
- const homeDir = require('os').homedir();
68
- // CRITICAL: Check if we're in home or root directory
69
- if (currentDir === homeDir || currentDir === '/') {
70
- if ((0, execution_context_1.shouldReturnStructuredQuestions)(ctx)) {
71
- // Claude Code / MCP: return JSON guidance
72
- console.log(JSON.stringify({
73
- status: 'no_project',
74
- message: 'FAF requires a project directory. Navigate to a project folder first.',
75
- suggestions: [
76
- 'cd /path/to/your/project && faf',
77
- 'faf init /path/to/project',
78
- ],
79
- context: (0, execution_context_1.getContextDescription)(ctx),
80
- }, null, 2));
81
- return;
82
- }
83
- // Terminal: show welcome message
84
- console.log('\n🧡⚡️ FAF - AI Context, On-Demand\n');
85
- console.log('DROP | PASTE | CREATE - Click & Go!\n');
86
- console.log('🎯 What is FAF?');
87
- console.log('Persistent Project Context - makes your project AI-readable in <50ms\n');
88
- console.log('📂 How to start:');
89
- console.log('• DROP: Navigate to your project: cd my-project && faf');
90
- console.log('• PASTE: Provide path: faf init /path/to/project');
91
- console.log('• CREATE: New project: faf quick "ProjectName, description, language"\n');
92
- console.log('💡 Examples:');
93
- console.log(' cd ~/my-app && faf');
94
- console.log(' faf quick "my-app, e-commerce site, typescript, react"\n');
95
- console.log('🧡⚡️ SPEEDY AI you can TRUST!\n');
96
- return;
97
- }
98
- const state = this.getState();
99
- // === CLAUDE CODE / MCP CONTEXT ===
100
- // Return structured JSON for AI to parse and use with AskUserQuestion
101
- if ((0, execution_context_1.shouldReturnStructuredQuestions)(ctx)) {
102
- this.outputStructuredStatus(state);
103
- return;
104
- }
105
- // === TERMINAL CONTEXT ===
106
- console.log('🏎️ FAF Smart Mode Engaged...\n');
107
- // No .faf file - suggest creation
108
- if (!state.exists) {
109
- console.log('📁 No .faf file found.\n');
110
- console.log('🎯 Quick Start:');
111
- console.log(' faf auto → Full setup in one command (recommended)');
112
- console.log(' faf init → Create minimal .faf file');
113
- console.log(' faf go → Guided interview to Gold Code\n');
114
- return;
115
- }
116
- // Show current status + next action
117
- console.log(`📊 Current Score: ${state.score}%`);
118
- // Perfect score - celebrate
119
- if (state.score >= 100) {
120
- this.displayChampionshipScore(state.score);
121
- console.log('🏆 GOLD CODE ACHIEVED! Your AI has complete context.\n');
122
- console.log('Maintenance:');
123
- console.log(' faf bi-sync → Keep CLAUDE.md synchronized');
124
- console.log(' faf trust → Verify integrity');
125
- console.log(' faf status → Check current state');
126
- return;
127
- }
128
- // Score < 100 - suggest faf go
129
- const toGold = 100 - state.score;
130
- console.log(`🎯 Target: 100% Gold Code (+${toGold}% to go)\n`);
131
- // Primary recommendation: faf go
132
- console.log('🚀 Next Step:');
133
- console.log(' faf go → Guided interview to 100% (recommended)');
134
- console.log(' Claude asks questions till you\'re done!\n');
135
- // Alternative options
136
- console.log('Other Options:');
137
- console.log(' faf auto → Auto-fill what we can detect');
138
- console.log(' faf score --breakdown → See what\'s missing');
139
- console.log(' faf edit → Manual edit .faf file\n');
140
- // Growth hint
141
- if (state.score < 70) {
142
- console.log('💡 Tip: Run "faf auto" first to boost to ~80%, then "faf go" to finish.');
143
- }
144
- else if (state.score < 85) {
145
- console.log('💡 Tip: You\'re close! Run "faf go" to answer a few questions and hit Gold.');
146
- }
147
- else {
148
- console.log('💡 Tip: Almost there! "faf go" will ask just a few more questions.');
149
- }
150
- }
151
- /**
152
- * Output structured JSON for Claude Code / MCP contexts
153
- */
154
- outputStructuredStatus(state) {
155
- if (!state.exists) {
156
- console.log(JSON.stringify({
157
- status: 'no_faf_file',
158
- score: 0,
159
- message: 'No .faf file found in this directory.',
160
- nextAction: {
161
- command: 'faf auto',
162
- description: 'Create .faf file and auto-fill what we can detect',
163
- },
164
- alternativeActions: [
165
- { command: 'faf init', description: 'Create minimal .faf file' },
166
- { command: 'faf go', description: 'Guided interview to Gold Code' },
167
- ],
168
- }, null, 2));
169
- return;
170
- }
171
- if (state.score >= 100) {
172
- console.log(JSON.stringify({
173
- status: 'gold_code',
174
- score: state.score,
175
- message: 'Gold Code achieved! AI has complete context.',
176
- nextAction: {
177
- command: 'faf bi-sync',
178
- description: 'Keep CLAUDE.md synchronized',
179
- },
180
- maintenanceActions: [
181
- { command: 'faf trust', description: 'Verify integrity' },
182
- { command: 'faf status', description: 'Check current state' },
183
- ],
184
- }, null, 2));
185
- return;
186
- }
187
- // Score < 100 - recommend faf go
188
- console.log(JSON.stringify({
189
- status: 'needs_improvement',
190
- score: state.score,
191
- target: 100,
192
- toGold: 100 - state.score,
193
- message: `Score is ${state.score}%. Use 'faf go' for guided interview to Gold Code.`,
194
- nextAction: {
195
- command: 'faf go',
196
- description: 'Guided interview to 100% - Claude asks questions till done',
197
- },
198
- alternativeActions: [
199
- { command: 'faf auto', description: 'Auto-fill detectable fields' },
200
- { command: 'faf score --breakdown', description: 'See what\'s missing' },
201
- ],
202
- }, null, 2));
203
- }
204
- /**
205
- * Get current FAF state from file and system
206
- */
207
- getState() {
208
- const exists = fs.existsSync(this.fafFile);
209
- if (!exists) {
210
- return {
211
- exists: false,
212
- score: 0,
213
- lastEnhanced: false,
214
- lastChatted: false,
215
- synced: false,
216
- locked: false
217
- };
218
- }
219
- // Load saved state
220
- let savedState = {};
221
- if (fs.existsSync(this.stateFile)) {
222
- try {
223
- savedState = JSON.parse(fs.readFileSync(this.stateFile, 'utf-8'));
224
- }
225
- catch (e) {
226
- // State file corrupted, start fresh
227
- }
228
- }
229
- // Check if context is committed (locked)
230
- let isLocked = savedState.locked || false;
231
- if (fs.existsSync(this.fafFile)) {
232
- const fafContent = fs.readFileSync(this.fafFile, 'utf-8');
233
- if (fafContent.includes('excellence_locked: true')) {
234
- isLocked = true;
235
- }
236
- }
237
- return {
238
- exists: true,
239
- score: this.getCurrentScore(),
240
- lastEnhanced: savedState.lastEnhanced || false,
241
- lastChatted: savedState.lastChatted || false,
242
- synced: savedState.synced || false,
243
- locked: isLocked
244
- };
245
- }
246
- /**
247
- * Get current FAF score by parsing .faf file
248
- */
249
- getCurrentScore() {
250
- if (!fs.existsSync(this.fafFile)) {
251
- return 0;
252
- }
253
- try {
254
- const content = fs.readFileSync(this.fafFile, 'utf-8');
255
- const scoreMatch = content.match(/ai_score:\s*(\d+)%?/);
256
- if (scoreMatch) {
257
- return parseInt(scoreMatch[1]);
258
- }
259
- // Fallback: run score command and parse output
260
- const cliPath = path.join(__dirname, 'cli.js');
261
- const output = (0, child_process_1.execSync)(`node "${cliPath}" score`, {
262
- encoding: 'utf-8',
263
- cwd: process.cwd(),
264
- stdio: ['pipe', 'pipe', 'pipe']
265
- });
266
- const outputMatch = output.match(/Score:\s*(\d+)/);
267
- if (outputMatch) {
268
- return parseInt(outputMatch[1]);
269
- }
270
- }
271
- catch (e) {
272
- // Error getting score, assume needs improvement
273
- return 50;
274
- }
275
- return 50; // Default middle score
276
- }
277
- /**
278
- * Update state file
279
- */
280
- updateState(updates) {
281
- let state = {};
282
- if (fs.existsSync(this.stateFile)) {
283
- try {
284
- state = JSON.parse(fs.readFileSync(this.stateFile, 'utf-8'));
285
- }
286
- catch (e) {
287
- // Start fresh if corrupted
288
- }
289
- }
290
- state = { ...state, ...updates };
291
- fs.writeFileSync(this.stateFile, JSON.stringify(state, null, 2));
292
- }
293
- /**
294
- * Run a FAF command
295
- */
296
- runCommand(command, message) {
297
- console.log(message);
298
- console.log(`${'━'.repeat(50)}\n`);
299
- try {
300
- (0, child_process_1.execSync)(`faf ${command}`, { stdio: 'inherit' });
301
- }
302
- catch (e) {
303
- console.error(`\n❌ Command failed. Try 'faf ${command}' directly.`);
304
- }
305
- }
306
- /**
307
- * Show current status for perfect score
308
- */
309
- showStatus(state) {
310
- console.log('🏆 FAF Status: PERFECT\n');
311
- console.log(`✅ Score: ${state.score}%`);
312
- console.log('✅ Synced with CLAUDE.md');
313
- if (state.locked) {
314
- console.log('✅ Context locked');
315
- }
316
- console.log('\n🎯 Your AI understands everything!');
317
- console.log('\nMaintenance commands:');
318
- console.log(' • faf watch → Auto-sync on changes');
319
- console.log(' • faf trust → Verify integrity');
320
- console.log(' • faf share → Share with others');
321
- }
322
- /**
323
- * Show escape routes when stuck
324
- */
325
- showEscapeRoutes(state) {
326
- console.log(`📊 Still at ${state.score}%\n`);
327
- console.log('🚪 Escape Routes:\n');
328
- console.log(' 🎰 faf chat → Interactive mode (easy)');
329
- console.log(' 🏎️ faf index → See all 30+ commands');
330
- console.log(' 📊 faf score --fix → Auto-fix missing items');
331
- console.log(' 📝 faf edit → Manual edit .faf file');
332
- console.log(' 🔄 faf reset → Start over fresh\n');
333
- console.log('💡 Tip: Most users reach 99% with "faf chat"');
334
- }
335
- /**
336
- * Display championship score with ASCII art
337
- */
338
- displayChampionshipScore(score) {
339
- console.log();
340
- console.log('╔════════════════════════════════════╗');
341
- console.log('║ 🏆 CHAMPIONSHIP SCORE 🏆 ║');
342
- console.log('╠════════════════════════════════════╣');
343
- console.log(`║ ${score >= 99 ? '⭐' : ' '} ${String(score).padStart(3)}% ${score >= 99 ? '⭐' : ' '} ║`);
344
- console.log('╠════════════════════════════════════╣');
345
- if (score >= 99) {
346
- console.log('║ 🎯 PERFECT AI READINESS! 🎯 ║');
347
- console.log('║ You are at POLE POSITION! ║');
348
- }
349
- else if (score >= 85) {
350
- console.log('║ ✨ EXCELLENT PROGRESS! ✨ ║');
351
- console.log('║ Championship level! ║');
352
- }
353
- else if (score >= 70) {
354
- console.log('║ 📈 GOOD PROGRESS! 📈 ║');
355
- console.log('║ Keep pushing forward! ║');
356
- }
357
- else {
358
- console.log('║ 🌱 GROWING STRONG! 🌱 ║');
359
- console.log('║ Room to improve! ║');
360
- }
361
- console.log('╚════════════════════════════════════╝');
362
- console.log();
363
- }
364
- /**
365
- * Suggest commit when at 99% but not locked
366
- */
367
- suggestCommit(state) {
368
- this.displayChampionshipScore(state.score);
369
- console.log('Your AI context is perfect, but not locked in.\n');
370
- console.log('→ Run: faf commit');
371
- console.log(' Lock in this excellence forever');
372
- console.log(' (Your context will never degrade)\n');
373
- console.log('Or continue with:');
374
- console.log(' • faf bi-sync → Keep files synchronized');
375
- console.log(' • faf status → See current state');
376
- }
377
- /**
378
- * Reset state for fresh start
379
- */
380
- resetState() {
381
- if (fs.existsSync(this.stateFile)) {
382
- fs.unlinkSync(this.stateFile);
383
- }
384
- console.log('🔄 State reset. Run "faf" to start fresh.');
385
- }
386
- }
387
- // Export for CLI integration
388
- exports.default = SmartFaf;
389
- // Direct execution support
390
- if (require.main === module) {
391
- const smartFaf = new SmartFaf();
392
- // Check for reset flag
393
- if (process.argv.includes('--reset')) {
394
- smartFaf.resetState();
395
- }
396
- else {
397
- smartFaf.execute().catch(console.error);
398
- }
399
- }
400
- //# sourceMappingURL=smart-faf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smart-faf.js","sourceRoot":"","sources":["../src/smart-faf.ts"],"names":[],"mappings":"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"}