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.
- package/CHANGELOG.md +262 -0
- package/README.md +111 -106
- package/dist/businesslensThemeLabVariants.d.ts +39 -0
- package/dist/businesslensThemeLabVariants.js +114 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +2106 -819
- package/dist/logo-Bmv9IEAA.js +160 -0
- package/dist/logo.d.ts +16 -0
- package/dist/logo.js +3 -0
- package/dist/portable-BG1UM2eJ.js +576 -0
- package/dist/portable-D-39sG6M.d.ts +1192 -0
- package/dist/report-digest-B5HEnjj6.js +16 -0
- package/dist/report-digest.d.ts +13 -0
- package/dist/report-digest.js +4 -0
- package/dist/report-view-model.d.ts +98 -0
- package/dist/report-view-model.js +80 -0
- package/dist/report.d.ts +2 -0
- package/dist/report.js +3 -0
- package/dist/viewer/200.html +1 -0
- package/dist/viewer/404.html +1 -0
- package/dist/viewer/_fonts/2vrrJ3MJLeeRdsxoGShjYhieJbC2KYTsL2TxP6pMbHw-M0DkDLNITN2p_m211B__nX1QX-Xza3m69L-nMauwf2g.woff2 +0 -0
- package/dist/viewer/_fonts/3EoiQ3JXV9M854bFdDwbRdGEY3-Du8oUds3aqK5whzM-0k8mcMMDR7LSyG5LPtIn07Rq92oTawhgfoVy5edJiuM.woff2 +0 -0
- package/dist/viewer/_fonts/4QnBRRPRkqsZZsI-BMyAY6O8mcHveU0lVITGztsdgaU-6W9goIX2kkUb_cEk1DVhEit9nFnfoMy0U1qs3xF4uAE.woff2 +0 -0
- package/dist/viewer/_fonts/7HAR14LKTzhJQKjIswIdjqbb_ir_9ierJYPiQk1I0T4-CAhl9c6lKjXQV_OAVGFlQ8ZIg0kI00oZ4sqnwBOU2vo.woff2 +0 -0
- package/dist/viewer/_fonts/7qYB9pTPpQMGJcc1oBw4aJs8qrR5AEqnE_aISylzMZk-bEs5OXN1qanFoMWgw9Rbj_qKdScgEiDVW5fwM_e-DbY.woff2 +0 -0
- package/dist/viewer/_fonts/7u0-77UfQZ7R5xCkHtH-6FcLzzYcD0xArs2lWsaXoxo-nx_kVkjHkrHGl_yt9uLKYpDnl16LRpt038O6up8FgXw.woff2 +0 -0
- package/dist/viewer/_fonts/8s05g7h1BsO8lFAzNqHs5fJZFxS-xwv8O45ZLDdw4Xc-0o1JXtxv_7kmP3VcvEp-9kAlLtZv249JWMmVsfIzhxw.woff2 +0 -0
- package/dist/viewer/_fonts/9IYWZwGkalWblbQ0qUB1NVEWKltx8MGbUCCI8A-nXvc-A42XFuaMkcGV8IU4tyjaz8jlX4w7e0oOK9ZL1W1A_tg.woff2 +0 -0
- package/dist/viewer/_fonts/Be-n02WlyGlCYr6AKZTu1ZLO7yH-M5nlZkD_wXnLEHI-dzPF0VM_shn45xQxjIQGDrk8A3rEcAn5G6IvnYsvdnc.woff2 +0 -0
- package/dist/viewer/_fonts/G1z3mcby8z4pfQp_shaJSYZuXyNpaES81jf-Uy3wFLc-QdRJEr2TP9Yyj3gppGIo3wyzXYHET_I1oHxOKv4_UBc.woff2 +0 -0
- package/dist/viewer/_fonts/IOQmCJk1c1X8tTiR2_xRphUddTG90WpG00y3mrL7asc-fI5Z9vM1TPimFu47KjlvcLJubuCXAUmRe99EOBGK4Jg.woff2 +0 -0
- package/dist/viewer/_fonts/MlNgkMyhKIDysanNTo08JXs1NKT7N3PAiE-rd67y0tk-4_8EiC-OPpJkFXcZG4fmdwz7sj_gpRAqn-822cldaKI.woff2 +0 -0
- package/dist/viewer/_fonts/NaeHrWP1-iMKUUbIzW8qCa662095DhNYoHJXtkNCjkM-1gqKNyA5_uizWtQDHl7DvGwhfCQZkjE87-e8v9ZSzew.woff2 +0 -0
- package/dist/viewer/_fonts/P-opX31986DaGyCeEVxGapeAZVhWZEmsnHrtz-8uNjk-Qdxvbv5v3sdw4jMVvggdQIwnhFnU5CSX7ZkcKlqcM5E.woff2 +0 -0
- package/dist/viewer/_fonts/P20rFYUuJYBG6P413-kmy1MH2c5-AHidHeOkhurVW9E-s9pky6iiS9O9L4P9FGQnIeXl7IrK7HsqmKdubOA2j4w.woff2 +0 -0
- package/dist/viewer/_fonts/TFWlwoCp6ug4N2WAg-6QAZ14xTmMw01biXyVG4455dI-q3iMkKdBtHvY5CwbWL9amwnIlWjCh_MBY6rJ1ZpktWQ.woff2 +0 -0
- package/dist/viewer/_fonts/Y7f-8GVyzqqVUZE9RGKSEwHKp-J5xG9W9JvAuAXnukE-a6vWQ8lr44WUpidIwQELsd_UxxoksjFr_7OFl0B1cj4.woff2 +0 -0
- package/dist/viewer/_fonts/YFhrCfizGmZCCsX1GkJqSsa1Ln3ZkYEBQx1kS5GBSNM-lnlTSm_m0Am_5BfksHFyxTS8HwzeRUIimtrJh-2-hQk.woff2 +0 -0
- package/dist/viewer/_fonts/abc3urfYpum3NohTJJ82tZYrJ0Qq6V1DDuV4nEN3-K8-2_2ztTmYY0L6UFJjC5ut8vWYRD-RsvXGTIbWQjKw8ig.woff2 +0 -0
- package/dist/viewer/_fonts/c9UOtWdvEkMdkWxin3fO_nOvZfFevXVtanKkemdlzVs-NZc_1h0ba5jh8strJX03YaVqHCE1TFVMTjG6rHlowdk.woff2 +0 -0
- package/dist/viewer/_fonts/csHsi_ayDY-1Bb0elJrgXc5EYv_3ZUHTjyt6t6R_hvI-2j_LO_XEAFCarGnUMAZp9mH1XcHyWmBOSOM3UU8Yh80.woff2 +0 -0
- package/dist/viewer/_fonts/de9Hn98X7qjvQryMTK_S5_8pcE2ixEzuPClwbeHVxAI-2R9bduNO98qcxzo2cGRCSP20RqlwtuSKwb6RYUOUHtQ.woff2 +0 -0
- package/dist/viewer/_fonts/fxn6Ta_PXKaftNQ6o3GFS9b6XU2VmWsDHvzQlBYv26k-RCwtZl_Z0-eqoKkgjV2Lvu8bNskZv3RiHclp-qdyFbE.woff2 +0 -0
- package/dist/viewer/_fonts/ib-aovnRDsdvSBzUC6Ll2tdWY2U3C9FsxsqLnPpAg18-c_nItv4f1UIuWsSuQgkfygxojtODoHxU-eKvW69FGyI.woff2 +0 -0
- package/dist/viewer/_fonts/iwtMiRQr9MVxkS-mqNWNDfuQrs4GB3dvByMM9ojyFHw-ExrDYapJHBuMovYABEGrabFChkrO9vAYi7UAvRk2fC8.woff2 +0 -0
- package/dist/viewer/_fonts/k9VNYFZ3lbLjdFOvyoe_t6P1Z4y9X5RYYVuXmoEo_ig-nTKWoqtzyKxAIKIx8JNNQ2Q8SwgTTBWZ4p5o2jmFO3k.woff2 +0 -0
- package/dist/viewer/_fonts/ljD0O_drjiflVTw1FPwOjK1CL1HwVPYB7us-BfZqHuQ-ZjVgBNdLadH_Dw6T1hPTCJa6wTlqofsHYwtGtzawATs.woff2 +0 -0
- package/dist/viewer/_fonts/oA7rp6XLB_UIP_utZxXIDlSPcMeVLGKMaeey_kAD0fo-98JsXCHs_mcC6olFARmc-2GM9H4YyxJhTUClXLaqEOU.woff2 +0 -0
- package/dist/viewer/_fonts/r2KASPa1NYEuoln4lN0W3EcSZ4QcjSeSmKvuJKUW_e0-EBXL59uF8lOU0BbZ0Qd0HKaqxnk9ahNM_OUahEvA2bA.woff2 +0 -0
- package/dist/viewer/_fonts/sZOWZh4Lseqiy1g9lJ-6sp_l7Tnfae4gGZYr6PHqLgc-NVanILUbCWR2T4cC6yna0eytAT4QEmYcMi_qN_YFwrA.woff2 +0 -0
- package/dist/viewer/_fonts/tHIC4jbWRecrkBLYzXeJ-l-FMVE3IC-WCOr8aeczZzk-HpEbV83Au1R7ttgKEHICBgfH9eJ1oI4aqhcwYRiyk_E.woff2 +0 -0
- package/dist/viewer/_fonts/uqOUEfp6GyasEjSs6mPL4xH4Ogfg9dejwyGqFvieEhQ-1DC4lhOKAtHn_hSVO1eAmsDfxgXpJii8eq16JZynm5s.woff2 +0 -0
- package/dist/viewer/_fonts/vSGurvFi7J9DFpc3gRh0zb7zfLGEZfPgQADV5W675RU-SOsE32TvAEDx4Ogk8IUoJ8eiJFzZUTZWzAjnjTzmlhU.woff2 +0 -0
- package/dist/viewer/_fonts/vijLFK-KHAfLMAJw3I00MGO7TegKZixeBpXB8P8ZNSw-CWJay_vzLuCpDiGXYEvr4DhzjKgzr8DcTgueGgkphlw.woff2 +0 -0
- package/dist/viewer/_fonts/vkmZkh-CHOvBXhWqyxI7y7yhtJnjEZhooZMtIOrKbdc-2IAHU0readmKJy05HSHAUr9ZfblPKy1cYnIzD6FaafQ.woff2 +0 -0
- package/dist/viewer/_fonts/wXrnAZG6imawmnLMrmEGDaw8OERkBjrhxtvCpdAoFtU-THRRjDiTK2YhlZWGZ4KWGQimEEJ4q90NggcMPrCWifk.woff2 +0 -0
- package/dist/viewer/_fonts/xJPBIvvk_Sw4KqpH43KzxcdvgIqPAswKL2-SL5mMfgk-P0mrlLOS5DRt4uVQ_yTmC-xlOBH5DV5VtMOSziFrN8U.woff2 +0 -0
- package/dist/viewer/_fonts/xfTORM6zMaCBLN8KEmrdAwkoRlhpJreq9od0IdnzZ0g-_9Qp95jKFav7hdhcdpsrtGsvVOKgw5NpeBgIuaa3qLg.woff2 +0 -0
- package/dist/viewer/_fonts/zhpX147TwsvlSAL8_vtsG77wE2r4o_uOAuyxH7pu_ro-9hIvJr5HdnrHw0ka90s0eA135TAMwiiABrhsW5rDElc.woff2 +0 -0
- package/dist/viewer/_fonts/zxddnekyjgM8Leg15hUgrEIp2Ny0tH_b-TRYGPmkH1o-3ppcoPOnLuSdSUDCyG_oPN72xWzFr2Pe0QIytgvDeZs.woff2 +0 -0
- package/dist/viewer/_nuxt/0agZip0Q.js +1 -0
- package/dist/viewer/_nuxt/C2YqwjgQ.js +1 -0
- package/dist/viewer/_nuxt/CXkZ3uUu.js +1 -0
- package/dist/viewer/_nuxt/DBtS0ETw.js +37 -0
- package/dist/viewer/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2 +0 -0
- package/dist/viewer/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2 +0 -0
- package/dist/viewer/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2 +0 -0
- package/dist/viewer/_nuxt/builds/latest.json +1 -0
- package/dist/viewer/_nuxt/builds/meta/2f5bf534-4590-4c46-b28f-8b0c1caa52df.json +1 -0
- package/dist/viewer/_nuxt/entry.DU06319b.css +1 -0
- package/dist/viewer/_nuxt/error-404.VJcZ3YVw.css +1 -0
- package/dist/viewer/_nuxt/error-500.BwxPsW7a.css +1 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2 +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff +0 -0
- package/dist/viewer/_nuxt/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
- package/dist/viewer/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
- package/dist/viewer/brand/icons/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/businesslens-app-icon.svg +7 -0
- package/dist/viewer/brand/icons/businesslens-maskable-icon.svg +7 -0
- package/dist/viewer/brand/icons/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/favicon.ico +0 -0
- package/dist/viewer/brand/icons/favicon.svg +7 -0
- package/dist/viewer/brand/icons/icon-1024.png +0 -0
- package/dist/viewer/brand/icons/icon-192.png +0 -0
- package/dist/viewer/brand/icons/icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/favicon.ico +0 -0
- package/dist/viewer/brand/icons/marks/m10/favicon.svg +7 -0
- package/dist/viewer/brand/icons/marks/m10/icon-192.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m10/site.webmanifest +32 -0
- package/dist/viewer/brand/icons/marks/m4/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/marks/m4/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/marks/m4/favicon.ico +0 -0
- package/dist/viewer/brand/icons/marks/m4/favicon.svg +14 -0
- package/dist/viewer/brand/icons/marks/m4/icon-192.png +0 -0
- package/dist/viewer/brand/icons/marks/m4/icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m4/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m4/site.webmanifest +32 -0
- package/dist/viewer/brand/icons/marks/m7/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/marks/m7/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/marks/m7/favicon.ico +0 -0
- package/dist/viewer/brand/icons/marks/m7/favicon.svg +9 -0
- package/dist/viewer/brand/icons/marks/m7/icon-192.png +0 -0
- package/dist/viewer/brand/icons/marks/m7/icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m7/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m7/site.webmanifest +32 -0
- package/dist/viewer/brand/icons/marks/m8/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/marks/m8/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/marks/m8/favicon.ico +0 -0
- package/dist/viewer/brand/icons/marks/m8/favicon.svg +8 -0
- package/dist/viewer/brand/icons/marks/m8/icon-192.png +0 -0
- package/dist/viewer/brand/icons/marks/m8/icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m8/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/icons/marks/m8/site.webmanifest +32 -0
- package/dist/viewer/brand/icons/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/logo/variants/mark-10-dark.svg +4 -0
- package/dist/viewer/brand/logo/variants/mark-10.svg +4 -0
- package/dist/viewer/brand/logo/variants/mark-4-dark.svg +11 -0
- package/dist/viewer/brand/logo/variants/mark-4.svg +11 -0
- package/dist/viewer/brand/logo/variants/mark-7-dark.svg +6 -0
- package/dist/viewer/brand/logo/variants/mark-7.svg +6 -0
- package/dist/viewer/brand/logo/variants/mark-8-dark.svg +5 -0
- package/dist/viewer/brand/logo/variants/mark-8.svg +5 -0
- package/dist/viewer/brand/logo/variants/wordmark-11-dark.svg +173 -0
- package/dist/viewer/brand/logo/variants/wordmark-11.svg +173 -0
- package/dist/viewer/brand/logo/variants/wordmark-3-dark.svg +173 -0
- package/dist/viewer/brand/logo/variants/wordmark-3.svg +173 -0
- package/dist/viewer/favicon.ico +0 -0
- package/dist/viewer/index.html +1 -0
- package/dist/viewer/site.webmanifest +32 -0
- package/docs/actors.md +71 -0
- package/docs/business-rules.md +61 -0
- package/docs/capabilities.md +81 -0
- package/docs/ci.md +19 -58
- package/docs/cli-contribute.md +97 -0
- package/docs/cli-export.md +44 -0
- package/docs/cli-install.md +68 -0
- package/docs/cli-lint.md +59 -0
- package/docs/cli-open.md +67 -0
- package/docs/cli-pull.md +85 -0
- package/docs/cli-update.md +46 -0
- package/docs/cli-view.md +41 -0
- package/docs/cli.md +39 -169
- package/docs/domains.md +62 -0
- package/docs/experiences.md +70 -0
- package/docs/from-a-blueprint.md +46 -0
- package/docs/from-an-idea.md +39 -0
- package/docs/from-your-repo.md +51 -0
- package/docs/index.md +39 -31
- package/docs/installation.md +53 -0
- package/docs/integration.md +30 -0
- package/docs/interfaces.md +71 -0
- package/docs/journeys.md +75 -0
- package/docs/product-model.md +107 -0
- package/docs/product.md +76 -0
- package/docs/references.md +107 -0
- package/docs/scenarios.md +86 -0
- package/docs/screens.md +111 -0
- package/docs/skill-businesslens-ideate.md +22 -0
- package/docs/skill-businesslens-map.md +25 -0
- package/docs/skill-businesslens-verify.md +75 -0
- package/docs/skills.md +23 -50
- package/docs/the-loop.md +48 -0
- package/docs/with-plan-mode.md +24 -0
- package/docs/with-sdd.md +40 -0
- package/layers/nuxt/report-viewer/README.md +61 -0
- package/layers/nuxt/report-viewer/app/assets/product-logo-placeholder.svg +5 -0
- package/layers/nuxt/report-viewer/app/assets/report-structure.css +4 -0
- package/layers/nuxt/report-viewer/app/components/BusinessLensProductLogo.vue +33 -0
- package/layers/nuxt/report-viewer/app/components/BusinessLensReportViewer.vue +267 -0
- package/layers/nuxt/report-viewer/app/utils/report-view-model.ts +12 -0
- package/layers/nuxt/report-viewer/nuxt.config.ts +12 -0
- package/layers/nuxt/theme/app/app.config.ts +14 -0
- package/layers/nuxt/theme/app/assets/theme.css +111 -0
- package/layers/nuxt/theme/nuxt.config.ts +34 -0
- package/layers/nuxt/theme-lab/app/assets/theme-lab.css +177 -0
- package/layers/nuxt/theme-lab/app/components/BusinessLensBrand.vue +84 -0
- package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabBackgroundRow.vue +118 -0
- package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabBar.vue +33 -0
- package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabDivider.vue +3 -0
- package/layers/nuxt/theme-lab/app/components/BusinessLensThemeLabLogoRow.vue +119 -0
- package/layers/nuxt/theme-lab/app/composables/useBusinessLensBackgroundVariant.ts +69 -0
- package/layers/nuxt/theme-lab/app/composables/useBusinessLensLogoVariant.ts +78 -0
- package/layers/nuxt/theme-lab/app/composables/useBusinessLensThemeLab.ts +27 -0
- package/layers/nuxt/theme-lab/app/composables/useBusinessLensThemeLabHead.ts +25 -0
- package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabMarks.d.mts +11 -0
- package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabMarks.mjs +29 -0
- package/layers/nuxt/theme-lab/app/utils/businesslensThemeLabVariants.ts +132 -0
- package/layers/nuxt/theme-lab/nuxt.config.ts +28 -0
- package/layers/nuxt/theme-lab/public/brand/icons/apple-touch-icon.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/businesslens-app-icon.svg +7 -0
- package/layers/nuxt/theme-lab/public/brand/icons/businesslens-maskable-icon.svg +7 -0
- package/layers/nuxt/theme-lab/public/brand/icons/favicon-32.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/favicon.svg +7 -0
- package/layers/nuxt/theme-lab/public/brand/icons/icon-1024.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/icon-192.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/apple-touch-icon.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon-32.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/favicon.svg +7 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/icon-192.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/maskable-icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m10/site.webmanifest +32 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/apple-touch-icon.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon-32.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/favicon.svg +14 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/icon-192.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/maskable-icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m4/site.webmanifest +32 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/apple-touch-icon.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon-32.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/favicon.svg +9 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/icon-192.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/maskable-icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m7/site.webmanifest +32 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/apple-touch-icon.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon-32.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/favicon.svg +8 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/icon-192.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/maskable-icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/icons/marks/m8/site.webmanifest +32 -0
- package/layers/nuxt/theme-lab/public/brand/icons/maskable-icon-512.png +0 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-10-dark.svg +4 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-10.svg +4 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-4-dark.svg +11 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-4.svg +11 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-7-dark.svg +6 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-7.svg +6 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-8-dark.svg +5 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/mark-8.svg +5 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-11-dark.svg +173 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-11.svg +173 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-3-dark.svg +173 -0
- package/layers/nuxt/theme-lab/public/brand/logo/variants/wordmark-3.svg +173 -0
- package/layers/nuxt/theme-lab/public/favicon.ico +0 -0
- package/layers/nuxt/theme-lab/public/site.webmanifest +32 -0
- package/package.json +84 -4
- package/plans/shared-theme-lab.md +136 -0
- package/skills/businesslens-ideate/SKILL.md +105 -0
- package/skills/businesslens-ideate/agents/openai.yaml +4 -0
- package/skills/businesslens-ideate/references/format.md +121 -0
- package/skills/businesslens-ideate/references/planning-rubric.md +57 -0
- package/skills/businesslens-ideate/scripts/run-businesslens.mjs +121 -0
- package/skills/businesslens-map/SKILL.md +97 -0
- package/skills/businesslens-map/agents/openai.yaml +4 -0
- package/skills/businesslens-map/references/format.md +121 -0
- package/skills/businesslens-map/references/mapping-rubric.md +59 -0
- package/skills/{businesslens-init → businesslens-map}/scripts/inventory-repository.mjs +9 -14
- package/skills/businesslens-map/scripts/run-businesslens.mjs +121 -0
- package/skills/businesslens-verify/SKILL.md +159 -0
- package/skills/businesslens-verify/agents/openai.yaml +4 -0
- package/skills/businesslens-verify/references/build-handoff.md +22 -0
- package/skills/businesslens-verify/references/format.md +129 -0
- package/skills/businesslens-verify/references/verification-rubric.md +61 -0
- package/skills/businesslens-verify/scripts/run-businesslens.mjs +121 -0
- package/docs/format.md +0 -264
- package/docs/pdd-and-sdd.md +0 -35
- package/docs/quickstart.md +0 -71
- package/skills/businesslens-deep-dive/SKILL.md +0 -47
- package/skills/businesslens-deep-dive/agents/openai.yaml +0 -4
- package/skills/businesslens-deep-dive/references/analysis-rubric.md +0 -10
- package/skills/businesslens-deep-dive/references/evidence-policy.md +0 -8
- package/skills/businesslens-deep-dive/references/format.md +0 -49
- package/skills/businesslens-doctor/SKILL.md +0 -42
- package/skills/businesslens-doctor/agents/openai.yaml +0 -4
- package/skills/businesslens-init/SKILL.md +0 -88
- package/skills/businesslens-init/agents/openai.yaml +0 -4
- package/skills/businesslens-init/references/analysis-rubric.md +0 -24
- package/skills/businesslens-init/references/evidence-policy.md +0 -12
- package/skills/businesslens-init/references/format.md +0 -209
- package/skills/businesslens-publish/SKILL.md +0 -87
- package/skills/businesslens-publish/agents/openai.yaml +0 -4
- package/skills/businesslens-publish/scripts/run-businesslens.mjs +0 -62
- package/skills/businesslens-sync/SKILL.md +0 -48
- package/skills/businesslens-sync/agents/openai.yaml +0 -4
- package/skills/businesslens-sync/references/evidence-policy.md +0 -8
- package/skills/businesslens-sync/references/format.md +0 -19
- package/skills/businesslens-validate/SKILL.md +0 -50
- 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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/businesslens)
|
|
4
|
+
[](https://github.com/businesslens/pdd/actions/workflows/check.yml)
|
|
5
|
+
[](./LICENSE)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
├──
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
Run this in the repository you want to map:
|
|
34
|
+
Install the skills:
|
|
26
35
|
|
|
27
36
|
```bash
|
|
28
|
-
npx businesslens
|
|
37
|
+
npx businesslens install
|
|
29
38
|
```
|
|
30
39
|
|
|
31
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
49
|
+
Codex users invoke skills with `$`, for example `$businesslens-map`.
|
|
45
50
|
|
|
46
|
-
|
|
51
|
+
## The ongoing loop
|
|
47
52
|
|
|
48
53
|
```text
|
|
49
|
-
/businesslens-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
59
|
-
|
|
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
|
|
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
|
|
79
|
+
| Terminal | `npx businesslens install` | Install the three skills |
|
|
68
80
|
| Terminal | `npx businesslens update` | Refresh managed skill installations |
|
|
69
|
-
| Terminal | `npx businesslens
|
|
70
|
-
| Terminal | `npx businesslens
|
|
71
|
-
| Terminal | `npx businesslens
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
| AI harness | `businesslens-
|
|
76
|
-
| AI harness | `businesslens-
|
|
77
|
-
| AI harness | `businesslens-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
131
|
-
- [
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
- [
|
|
135
|
-
|
|
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
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
`businesslens
|
|
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 };
|