businesslens 0.5.0 → 0.7.1

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 (314) hide show
  1. package/CHANGELOG.md +262 -0
  2. package/README.md +111 -106
  3. package/dist/businesslensThemeLabVariants.d.ts +39 -0
  4. package/dist/businesslensThemeLabVariants.js +114 -0
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.js +2106 -819
  7. package/dist/logo-Bmv9IEAA.js +160 -0
  8. package/dist/logo.d.ts +16 -0
  9. package/dist/logo.js +3 -0
  10. package/dist/portable-BG1UM2eJ.js +576 -0
  11. package/dist/portable-D-39sG6M.d.ts +1192 -0
  12. package/dist/report-digest-B5HEnjj6.js +16 -0
  13. package/dist/report-digest.d.ts +13 -0
  14. package/dist/report-digest.js +4 -0
  15. package/dist/report-view-model.d.ts +98 -0
  16. package/dist/report-view-model.js +80 -0
  17. package/dist/report.d.ts +2 -0
  18. package/dist/report.js +3 -0
  19. package/dist/viewer/200.html +1 -0
  20. package/dist/viewer/404.html +1 -0
  21. package/dist/viewer/_fonts/2vrrJ3MJLeeRdsxoGShjYhieJbC2KYTsL2TxP6pMbHw-M0DkDLNITN2p_m211B__nX1QX-Xza3m69L-nMauwf2g.woff2 +0 -0
  22. package/dist/viewer/_fonts/3EoiQ3JXV9M854bFdDwbRdGEY3-Du8oUds3aqK5whzM-0k8mcMMDR7LSyG5LPtIn07Rq92oTawhgfoVy5edJiuM.woff2 +0 -0
  23. package/dist/viewer/_fonts/4QnBRRPRkqsZZsI-BMyAY6O8mcHveU0lVITGztsdgaU-6W9goIX2kkUb_cEk1DVhEit9nFnfoMy0U1qs3xF4uAE.woff2 +0 -0
  24. package/dist/viewer/_fonts/7HAR14LKTzhJQKjIswIdjqbb_ir_9ierJYPiQk1I0T4-CAhl9c6lKjXQV_OAVGFlQ8ZIg0kI00oZ4sqnwBOU2vo.woff2 +0 -0
  25. package/dist/viewer/_fonts/7qYB9pTPpQMGJcc1oBw4aJs8qrR5AEqnE_aISylzMZk-bEs5OXN1qanFoMWgw9Rbj_qKdScgEiDVW5fwM_e-DbY.woff2 +0 -0
  26. package/dist/viewer/_fonts/7u0-77UfQZ7R5xCkHtH-6FcLzzYcD0xArs2lWsaXoxo-nx_kVkjHkrHGl_yt9uLKYpDnl16LRpt038O6up8FgXw.woff2 +0 -0
  27. package/dist/viewer/_fonts/8s05g7h1BsO8lFAzNqHs5fJZFxS-xwv8O45ZLDdw4Xc-0o1JXtxv_7kmP3VcvEp-9kAlLtZv249JWMmVsfIzhxw.woff2 +0 -0
  28. package/dist/viewer/_fonts/9IYWZwGkalWblbQ0qUB1NVEWKltx8MGbUCCI8A-nXvc-A42XFuaMkcGV8IU4tyjaz8jlX4w7e0oOK9ZL1W1A_tg.woff2 +0 -0
  29. package/dist/viewer/_fonts/Be-n02WlyGlCYr6AKZTu1ZLO7yH-M5nlZkD_wXnLEHI-dzPF0VM_shn45xQxjIQGDrk8A3rEcAn5G6IvnYsvdnc.woff2 +0 -0
  30. package/dist/viewer/_fonts/G1z3mcby8z4pfQp_shaJSYZuXyNpaES81jf-Uy3wFLc-QdRJEr2TP9Yyj3gppGIo3wyzXYHET_I1oHxOKv4_UBc.woff2 +0 -0
  31. package/dist/viewer/_fonts/IOQmCJk1c1X8tTiR2_xRphUddTG90WpG00y3mrL7asc-fI5Z9vM1TPimFu47KjlvcLJubuCXAUmRe99EOBGK4Jg.woff2 +0 -0
  32. package/dist/viewer/_fonts/MlNgkMyhKIDysanNTo08JXs1NKT7N3PAiE-rd67y0tk-4_8EiC-OPpJkFXcZG4fmdwz7sj_gpRAqn-822cldaKI.woff2 +0 -0
  33. package/dist/viewer/_fonts/NaeHrWP1-iMKUUbIzW8qCa662095DhNYoHJXtkNCjkM-1gqKNyA5_uizWtQDHl7DvGwhfCQZkjE87-e8v9ZSzew.woff2 +0 -0
  34. package/dist/viewer/_fonts/P-opX31986DaGyCeEVxGapeAZVhWZEmsnHrtz-8uNjk-Qdxvbv5v3sdw4jMVvggdQIwnhFnU5CSX7ZkcKlqcM5E.woff2 +0 -0
  35. package/dist/viewer/_fonts/P20rFYUuJYBG6P413-kmy1MH2c5-AHidHeOkhurVW9E-s9pky6iiS9O9L4P9FGQnIeXl7IrK7HsqmKdubOA2j4w.woff2 +0 -0
  36. package/dist/viewer/_fonts/TFWlwoCp6ug4N2WAg-6QAZ14xTmMw01biXyVG4455dI-q3iMkKdBtHvY5CwbWL9amwnIlWjCh_MBY6rJ1ZpktWQ.woff2 +0 -0
  37. package/dist/viewer/_fonts/Y7f-8GVyzqqVUZE9RGKSEwHKp-J5xG9W9JvAuAXnukE-a6vWQ8lr44WUpidIwQELsd_UxxoksjFr_7OFl0B1cj4.woff2 +0 -0
  38. package/dist/viewer/_fonts/YFhrCfizGmZCCsX1GkJqSsa1Ln3ZkYEBQx1kS5GBSNM-lnlTSm_m0Am_5BfksHFyxTS8HwzeRUIimtrJh-2-hQk.woff2 +0 -0
  39. package/dist/viewer/_fonts/abc3urfYpum3NohTJJ82tZYrJ0Qq6V1DDuV4nEN3-K8-2_2ztTmYY0L6UFJjC5ut8vWYRD-RsvXGTIbWQjKw8ig.woff2 +0 -0
  40. package/dist/viewer/_fonts/c9UOtWdvEkMdkWxin3fO_nOvZfFevXVtanKkemdlzVs-NZc_1h0ba5jh8strJX03YaVqHCE1TFVMTjG6rHlowdk.woff2 +0 -0
  41. package/dist/viewer/_fonts/csHsi_ayDY-1Bb0elJrgXc5EYv_3ZUHTjyt6t6R_hvI-2j_LO_XEAFCarGnUMAZp9mH1XcHyWmBOSOM3UU8Yh80.woff2 +0 -0
  42. package/dist/viewer/_fonts/de9Hn98X7qjvQryMTK_S5_8pcE2ixEzuPClwbeHVxAI-2R9bduNO98qcxzo2cGRCSP20RqlwtuSKwb6RYUOUHtQ.woff2 +0 -0
  43. package/dist/viewer/_fonts/fxn6Ta_PXKaftNQ6o3GFS9b6XU2VmWsDHvzQlBYv26k-RCwtZl_Z0-eqoKkgjV2Lvu8bNskZv3RiHclp-qdyFbE.woff2 +0 -0
  44. package/dist/viewer/_fonts/ib-aovnRDsdvSBzUC6Ll2tdWY2U3C9FsxsqLnPpAg18-c_nItv4f1UIuWsSuQgkfygxojtODoHxU-eKvW69FGyI.woff2 +0 -0
  45. package/dist/viewer/_fonts/iwtMiRQr9MVxkS-mqNWNDfuQrs4GB3dvByMM9ojyFHw-ExrDYapJHBuMovYABEGrabFChkrO9vAYi7UAvRk2fC8.woff2 +0 -0
  46. package/dist/viewer/_fonts/k9VNYFZ3lbLjdFOvyoe_t6P1Z4y9X5RYYVuXmoEo_ig-nTKWoqtzyKxAIKIx8JNNQ2Q8SwgTTBWZ4p5o2jmFO3k.woff2 +0 -0
  47. package/dist/viewer/_fonts/ljD0O_drjiflVTw1FPwOjK1CL1HwVPYB7us-BfZqHuQ-ZjVgBNdLadH_Dw6T1hPTCJa6wTlqofsHYwtGtzawATs.woff2 +0 -0
  48. package/dist/viewer/_fonts/oA7rp6XLB_UIP_utZxXIDlSPcMeVLGKMaeey_kAD0fo-98JsXCHs_mcC6olFARmc-2GM9H4YyxJhTUClXLaqEOU.woff2 +0 -0
  49. package/dist/viewer/_fonts/r2KASPa1NYEuoln4lN0W3EcSZ4QcjSeSmKvuJKUW_e0-EBXL59uF8lOU0BbZ0Qd0HKaqxnk9ahNM_OUahEvA2bA.woff2 +0 -0
  50. package/dist/viewer/_fonts/sZOWZh4Lseqiy1g9lJ-6sp_l7Tnfae4gGZYr6PHqLgc-NVanILUbCWR2T4cC6yna0eytAT4QEmYcMi_qN_YFwrA.woff2 +0 -0
  51. package/dist/viewer/_fonts/tHIC4jbWRecrkBLYzXeJ-l-FMVE3IC-WCOr8aeczZzk-HpEbV83Au1R7ttgKEHICBgfH9eJ1oI4aqhcwYRiyk_E.woff2 +0 -0
  52. package/dist/viewer/_fonts/uqOUEfp6GyasEjSs6mPL4xH4Ogfg9dejwyGqFvieEhQ-1DC4lhOKAtHn_hSVO1eAmsDfxgXpJii8eq16JZynm5s.woff2 +0 -0
  53. package/dist/viewer/_fonts/vSGurvFi7J9DFpc3gRh0zb7zfLGEZfPgQADV5W675RU-SOsE32TvAEDx4Ogk8IUoJ8eiJFzZUTZWzAjnjTzmlhU.woff2 +0 -0
  54. package/dist/viewer/_fonts/vijLFK-KHAfLMAJw3I00MGO7TegKZixeBpXB8P8ZNSw-CWJay_vzLuCpDiGXYEvr4DhzjKgzr8DcTgueGgkphlw.woff2 +0 -0
  55. package/dist/viewer/_fonts/vkmZkh-CHOvBXhWqyxI7y7yhtJnjEZhooZMtIOrKbdc-2IAHU0readmKJy05HSHAUr9ZfblPKy1cYnIzD6FaafQ.woff2 +0 -0
  56. package/dist/viewer/_fonts/wXrnAZG6imawmnLMrmEGDaw8OERkBjrhxtvCpdAoFtU-THRRjDiTK2YhlZWGZ4KWGQimEEJ4q90NggcMPrCWifk.woff2 +0 -0
  57. package/dist/viewer/_fonts/xJPBIvvk_Sw4KqpH43KzxcdvgIqPAswKL2-SL5mMfgk-P0mrlLOS5DRt4uVQ_yTmC-xlOBH5DV5VtMOSziFrN8U.woff2 +0 -0
  58. package/dist/viewer/_fonts/xfTORM6zMaCBLN8KEmrdAwkoRlhpJreq9od0IdnzZ0g-_9Qp95jKFav7hdhcdpsrtGsvVOKgw5NpeBgIuaa3qLg.woff2 +0 -0
  59. package/dist/viewer/_fonts/zhpX147TwsvlSAL8_vtsG77wE2r4o_uOAuyxH7pu_ro-9hIvJr5HdnrHw0ka90s0eA135TAMwiiABrhsW5rDElc.woff2 +0 -0
  60. package/dist/viewer/_fonts/zxddnekyjgM8Leg15hUgrEIp2Ny0tH_b-TRYGPmkH1o-3ppcoPOnLuSdSUDCyG_oPN72xWzFr2Pe0QIytgvDeZs.woff2 +0 -0
  61. package/dist/viewer/_nuxt/0agZip0Q.js +1 -0
  62. package/dist/viewer/_nuxt/C2YqwjgQ.js +1 -0
  63. package/dist/viewer/_nuxt/CXkZ3uUu.js +1 -0
  64. package/dist/viewer/_nuxt/DBtS0ETw.js +37 -0
  65. package/dist/viewer/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2 +0 -0
  66. package/dist/viewer/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2 +0 -0
  67. package/dist/viewer/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2 +0 -0
  68. package/dist/viewer/_nuxt/builds/latest.json +1 -0
  69. package/dist/viewer/_nuxt/builds/meta/2f5bf534-4590-4c46-b28f-8b0c1caa52df.json +1 -0
  70. package/dist/viewer/_nuxt/entry.DU06319b.css +1 -0
  71. package/dist/viewer/_nuxt/error-404.VJcZ3YVw.css +1 -0
  72. package/dist/viewer/_nuxt/error-500.BwxPsW7a.css +1 -0
  73. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2 +0 -0
  74. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff +0 -0
  75. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff +0 -0
  76. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2 +0 -0
  77. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff +0 -0
  78. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2 +0 -0
  79. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff +0 -0
  80. package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2 +0 -0
  81. package/dist/viewer/_nuxt/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  82. package/dist/viewer/_nuxt/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  83. package/dist/viewer/_nuxt/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  84. package/dist/viewer/_nuxt/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  85. package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2 +0 -0
  86. package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff +0 -0
  87. package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2 +0 -0
  88. package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff +0 -0
  89. package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2 +0 -0
  90. package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff +0 -0
  91. package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff +0 -0
  92. package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2 +0 -0
  93. package/dist/viewer/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  94. package/dist/viewer/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  95. package/dist/viewer/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  96. package/dist/viewer/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  97. package/dist/viewer/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  98. package/dist/viewer/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  99. package/dist/viewer/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  100. package/dist/viewer/brand/icons/apple-touch-icon.png +0 -0
  101. package/dist/viewer/brand/icons/businesslens-app-icon.svg +7 -0
  102. package/dist/viewer/brand/icons/businesslens-maskable-icon.svg +7 -0
  103. package/dist/viewer/brand/icons/favicon-32.png +0 -0
  104. package/dist/viewer/brand/icons/favicon.ico +0 -0
  105. package/dist/viewer/brand/icons/favicon.svg +7 -0
  106. package/dist/viewer/brand/icons/icon-1024.png +0 -0
  107. package/dist/viewer/brand/icons/icon-192.png +0 -0
  108. package/dist/viewer/brand/icons/icon-512.png +0 -0
  109. package/dist/viewer/brand/icons/marks/m10/apple-touch-icon.png +0 -0
  110. package/dist/viewer/brand/icons/marks/m10/favicon-32.png +0 -0
  111. package/dist/viewer/brand/icons/marks/m10/favicon.ico +0 -0
  112. package/dist/viewer/brand/icons/marks/m10/favicon.svg +7 -0
  113. package/dist/viewer/brand/icons/marks/m10/icon-192.png +0 -0
  114. package/dist/viewer/brand/icons/marks/m10/icon-512.png +0 -0
  115. package/dist/viewer/brand/icons/marks/m10/maskable-icon-512.png +0 -0
  116. package/dist/viewer/brand/icons/marks/m10/site.webmanifest +32 -0
  117. package/dist/viewer/brand/icons/marks/m4/apple-touch-icon.png +0 -0
  118. package/dist/viewer/brand/icons/marks/m4/favicon-32.png +0 -0
  119. package/dist/viewer/brand/icons/marks/m4/favicon.ico +0 -0
  120. package/dist/viewer/brand/icons/marks/m4/favicon.svg +14 -0
  121. package/dist/viewer/brand/icons/marks/m4/icon-192.png +0 -0
  122. package/dist/viewer/brand/icons/marks/m4/icon-512.png +0 -0
  123. package/dist/viewer/brand/icons/marks/m4/maskable-icon-512.png +0 -0
  124. package/dist/viewer/brand/icons/marks/m4/site.webmanifest +32 -0
  125. package/dist/viewer/brand/icons/marks/m7/apple-touch-icon.png +0 -0
  126. package/dist/viewer/brand/icons/marks/m7/favicon-32.png +0 -0
  127. package/dist/viewer/brand/icons/marks/m7/favicon.ico +0 -0
  128. package/dist/viewer/brand/icons/marks/m7/favicon.svg +9 -0
  129. package/dist/viewer/brand/icons/marks/m7/icon-192.png +0 -0
  130. package/dist/viewer/brand/icons/marks/m7/icon-512.png +0 -0
  131. package/dist/viewer/brand/icons/marks/m7/maskable-icon-512.png +0 -0
  132. package/dist/viewer/brand/icons/marks/m7/site.webmanifest +32 -0
  133. package/dist/viewer/brand/icons/marks/m8/apple-touch-icon.png +0 -0
  134. package/dist/viewer/brand/icons/marks/m8/favicon-32.png +0 -0
  135. package/dist/viewer/brand/icons/marks/m8/favicon.ico +0 -0
  136. package/dist/viewer/brand/icons/marks/m8/favicon.svg +8 -0
  137. package/dist/viewer/brand/icons/marks/m8/icon-192.png +0 -0
  138. package/dist/viewer/brand/icons/marks/m8/icon-512.png +0 -0
  139. package/dist/viewer/brand/icons/marks/m8/maskable-icon-512.png +0 -0
  140. package/dist/viewer/brand/icons/marks/m8/site.webmanifest +32 -0
  141. package/dist/viewer/brand/icons/maskable-icon-512.png +0 -0
  142. package/dist/viewer/brand/logo/variants/mark-10-dark.svg +4 -0
  143. package/dist/viewer/brand/logo/variants/mark-10.svg +4 -0
  144. package/dist/viewer/brand/logo/variants/mark-4-dark.svg +11 -0
  145. package/dist/viewer/brand/logo/variants/mark-4.svg +11 -0
  146. package/dist/viewer/brand/logo/variants/mark-7-dark.svg +6 -0
  147. package/dist/viewer/brand/logo/variants/mark-7.svg +6 -0
  148. package/dist/viewer/brand/logo/variants/mark-8-dark.svg +5 -0
  149. package/dist/viewer/brand/logo/variants/mark-8.svg +5 -0
  150. package/dist/viewer/brand/logo/variants/wordmark-11-dark.svg +173 -0
  151. package/dist/viewer/brand/logo/variants/wordmark-11.svg +173 -0
  152. package/dist/viewer/brand/logo/variants/wordmark-3-dark.svg +173 -0
  153. package/dist/viewer/brand/logo/variants/wordmark-3.svg +173 -0
  154. package/dist/viewer/favicon.ico +0 -0
  155. package/dist/viewer/index.html +1 -0
  156. package/dist/viewer/site.webmanifest +32 -0
  157. package/docs/actors.md +71 -0
  158. package/docs/business-rules.md +61 -0
  159. package/docs/capabilities.md +81 -0
  160. package/docs/ci.md +19 -58
  161. package/docs/cli-contribute.md +97 -0
  162. package/docs/cli-export.md +44 -0
  163. package/docs/cli-install.md +68 -0
  164. package/docs/cli-lint.md +59 -0
  165. package/docs/cli-open.md +67 -0
  166. package/docs/cli-pull.md +85 -0
  167. package/docs/cli-update.md +46 -0
  168. package/docs/cli-view.md +41 -0
  169. package/docs/cli.md +39 -169
  170. package/docs/domains.md +62 -0
  171. package/docs/experiences.md +70 -0
  172. package/docs/from-a-blueprint.md +46 -0
  173. package/docs/from-an-idea.md +39 -0
  174. package/docs/from-your-repo.md +51 -0
  175. package/docs/index.md +39 -31
  176. package/docs/installation.md +53 -0
  177. package/docs/integration.md +30 -0
  178. package/docs/interfaces.md +71 -0
  179. package/docs/journeys.md +75 -0
  180. package/docs/product-model.md +107 -0
  181. package/docs/product.md +76 -0
  182. package/docs/references.md +107 -0
  183. package/docs/scenarios.md +86 -0
  184. package/docs/screens.md +111 -0
  185. package/docs/skill-businesslens-ideate.md +22 -0
  186. package/docs/skill-businesslens-map.md +25 -0
  187. package/docs/skill-businesslens-verify.md +75 -0
  188. package/docs/skills.md +23 -50
  189. package/docs/the-loop.md +48 -0
  190. package/docs/with-plan-mode.md +24 -0
  191. package/docs/with-sdd.md +40 -0
  192. package/layers/nuxt/report-viewer/README.md +61 -0
  193. package/layers/nuxt/report-viewer/app/assets/product-logo-placeholder.svg +5 -0
  194. package/layers/nuxt/report-viewer/app/assets/report-structure.css +4 -0
  195. package/layers/nuxt/report-viewer/app/components/BusinessLensProductLogo.vue +33 -0
  196. package/layers/nuxt/report-viewer/app/components/BusinessLensReportViewer.vue +267 -0
  197. package/layers/nuxt/report-viewer/app/utils/report-view-model.ts +12 -0
  198. package/layers/nuxt/report-viewer/nuxt.config.ts +12 -0
  199. package/layers/nuxt/theme/app/app.config.ts +14 -0
  200. package/layers/nuxt/theme/app/assets/theme.css +111 -0
  201. package/layers/nuxt/theme/nuxt.config.ts +34 -0
  202. package/layers/nuxt/theme-lab/app/assets/theme-lab.css +177 -0
  203. package/layers/nuxt/theme-lab/app/components/BusinessLensBrand.vue +84 -0
  204. package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabBackgroundRow.vue +118 -0
  205. package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabBar.vue +33 -0
  206. package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabDivider.vue +3 -0
  207. package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabLogoRow.vue +119 -0
  208. package/layers/nuxt/theme-lab/app/composables/useBusinessLensBackgroundVariant.ts +69 -0
  209. package/layers/nuxt/theme-lab/app/composables/useBusinessLensLogoVariant.ts +78 -0
  210. package/layers/nuxt/theme-lab/app/composables/useBusinessLensThemeLab.ts +27 -0
  211. package/layers/nuxt/theme-lab/app/composables/useBusinessLensThemeLabHead.ts +25 -0
  212. package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabMarks.d.mts +11 -0
  213. package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabMarks.mjs +29 -0
  214. package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabVariants.ts +132 -0
  215. package/layers/nuxt/theme-lab/nuxt.config.ts +28 -0
  216. package/layers/nuxt/theme-lab/public/brand/icons/apple-touch-icon.png +0 -0
  217. package/layers/nuxt/theme-lab/public/brand/icons/businesslens-app-icon.svg +7 -0
  218. package/layers/nuxt/theme-lab/public/brand/icons/businesslens-maskable-icon.svg +7 -0
  219. package/layers/nuxt/theme-lab/public/brand/icons/favicon-32.png +0 -0
  220. package/layers/nuxt/theme-lab/public/brand/icons/favicon.ico +0 -0
  221. package/layers/nuxt/theme-lab/public/brand/icons/favicon.svg +7 -0
  222. package/layers/nuxt/theme-lab/public/brand/icons/icon-1024.png +0 -0
  223. package/layers/nuxt/theme-lab/public/brand/icons/icon-192.png +0 -0
  224. package/layers/nuxt/theme-lab/public/brand/icons/icon-512.png +0 -0
  225. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/apple-touch-icon.png +0 -0
  226. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon-32.png +0 -0
  227. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon.ico +0 -0
  228. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon.svg +7 -0
  229. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/icon-192.png +0 -0
  230. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/icon-512.png +0 -0
  231. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/maskable-icon-512.png +0 -0
  232. package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/site.webmanifest +32 -0
  233. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/apple-touch-icon.png +0 -0
  234. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon-32.png +0 -0
  235. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon.ico +0 -0
  236. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon.svg +14 -0
  237. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/icon-192.png +0 -0
  238. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/icon-512.png +0 -0
  239. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/maskable-icon-512.png +0 -0
  240. package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/site.webmanifest +32 -0
  241. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/apple-touch-icon.png +0 -0
  242. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon-32.png +0 -0
  243. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon.ico +0 -0
  244. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon.svg +9 -0
  245. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/icon-192.png +0 -0
  246. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/icon-512.png +0 -0
  247. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/maskable-icon-512.png +0 -0
  248. package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/site.webmanifest +32 -0
  249. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/apple-touch-icon.png +0 -0
  250. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon-32.png +0 -0
  251. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon.ico +0 -0
  252. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon.svg +8 -0
  253. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/icon-192.png +0 -0
  254. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/icon-512.png +0 -0
  255. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/maskable-icon-512.png +0 -0
  256. package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/site.webmanifest +32 -0
  257. package/layers/nuxt/theme-lab/public/brand/icons/maskable-icon-512.png +0 -0
  258. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-10-dark.svg +4 -0
  259. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-10.svg +4 -0
  260. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-4-dark.svg +11 -0
  261. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-4.svg +11 -0
  262. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-7-dark.svg +6 -0
  263. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-7.svg +6 -0
  264. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-8-dark.svg +5 -0
  265. package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-8.svg +5 -0
  266. package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-11-dark.svg +173 -0
  267. package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-11.svg +173 -0
  268. package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-3-dark.svg +173 -0
  269. package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-3.svg +173 -0
  270. package/layers/nuxt/theme-lab/public/favicon.ico +0 -0
  271. package/layers/nuxt/theme-lab/public/site.webmanifest +32 -0
  272. package/package.json +84 -4
  273. package/plans/shared-theme-lab.md +136 -0
  274. package/skills/businesslens-ideate/SKILL.md +105 -0
  275. package/skills/businesslens-ideate/agents/openai.yaml +4 -0
  276. package/skills/businesslens-ideate/references/format.md +121 -0
  277. package/skills/businesslens-ideate/references/planning-rubric.md +57 -0
  278. package/skills/businesslens-ideate/scripts/run-businesslens.mjs +121 -0
  279. package/skills/businesslens-map/SKILL.md +97 -0
  280. package/skills/businesslens-map/agents/openai.yaml +4 -0
  281. package/skills/businesslens-map/references/format.md +121 -0
  282. package/skills/businesslens-map/references/mapping-rubric.md +59 -0
  283. package/skills/{businesslens-init → businesslens-map}/scripts/inventory-repository.mjs +9 -14
  284. package/skills/businesslens-map/scripts/run-businesslens.mjs +121 -0
  285. package/skills/businesslens-verify/SKILL.md +159 -0
  286. package/skills/businesslens-verify/agents/openai.yaml +4 -0
  287. package/skills/businesslens-verify/references/build-handoff.md +22 -0
  288. package/skills/businesslens-verify/references/format.md +129 -0
  289. package/skills/businesslens-verify/references/verification-rubric.md +61 -0
  290. package/skills/businesslens-verify/scripts/run-businesslens.mjs +121 -0
  291. package/docs/format.md +0 -264
  292. package/docs/pdd-and-sdd.md +0 -35
  293. package/docs/quickstart.md +0 -71
  294. package/skills/businesslens-deep-dive/SKILL.md +0 -47
  295. package/skills/businesslens-deep-dive/agents/openai.yaml +0 -4
  296. package/skills/businesslens-deep-dive/references/analysis-rubric.md +0 -10
  297. package/skills/businesslens-deep-dive/references/evidence-policy.md +0 -8
  298. package/skills/businesslens-deep-dive/references/format.md +0 -49
  299. package/skills/businesslens-doctor/SKILL.md +0 -42
  300. package/skills/businesslens-doctor/agents/openai.yaml +0 -4
  301. package/skills/businesslens-init/SKILL.md +0 -88
  302. package/skills/businesslens-init/agents/openai.yaml +0 -4
  303. package/skills/businesslens-init/references/analysis-rubric.md +0 -24
  304. package/skills/businesslens-init/references/evidence-policy.md +0 -12
  305. package/skills/businesslens-init/references/format.md +0 -209
  306. package/skills/businesslens-publish/SKILL.md +0 -87
  307. package/skills/businesslens-publish/agents/openai.yaml +0 -4
  308. package/skills/businesslens-publish/scripts/run-businesslens.mjs +0 -62
  309. package/skills/businesslens-sync/SKILL.md +0 -48
  310. package/skills/businesslens-sync/agents/openai.yaml +0 -4
  311. package/skills/businesslens-sync/references/evidence-policy.md +0 -8
  312. package/skills/businesslens-sync/references/format.md +0 -19
  313. package/skills/businesslens-validate/SKILL.md +0 -50
  314. package/skills/businesslens-validate/agents/openai.yaml +0 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,262 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.7.1] - 2026-08-04
11
+
12
+ ### Fixed
13
+
14
+ - Compile the public `businesslens/theme-lab/variants` subpath into `dist` so
15
+ plain Node consumers such as Playwright can import it from `node_modules`
16
+ without relying on unsupported TypeScript stripping.
17
+
18
+ ## [0.7.0] - 2026-08-04
19
+
20
+ ### Added
21
+
22
+ - `businesslens view` renders the current Product Model privately on localhost,
23
+ recompiles automatically after debounced source edits, streams revisions to
24
+ open browsers, retains the last valid report during lint errors, writes no
25
+ generated report, and opens no network listener beyond `127.0.0.1`.
26
+ - Root `businesslens` exports for the pure Product Report view-model projection,
27
+ the shared Nuxt report renderer, and a sibling BusinessLens-wide theme Layer,
28
+ so hosts share UI without a second public npm package.
29
+ - An opt-in shared Nuxt theme-lab Layer for auditioning the same backgrounds,
30
+ marks, lockups, and favicon families across the landing site and local report
31
+ viewer without promoting undecided presentation into the stable theme.
32
+ - An optional `.businesslens/logo.svg` Product logo used by the local viewer and
33
+ Blueprint presentation.
34
+ - First-class Interface entities for supported Product interaction contracts,
35
+ with exact Interface–Experience availability across Capabilities, Journeys,
36
+ Screens, Scenarios, and Business Rules.
37
+ - Required Actor classification as `person|system` and `external|internal`.
38
+ - Platform-neutral Screen entities for meaningful web and mobile product views,
39
+ including product-visible information, actions, states, capability boundaries,
40
+ relationships, and optional public routes or deep links.
41
+ - Universal References on every semantic entity, with independent artifact
42
+ kinds (`code|spec|proposal|doc|adr|visual|research`) and attachment roles
43
+ (`intent|implementation|context`). Referenced content stays outside the
44
+ Product Model and never replaces its prose or proves alignment.
45
+ - `businesslens-map` for initial adoption, scoped remapping, and deliberate
46
+ Product Model coverage expansion without executing target code.
47
+ - `businesslens-verify` as the single post-build invocation. It classifies
48
+ model/code gaps, negotiates only authority decisions, automatically runs
49
+ internal intent-resolution or scoped-mapping phases, hands code corrections
50
+ to a harness-injected builder, and re-verifies until aligned or blocked.
51
+ - `report only` verification mode, an explicit missing-builder handoff, and an
52
+ unchanged-gap stopping rule. Verification findings are re-derived rather than
53
+ persisted in a receipt or ledger.
54
+ - Accepted decisions covering [repository-owned files](./adr/0004-write-nothing-outside-businesslens.md),
55
+ [unified References](./adr/0008-unified-references-and-portable-reports.md),
56
+ [non-persisted verification](./adr/0006-verification-is-not-persisted.md),
57
+ and the [three-skill boundary](./adr/0007-three-skills-and-one-verification-loop.md).
58
+
59
+ ### Changed
60
+
61
+ - The CLI now uses a real hierarchical command parser with concise root help,
62
+ command-specific options, nested Blueprint help, standard `-h`/`-V` flags,
63
+ strict option ownership, and usage validation before command execution.
64
+ - `-c, --cwd` now always means "run from this directory". A model directly in the
65
+ current directory wins over the Git-root model whether or not `--cwd .` was
66
+ typed explicitly.
67
+ - **Breaking.** A catalog Blueprint has no separate `blueprint.yaml`. Product
68
+ ID, title, summary, description, category, tags, authors, license, and report
69
+ content come from `product.md`; visual identity comes only from
70
+ `.businesslens/logo.svg`, and catalog operational state remains outside the
71
+ Product Model.
72
+ - **Breaking.** Product Report v7 is the only accepted report contract. It
73
+ carries portable Product identity and attribution, uses `summary` for the
74
+ short Product description, and renames computed entity totals to `counts`.
75
+ - **Breaking.** `blueprint contribute` no longer accepts `--slug`; the Product
76
+ ID is the canonical contribution directory, branch suffix, catalog slug, and
77
+ pull name.
78
+
79
+ - **Breaking.** Folder schema 3 and Product Report v7 are now the only accepted
80
+ formats. Schema 1/2, Product Report v4/v5/v6, and their compatibility paths are
81
+ removed rather than migrated.
82
+ - **Breaking.** Feature is renamed Capability throughout the folder format,
83
+ parser, SDK, CLI, skills, docs, fixtures, and Blueprint. `features/` is
84
+ rejected; Capabilities live in `capabilities/`.
85
+ - **Breaking.** Experiences now declare their Interfaces and no longer carry
86
+ `exit`. Journeys use Capabilities and exact availability, may cross Domains,
87
+ and no longer declare one Domain. Business Rules exclusively own Rule scope.
88
+ - Domains are optional Capability groupings. Screens remain optional and now
89
+ use exact availability without embedding visual evidence.
90
+ - The bundled Content & Feed Reader Blueprint now demonstrates the complete
91
+ model, including cross-platform Screens, product states, mobile deep links,
92
+ and external visual and research references.
93
+ - **Breaking.** The public skill set is exactly `businesslens-map`,
94
+ `businesslens-ideate`, and `businesslens-verify`. Ideate also handles a narrow
95
+ already-decided verification handoff without reopening broad brainstorming.
96
+ - **Breaking.** `businesslens validate` is now `businesslens lint`. The old
97
+ spelling is refused with exit code 2 and a replacement message; it is not an
98
+ alias. Lint output contains only `ok`, `errors`, `warnings`, and `counts`—no
99
+ branch situation or authority inference.
100
+ - **Breaking.** `references` replaces both `codeRefs` and `links`. Reference
101
+ records are strict, duplicate targets fail lint, code targets require tracked
102
+ files, and missing local non-code targets warn.
103
+ - `coverage.status` now describes model breadth only: `draft` while the model
104
+ itself is under review, `partial` with known unmapped areas, and `complete`
105
+ when intended product scope is modeled. A complete model may have zero
106
+ References.
107
+ - **Breaking.** Product Report v7 declares a `workspace` or `portable` Reference
108
+ profile. Portable projection replaces evidence-redaction terminology and
109
+ keeps only HTTP(S) intent/context References.
110
+ - **Breaking.** Coverage no longer contains counts, mapped entities, or a
111
+ redaction flag. Entity totals live only in Counts; Coverage is independent
112
+ from References. Blueprint open and pull preserve model breadth while
113
+ removing repository-local Coverage source areas.
114
+ - Every model creation path carries canonical orientation in
115
+ `.businesslens/README.md`. BusinessLens still never writes target-root
116
+ `AGENTS.md`, `CLAUDE.md`, or README files.
117
+ - Canonical report expansion now owns that orientation file for `open`, `pull`,
118
+ and `contribute`; Blueprint contributions accept every valid model-breadth
119
+ Coverage status and publish no source-repository provenance.
120
+ - Lint now requires the complete committed model shell (`README.md` plus a
121
+ `.gitignore` covering `build/` and `cache/`), and CLI argument, provider,
122
+ scope, slug, and catalog-origin errors consistently exit with usage code 2.
123
+ - Documentation now teaches three starting doors and one ongoing loop:
124
+ `ideate → injected build → verify (including final lint) → merge`. Map is explicitly not a
125
+ daily maintenance command, and lint is explicitly not semantic verification.
126
+
127
+ ### Fixed
128
+
129
+ - Product logos are parsed as namespace-aware XML and restricted to a static SVG
130
+ allowlist, closing namespace-prefix and escaped-reference paths around the
131
+ active-content checks. Logo responses from the local viewer also carry a
132
+ script-free sandbox CSP.
133
+ - `blueprint pull` retrieves the optional logo from the selected catalog's
134
+ same-origin endpoint, so custom catalogs and commit-pinned reports cannot be
135
+ paired with the current logo from the official PDD `main` branch.
136
+ - Releases tag an already prepared package and changelog exactly once; the tag
137
+ push is now the single automatic publication trigger.
138
+
139
+ ### Removed
140
+
141
+ - `businesslens-init`, `businesslens-sync`, `businesslens-doctor`, and
142
+ `businesslens-deep-dive`. Their useful scopes now belong to map or verify.
143
+ - The `businesslens-contribute` skill. Catalog contribution remains the
144
+ deterministic `businesslens blueprint contribute` CLI command.
145
+ - Git branch-state routing from lint and the internal `branch-state` module.
146
+
147
+ ## [0.6.0] - 2026-07-31
148
+
149
+ BusinessLens consolidates onto one site. The Platform is retired; the Blueprint
150
+ catalog moves to `businesslens.io` and becomes anonymous to browse and to pull.
151
+
152
+ The previous published npm version is `0.5.0`. An intermediate draft of this
153
+ release included authenticated Platform workflows, but it was never published;
154
+ the final `0.6.0` replaces those workflows with the anonymous catalog and the
155
+ pull-request contribution flow described below.
156
+
157
+ ### Added
158
+
159
+ - `businesslens open <report>` expands a local Product Report back into a
160
+ canonical `.businesslens/` Product Model, making `export` and `open`
161
+ semantic inverses.
162
+ - `businesslens pull <blueprint-name>` anonymously retrieves a Blueprint and
163
+ expands it without a user-facing `report.json` download. It writes a
164
+ greenfield block into `AGENTS.md` and sends
165
+ `user-agent: businesslens/<version>` to the catalog.
166
+ - **Features** and **business rules** are first-class product-model entities
167
+ with their own directories, IDs, relationships, and validation rules.
168
+ - A `businesslens/report` library entry point exporting the Product Report
169
+ schema, its cross-entity validator, and the canonical digest. It depends only
170
+ on `zod` and never loads the CLI.
171
+ - `redactSourceEvidence` in the `businesslens/report` contract strips every
172
+ repository reference from a report before it leaves its owning workspace —
173
+ `codeRefs`, repository `entryPoints`, repository-relative `links`, and
174
+ `coverage.sourceAreas`. Product-facing routes and HTTP(S) URLs are kept.
175
+ `coverage.mapped` remains a model-quality signal, and
176
+ `coverage.evidenceRedacted` records both that those counts describe the
177
+ origin repository and that validation must reject any repository path still
178
+ present.
179
+ - `businesslens-plan` and `businesslens-verify` skills for planning in the
180
+ Product Model and verifying implementation evidence before merge.
181
+ - `businesslens-implement` builds the software a Product Model describes, with
182
+ its scenarios as the acceptance contract.
183
+ - `businesslens-ideate` proposes candidate product directions as a shortlist.
184
+ It is the only skill that never writes to the model.
185
+ - Draft greenfield product models, with missing-evidence warnings during
186
+ planning and support for exporting planned Product Model Versions before
187
+ implementation is complete.
188
+ - `blueprints/` — the Blueprint source layout, with a `blueprint.yaml` manifest
189
+ and MIT-licensed content.
190
+ - `blueprints:check`, wired into `verify`, parses every manifest, builds every
191
+ Blueprint, and rejects any that carries source evidence. It does not trust
192
+ `contribute`, because anyone can open a pull request by hand.
193
+ - `blueprints:publish` pushes built Blueprints to the catalog.
194
+ - `resolveModelRoot` allows the model to live outside the Git root or without a
195
+ repository, adding general monorepo support.
196
+ - A structured open-source documentation section with tutorials, individual
197
+ skill pages, and deterministic navigation frontmatter.
198
+ - `docs/terminology.md` defines every product-model entity and separates the
199
+ terms that are easy to confuse.
200
+
201
+ ### Changed
202
+
203
+ - **Breaking.** `businesslens publish` is now `businesslens contribute`, and
204
+ opens a pull request against `businesslens/pdd` through the `gh` CLI rather
205
+ than submitting to a Platform. No API key is involved. The model in the pull
206
+ request is regenerated from a redacted report, so it carries no source paths
207
+ and is byte-identical to what `pull` produces.
208
+ - **Breaking.** `businesslens build` is now `businesslens export`. `build` still
209
+ works and warns; it will be removed after 0.6.x.
210
+ - `export` emits a source-free **Product Report v4** at
211
+ `.businesslens/build/report.json`, replacing the portable v3 `project.json`.
212
+ The report carries no repository URL, commit, branch, or workspace metadata.
213
+ - **Breaking.** `.businesslens/` is now called the **Product Model** throughout
214
+ the CLI, docs, and skills. "Product map" is reserved for a visual or
215
+ navigable view of that model. Draft coverage is an evidence state and no
216
+ longer implies a reusable Blueprint.
217
+ - Product Report validation rejects content that cannot round-trip into
218
+ canonical Markdown and inconsistent mapped-coverage counts. Product Model
219
+ validation continues to reject non-draft behavioral claims without evidence.
220
+ - `--catalog` defaults to `https://businesslens.io` and accepts any origin.
221
+ Precedence is `--catalog`, `BUSINESSLENS_CATALOG_URL`, then the default.
222
+ - `businesslens-publish` is now `businesslens-contribute`.
223
+ - Skill runners pin the CLI to the version the skills were installed from rather
224
+ than resolving the latest published version, which could validate a model
225
+ against an older published format.
226
+
227
+ ### Fixed
228
+
229
+ - Report expansion is idempotent. `open` appended its coverage limitation
230
+ unconditionally, so every open/pull cycle gained another copy and broke the
231
+ guarantee that a pulled Blueprint matches what the catalog holds.
232
+ - Docs dispatch sends an immutable commit-pinned revision to the landing
233
+ pipeline ([#2](https://github.com/businesslens/pdd/pull/2)).
234
+
235
+ ## [0.5.0] - 2026-07-26
236
+
237
+ ### Added
238
+
239
+ - `build` and `publish` CLI commands, the `businesslens-publish` skill with its
240
+ isolated runner, and the CI publishing recipe
241
+ ([#1](https://github.com/businesslens/pdd/pull/1)).
242
+
243
+ ## [0.4.0] - 2026-07-26
244
+
245
+ Initial public launch of the repository.
246
+
247
+ ### Added
248
+
249
+ - CLI: `install`, `update`, and `validate` commands.
250
+ - Agent skills: `businesslens-init`, `businesslens-sync`,
251
+ `businesslens-deep-dive`, `businesslens-validate`, and
252
+ `businesslens-doctor`.
253
+ - The `.businesslens/` product-map format and its contract in
254
+ `docs/format.md`.
255
+ - Claude plugin manifest and marketplace entry.
256
+
257
+ [Unreleased]: https://github.com/businesslens/pdd/compare/v0.7.1...HEAD
258
+ [0.7.1]: https://github.com/businesslens/pdd/compare/v0.7.0...v0.7.1
259
+ [0.7.0]: https://github.com/businesslens/pdd/compare/v0.6.0...v0.7.0
260
+ [0.6.0]: https://github.com/businesslens/pdd/compare/v0.5.0...v0.6.0
261
+ [0.5.0]: https://github.com/businesslens/pdd/compare/v0.4.0...v0.5.0
262
+ [0.4.0]: https://github.com/businesslens/pdd/releases/tag/v0.4.0
package/README.md CHANGED
@@ -1,18 +1,29 @@
1
1
  # BusinessLens
2
2
 
3
- **Product-Driven Design for coding agents.** BusinessLens builds a
4
- Git-tracked product map in `.businesslens/`: who the product serves, what they
5
- accomplish, and where the code proves it.
3
+ [![npm](https://img.shields.io/npm/v/businesslens)](https://www.npmjs.com/package/businesslens)
4
+ [![Check](https://github.com/businesslens/pdd/actions/workflows/check.yml/badge.svg)](https://github.com/businesslens/pdd/actions/workflows/check.yml)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
6
6
 
7
- The map is Markdown, reviewable in pull requests, and useful without a hosted
8
- service.
7
+ **Product-Driven Development for coding agents.** BusinessLens keeps intended
8
+ product behavior in a Git-tracked `.businesslens/` Product Model: who the
9
+ product serves, what they accomplish, and which rules must remain true.
10
+
11
+ The model is Markdown, reviewable in pull requests, and useful without a hosted
12
+ service. `businesslens lint` checks its structure. The `businesslens-verify`
13
+ skill performs the separate semantic comparison with code and owns the
14
+ resolution loop.
9
15
 
10
16
  ```text
11
17
  .businesslens/
18
+ ├── README.md
12
19
  ├── product.md
13
20
  ├── actors/
21
+ ├── interfaces/
14
22
  ├── experiences/
15
- ├── domains/
23
+ ├── screens/ # optional product views
24
+ ├── domains/ # optional organization
25
+ ├── capabilities/
26
+ ├── business-rules/
16
27
  ├── journeys/<id>/journey.md
17
28
  │ └── scenarios/<id>.md
18
29
  └── coverage.md
@@ -20,129 +31,123 @@ service.
20
31
 
21
32
  ## Getting started
22
33
 
23
- ### 1. Install the skills
24
-
25
- Run this in the repository you want to map:
34
+ Install the skills:
26
35
 
27
36
  ```bash
28
- npx businesslens@latest install
37
+ npx businesslens install
29
38
  ```
30
39
 
31
- The installer detects supported AI harnesses, lets you customize the
32
- selection, asks for project or global scope, and installs only the
33
- BusinessLens skills.
34
-
35
- For automated setup:
40
+ Then choose one starting door:
36
41
 
37
- ```bash
38
- npx businesslens@latest install \
39
- --providers claude,codex,cursor \
40
- --scope project \
41
- --yes
42
- ```
42
+ - **Existing product** — `/businesslens-map` creates the model from established
43
+ repository behavior.
44
+ - **Blank repository** — `/businesslens-ideate` decides and authors the product
45
+ before implementation.
46
+ - **Blueprint** — `npx businesslens blueprint pull <name>` opens a
47
+ reviewed starting model.
43
48
 
44
- ### 2. Build the map in your AI harness
49
+ Codex users invoke skills with `$`, for example `$businesslens-map`.
45
50
 
46
- Invoke the initialization skill:
51
+ ## The ongoing loop
47
52
 
48
53
  ```text
49
- /businesslens-init
54
+ /businesslens-ideate guest checkout
55
+ ↓ approved Product Model delta
56
+ your injected plan / build flow
57
+ ↓ implementation
58
+ /businesslens-verify this branch
59
+ ↓ automatically resolve gaps, re-check, and run final lint
60
+ merge
50
61
  ```
51
62
 
52
- Codex users can invoke the same skill as `$businesslens-init`. The skill
53
- inspects the repository without executing its application, authors the full
54
- map, installs the managed `AGENTS.md` guidance, and validates the result.
55
-
56
- ### 3. Review and commit
63
+ You invoke verify once. When it finds a gap, it groups the authority decision
64
+ and routes automatically: update approved model meaning through its internal
65
+ ideation protocol, map an absent established area, or hand an acceptance packet
66
+ to the builder supplied by your harness. It re-verifies after every change and
67
+ stops explicitly when blocked. Its completion report includes final structural
68
+ lint, so no second skill or command is required to finish the loop. Use `report
69
+ only` to disable all writes and delegation.
57
70
 
58
- Review `.businesslens/`, then commit its authored files. Generated cache files
59
- stay ignored.
71
+ `map` is not daily maintenance. Use it for adoption, a deliberately untrusted
72
+ area, or coverage expansion. Use `verify` after changes, refactors, suspected
73
+ drift, before release, or for a named/full current-state audit.
60
74
 
61
- ## Terminal or agent?
62
-
63
- BusinessLens has two deliberate surfaces:
75
+ ## Terminal and agent surfaces
64
76
 
65
77
  | Where | Command | Purpose |
66
78
  | --- | --- | --- |
67
- | Terminal | `npx businesslens install` | Install the agent skills |
79
+ | Terminal | `npx businesslens install` | Install the three skills |
68
80
  | Terminal | `npx businesslens update` | Refresh managed skill installations |
69
- | Terminal | `npx businesslens validate` | Deterministically validate the map |
70
- | Terminal | `npx businesslens build` | Compile the map into the portable project document |
71
- | Terminal | `npx businesslens publish` | Submit the map to the platform as a commit-pinned snapshot |
72
- | AI harness | `businesslens-init` | Build the initial map |
73
- | AI harness | `businesslens-sync` | Update the map after behavior changes |
74
- | AI harness | `businesslens-deep-dive` | Expand one journey or experience |
75
- | AI harness | `businesslens-validate` | Validate the map and explain every result |
76
- | AI harness | `businesslens-doctor` | Diagnose validation, drift, and coverage |
77
- | AI harness | `businesslens-publish` | Publish the map to the platform on explicit request |
78
-
79
- The installer never creates `.businesslens/` or modifies `AGENTS.md`. Those
80
- require repository analysis and belong to the initialization skill.
81
-
82
- ## Skills
83
-
84
- | Skill | Use it when |
85
- | --- | --- |
86
- | `businesslens-init` | Adopting BusinessLens or rebuilding an incomplete map |
87
- | `businesslens-sync` | Code changes affected product behavior |
88
- | `businesslens-deep-dive` | One journey or experience needs exhaustive coverage |
89
- | `businesslens-validate` | The map needs a read-only deterministic check |
90
- | `businesslens-doctor` | The map fails validation, looks stale, or needs a health report |
91
- | `businesslens-publish` | The user explicitly wants the map on the platform |
92
-
93
- Every skill is self-contained and follows the open Agent Skills folder format.
94
- The CLI currently supports Claude Code, Codex, Cursor, Gemini CLI, and GitHub
95
- Copilot installation paths.
96
-
97
- `businesslens-validate` is the read-only agent interface to the deterministic
98
- CLI validator. `businesslens-doctor` goes further: it investigates drift,
99
- coverage, and hygiene, and can repair problems when explicitly requested.
100
-
101
- Claude Code plugin users may alternatively install from this repository's
102
- marketplace manifest. The standalone CLI remains the primary installation
103
- experience.
104
-
105
- ## Keep the map current
106
-
107
- 1. Before changing behavior, read the relevant experiences, journeys, and
108
- scenarios.
109
- 2. Build against the repository's SDD change when one exists.
110
- 3. Invoke `businesslens-sync` after behavior changes.
111
- 4. Run `npx businesslens validate`.
112
-
113
- PDD records what **is**. OpenSpec, spec-kit, and other SDD systems prescribe
114
- what **will change**. BusinessLens links that intent without copying it. See
115
- [PDD and SDD](./docs/pdd-and-sdd.md).
116
-
117
- ## Updating the skills
118
-
119
- ```bash
120
- npx businesslens@latest update
121
- ```
122
-
123
- Update discovers BusinessLens-managed installations through ownership markers
124
- and refreshes only those skill directories. It does not touch `.businesslens/`
125
- or `AGENTS.md`.
81
+ | Terminal | `npx businesslens lint` | Check Product Model structure; no semantic claim |
82
+ | Terminal | `npx businesslens view` | View the current Product Model privately on localhost |
83
+ | Terminal | `npx businesslens blueprint export` | Compile the model into a source-free Blueprint |
84
+ | Terminal | `npx businesslens blueprint pull <name>` | Pull a catalog Blueprint |
85
+ | Terminal | `npx businesslens blueprint open <report>` | Expand a local Blueprint |
86
+ | Terminal | `npx businesslens blueprint contribute` | Propose a Blueprint by pull request |
87
+ | AI harness | `businesslens-map` | Map established repository behavior |
88
+ | AI harness | `businesslens-ideate` | Decide intended behavior and write approved meaning |
89
+ | AI harness | `businesslens-verify` | Verify and automatically resolve model/code gaps |
90
+
91
+ Catalog contribution stays in the CLI; there is no contribution skill.
92
+
93
+ ## Product Model semantics
94
+
95
+ - `references` optionally attach intent, implementation, or context artifacts
96
+ to any semantic entity. They are navigation and supporting material, not
97
+ proof or verification receipts.
98
+ - `coverage.status` describes model breadth: `draft` while the model itself is
99
+ under review, `partial` with known unmapped areas, and `complete` when the
100
+ intended product scope is modeled.
101
+ - A complete model may contain zero References.
102
+ - A Product may expose several Interfaces—such as web, mobile, CLI, and a
103
+ supported API—without being classified as one of those delivery forms.
104
+ - Experiences are coherent usage contexts across Interfaces; exact
105
+ Interface–Experience availability says where behavior is promised.
106
+ - Domains are optional Capability groupings, and Journeys may cross them.
107
+ - Screens are optional platform-neutral product views. Screenshots and other
108
+ visuals remain external References, not model assets or proof.
109
+ - `lint` checks format, required content, relationships, Reference grammar, and
110
+ tracked code-reference paths. `verify` checks meaning against current code.
111
+
112
+ Every model creation path writes `.businesslens/README.md`. BusinessLens never
113
+ writes target `AGENTS.md`, `CLAUDE.md`, or root README files.
126
114
 
127
115
  ## Documentation
128
116
 
129
- - [Introduction](./docs/index.md)
130
- - [Quickstart](./docs/quickstart.md)
131
- - [`.businesslens/` format](./docs/format.md)
132
- - [CLI reference](./docs/cli.md)
133
- - [Skills reference](./docs/skills.md)
134
- - [CI validation and publishing](./docs/ci.md)
135
- - [PDD and SDD](./docs/pdd-and-sdd.md)
117
+ - [Introduction](./docs/index.md) · [Installation](./docs/installation.md) ·
118
+ [Development loop](./docs/the-loop.md)
119
+ - Start [from your repo](./docs/from-your-repo.md),
120
+ [from a Blueprint](./docs/from-a-blueprint.md), or
121
+ [from an idea](./docs/from-an-idea.md)
122
+ - [Product Model](./docs/product-model.md) ·
123
+ [References](./docs/references.md)
124
+ - [Skills](./docs/skills.md) · [CLI](./docs/cli.md) ·
125
+ [CI/CD](./docs/ci.md)
126
+ - [Format contract](./spec/format.md)
127
+
128
+ ## Nuxt layers
129
+
130
+ The package also exposes separately composable Nuxt layers:
131
+
132
+ - `businesslens/nuxt/report-viewer` renders a Product Report without owning its
133
+ host navigation or page shell.
134
+ - `businesslens/nuxt/theme` provides the stable BusinessLens palette, type, and
135
+ semantic UI foundation.
136
+ - `businesslens/nuxt/theme-lab` extends that stable theme with the shared,
137
+ opt-in background and brand experiments used by the landing site and local
138
+ report viewer. Its ownership and promotion rules are recorded in
139
+ [`plans/shared-theme-lab.md`](./plans/shared-theme-lab.md).
136
140
 
137
141
  ## Safety
138
142
 
139
- - Skills inspect target repositories statically; they do not run target code.
140
- - Installation refuses to overwrite unowned `businesslens-*` directories
141
- unless `--force` is explicit.
142
- - Updates replace only artifacts marked as BusinessLens-managed.
143
- - No platform connection or publishing occurs during installation or mapping;
144
- publishing happens only through the explicit `publish` command or the
145
- `businesslens-publish` skill.
143
+ - BusinessLens analysis phases inspect untrusted repositories without executing
144
+ target code. A separately injected builder may run normal project checks under
145
+ its own permissions.
146
+ - Installation refuses to overwrite unowned skill directories unless `--force`
147
+ is explicit; update touches only marked installations.
148
+ - Nothing submits model data except the explicit
149
+ `businesslens blueprint contribute` command.
150
+ - No command publishes, tags, or pushes implicitly.
146
151
 
147
152
  ## License
148
153
 
@@ -0,0 +1,39 @@
1
+ //#region layers/nuxt/theme-lab/app/utils/businesslensThemeLabVariants.d.ts
2
+ interface BusinessLensBackgroundVariant {
3
+ /** Value written to `<html data-bg-light>` / `<html data-bg-dark>`. */
4
+ id: string;
5
+ name: string;
6
+ tagline: string;
7
+ /** Preview fill for the switcher chip — mirrors the CSS treatment. */
8
+ preview: string;
9
+ /** Browser chrome color used while this variant is active. */
10
+ themeColor: string;
11
+ }
12
+ declare const BUSINESSLENS_LIGHT_BACKGROUNDS: BusinessLensBackgroundVariant[];
13
+ declare const BUSINESSLENS_DARK_BACKGROUNDS: BusinessLensBackgroundVariant[];
14
+ declare const BUSINESSLENS_DEFAULT_LIGHT_BACKGROUND = "l4";
15
+ declare const BUSINESSLENS_DEFAULT_DARK_BACKGROUND = "d1";
16
+ declare function findBusinessLensBackground(list: BusinessLensBackgroundVariant[], id: string | null | undefined, fallback: string): BusinessLensBackgroundVariant;
17
+ type BusinessLensLogoDisplay = 'mark' | 'lockup';
18
+ interface BusinessLensLogoVariant {
19
+ id: string;
20
+ name: string;
21
+ tagline: string;
22
+ /** Basename under `/brand/logo/variants`, without the `-dark` suffix. */
23
+ file: string;
24
+ }
25
+ interface BusinessLensLockupVariant extends BusinessLensLogoVariant {
26
+ direction: 'row' | 'column';
27
+ wordmarkHeight: number;
28
+ symbolScale: number;
29
+ gapRatio: number;
30
+ }
31
+ declare const BUSINESSLENS_MARK_VARIANTS: BusinessLensLogoVariant[];
32
+ declare const BUSINESSLENS_LOCKUP_VARIANTS: BusinessLensLockupVariant[];
33
+ declare const BUSINESSLENS_DEFAULT_MARK: string;
34
+ declare const BUSINESSLENS_DEFAULT_LOCKUP = "k3";
35
+ declare const BUSINESSLENS_DEFAULT_LOGO_DISPLAY: BusinessLensLogoDisplay;
36
+ declare function businessLensLogoSrc(variant: BusinessLensLogoVariant, dark?: boolean): string;
37
+ declare function findBusinessLensLogo<T extends BusinessLensLogoVariant>(list: T[], id: string | null | undefined, fallback: string): T;
38
+ //#endregion
39
+ export { BUSINESSLENS_DARK_BACKGROUNDS, BUSINESSLENS_DEFAULT_DARK_BACKGROUND, BUSINESSLENS_DEFAULT_LIGHT_BACKGROUND, BUSINESSLENS_DEFAULT_LOCKUP, BUSINESSLENS_DEFAULT_LOGO_DISPLAY, BUSINESSLENS_DEFAULT_MARK, BUSINESSLENS_LIGHT_BACKGROUNDS, BUSINESSLENS_LOCKUP_VARIANTS, BUSINESSLENS_MARK_VARIANTS, BusinessLensBackgroundVariant, BusinessLensLockupVariant, BusinessLensLogoDisplay, BusinessLensLogoVariant, businessLensLogoSrc, findBusinessLensBackground, findBusinessLensLogo };