vibebusiness 1.2.39 → 1.2.41
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/.next/standalone/.env +7 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +68 -60
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +6 -6
- package/.next/standalone/.next/prerender-manifest.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/api/analyze/route.js +1 -1
- package/.next/standalone/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/checkout/route.js +1 -0
- package/.next/standalone/.next/server/app/api/checkout/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/config/detect-repos/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/detect-repos/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/route.js +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/implementations/route.js +1 -1
- package/.next/standalone/.next/server/app/api/implementations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/kpis/refresh/route.js +1 -1
- package/.next/standalone/.next/server/app/api/kpis/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/license/route.js +1 -0
- package/.next/standalone/.next/server/app/api/license/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/portal/route.js +1 -0
- package/.next/standalone/.next/server/app/api/portal/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js +1 -0
- package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/[id]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/social/[id]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/route.js +1 -0
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/webhook/route.js +1 -0
- package/.next/standalone/.next/server/app/api/webhook/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/goals/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/goals/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/goals/page.js +1 -1
- package/.next/standalone/.next/server/app/goals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/goals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/landing/page.js +1 -1
- package/.next/standalone/.next/server/app/landing/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/landing.html +1 -1
- package/.next/standalone/.next/server/app/landing.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +2 -2
- package/.next/standalone/.next/server/app/social/page.js +1 -0
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/social.html +1 -0
- package/.next/standalone/.next/server/app/social.meta +5 -0
- package/.next/standalone/.next/server/app/social.rsc +7 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +15 -7
- package/.next/standalone/.next/server/chunks/{682.js → 1682.js} +1 -1
- package/.next/standalone/.next/server/chunks/3644.js +1 -0
- package/.next/standalone/.next/server/chunks/4376.js +1 -0
- package/.next/standalone/.next/server/chunks/4471.js +2 -0
- package/.next/standalone/.next/server/chunks/534.js +1 -0
- package/.next/standalone/.next/server/chunks/5972.js +12 -0
- package/.next/standalone/.next/server/chunks/7809.js +2 -0
- package/.next/standalone/.next/server/chunks/9276.js +2 -0
- package/.next/standalone/.next/server/chunks/9777.js +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages/_app.js +1 -1
- package/.next/standalone/.next/server/pages/_document.js +1 -1
- package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/_error.js +1 -1
- package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/webpack-runtime.js +1 -1
- package/.next/standalone/data/email-campaigns/welcome-2026-02-20.md +13 -32
- package/.next/standalone/data/payments.json +33 -0
- package/.next/standalone/data/social.json +13 -0
- package/.next/standalone/package.json +5 -1
- package/.next/standalone/scripts/skills/social-media.ts +456 -0
- package/.next/static/chunks/444-125b7b0fa8cbdb81.js +1 -0
- package/.next/static/chunks/746-ea7c3e4e69c14385.js +1 -0
- package/.next/static/chunks/app/goals/[id]/{page-91b8382d44e93925.js → page-8dbeab5cc8cf0988.js} +1 -1
- package/.next/static/chunks/app/goals/{page-ecaa4a2761757014.js → page-794526d1e1a0856a.js} +1 -1
- package/.next/static/chunks/app/hypotheses/[id]/{page-894b08de47a73af9.js → page-65032da79ae146c5.js} +1 -1
- package/.next/static/chunks/app/hypotheses/page-8314da4be7c533bd.js +1 -0
- package/.next/static/chunks/app/ideas/[id]/page-dc9746061e58eea5.js +1 -0
- package/.next/static/chunks/app/layout-eeef7928298d2198.js +1 -0
- package/.next/static/chunks/app/page-fb66ff080390f20a.js +1 -0
- package/.next/static/chunks/app/roadmap/[id]/{page-3848fd96de497d11.js → page-c8c4baf233e0d480.js} +1 -1
- package/.next/static/chunks/app/roadmap/page-b15554a207ed2813.js +1 -0
- package/.next/static/chunks/app/sessions/page-42fb8edb15b9da1c.js +1 -0
- package/.next/static/chunks/app/settings/page-d2d630a799b6b495.js +1 -0
- package/.next/static/chunks/app/social/page-6c61fb0c2546313e.js +1 -0
- package/.next/static/chunks/{main-c0637f9544446589.js → main-98052d4291bccc96.js} +1 -1
- package/.next/static/css/02298496de89e16e.css +3 -0
- package/README.md +18 -0
- package/dist/bin/vibebusiness.js +307 -26
- package/dist/scripts/analyze.js +1 -0
- package/dist/scripts/chat.js +1 -0
- package/dist/scripts/generate-idea.js +1 -0
- package/dist/scripts/heartbeat.js +7343 -192
- package/dist/scripts/implement.js +1 -0
- package/dist/scripts/init.js +46 -6
- package/dist/scripts/scan.js +1 -0
- package/package.json +5 -1
- package/templates/commands/email-marketing.md +148 -10
- package/.next/standalone/.next/server/chunks/276.js +0 -2
- package/.next/standalone/.next/server/chunks/416.js +0 -1
- package/.next/standalone/.next/server/chunks/471.js +0 -2
- package/.next/standalone/.next/server/chunks/617.js +0 -1
- package/.next/standalone/.next/server/chunks/644.js +0 -1
- package/.next/standalone/.next/server/chunks/972.js +0 -12
- package/.next/static/chunks/444-6c0edb23956d018d.js +0 -1
- package/.next/static/chunks/783-3af6dbdb6afb55f4.js +0 -1
- package/.next/static/chunks/app/hypotheses/page-2cf90570526c76d3.js +0 -1
- package/.next/static/chunks/app/ideas/[id]/page-e0cca1557b59f7e0.js +0 -1
- package/.next/static/chunks/app/layout-ae8acf4955ee5472.js +0 -1
- package/.next/static/chunks/app/page-6a52a6950963129a.js +0 -1
- package/.next/static/chunks/app/roadmap/page-94d002cf0e37260f.js +0 -1
- package/.next/static/chunks/app/sessions/page-8085e6da5e28c7e4.js +0 -1
- package/.next/static/chunks/app/settings/page-34f70eef4a23eb4c.js +0 -1
- package/.next/static/css/501d0ac30341ebbe.css +0 -3
- /package/.next/static/{k40DKimnEdAtBs_zywSQ4 → VNI-b7vAR8FWLaaVytLYx}/_buildManifest.js +0 -0
- /package/.next/static/{k40DKimnEdAtBs_zywSQ4 → VNI-b7vAR8FWLaaVytLYx}/_ssgManifest.js +0 -0
- /package/.next/static/chunks/{117-b74c3899e29d85d7.js → 117-23260fd0b5f0bd9a.js} +0 -0
- /package/.next/static/chunks/app/_not-found/{page-2573b25f318b094f.js → page-a7be1c556b396c8e.js} +0 -0
- /package/.next/static/chunks/{fd9d1056-2182e078483b259b.js → fd9d1056-8c714984d5b17b60.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={};e.id=594,e.ids=[594],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4770:e=>{"use strict";e.exports=require("crypto")},2048:e=>{"use strict";e.exports=require("fs")},5315:e=>{"use strict";e.exports=require("path")},2493:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>n.a,__next_app__:()=>x,originalPathname:()=>m,pages:()=>o,routeModule:()=>h,tree:()=>c}),s(720),s(2029),s(5866);var a=s(3191),r=s(8716),l=s(7922),n=s.n(l),i=s(5231),d={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>i[e]);s.d(t,d);let c=["",{children:["ideas",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,720)),"/Users/luismey/Code/vibebusiness/src/app/ideas/[id]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,2029)),"/Users/luismey/Code/vibebusiness/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,5866,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/luismey/Code/vibebusiness/src/app/ideas/[id]/page.tsx"],m="/ideas/[id]/page",x={require:s,loadChunk:()=>Promise.resolve()},h=new a.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/ideas/[id]/page",pathname:"/ideas/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7010:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,2994,23)),Promise.resolve().then(s.t.bind(s,6114,23)),Promise.resolve().then(s.t.bind(s,9727,23)),Promise.resolve().then(s.t.bind(s,9671,23)),Promise.resolve().then(s.t.bind(s,1868,23)),Promise.resolve().then(s.t.bind(s,4759,23))},5698:()=>{},9180:(e,t,s)=>{Promise.resolve().then(s.bind(s,3818)),Promise.resolve().then(s.bind(s,7655))},6333:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7358:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},361:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},6307:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},8998:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},7027:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},4802:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},7506:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},1019:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},4893:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},1405:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},5691:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},763:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},1383:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("SquareCheckBig",[["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}],["path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11",key:"1jnkn4"}]])},7069:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},949:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},3634:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},3818:(e,t,s)=>{"use strict";s.d(t,{default:()=>g});var a=s(326),r=s(434),l=s(5047),n=s(4319),i=s(4935),d=s(3468),c=s(8258),o=s(717),m=s(8378),x=s(732),h=s(1572),p=s(1135);let u=[{href:"/",label:"Dashboard",icon:a.jsx(n.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:a.jsx(i.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:a.jsx(d.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:a.jsx(c.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:a.jsx(o.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:a.jsx(m.Z,{className:"w-5 h-5"})}];function g({children:e}){let t=(0,l.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[a.jsx("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:a.jsx(x.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[a.jsx("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),a.jsx("p",{className:"text-xs text-slate-400",children:process.env.NEXT_PUBLIC_PRODUCT_NAME||"Business"})]})]})}),a.jsx("nav",{className:"flex-1 p-4",children:a.jsx("ul",{className:"space-y-1",children:u.map(e=>{let s="/"===e.href?"/"===t:t.startsWith(e.href);return a.jsx("li",{children:(0,a.jsxs)(r.default,{href:e.href,className:(0,p.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",s?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,a.jsx("span",{children:e.label})]})},e.href)})})}),a.jsx("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[a.jsx(h.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Powered by Claude"})]})})]}),a.jsx("main",{className:"flex-1 overflow-auto",children:e})]})}},7655:(e,t,s)=>{"use strict";s.d(t,{default:()=>en});var a=s(326),r=s(434),l=s(7577),n=s(2881);let i=(0,n.Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var d=s(7506),c=s(6307);let o=(0,n.Z)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),m=(0,n.Z)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);var x=s(949);let h=(0,n.Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),p=(0,n.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var u=s(8998);let g=(0,n.Z)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),b=(0,n.Z)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),f=(0,n.Z)("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var j=s(1019),y=s(763);let v=(0,n.Z)("OctagonAlert",[["polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",key:"h1p8hx"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var N=s(6333),w=s(7358),_=s(3634),k=s(7069);let Z=(0,n.Z)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),S=(0,n.Z)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var C=s(7027),M=s(4802),R=s(3468),P=s(1383),q=s(1135),A=s(9526),T=s(5047),O=s(361);let E=(0,n.Z)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var z=s(4893);let F=(0,n.Z)("TestTube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),I=(0,n.Z)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var L=s(5691);let U={primary:"btn-primary",secondary:"btn-secondary",danger:"btn-danger",warning:"bg-amber-500 text-white hover:bg-amber-600 focus:ring-amber-500"};function D({ideaId:e,currentStage:t}){let s=(0,T.useRouter)(),[r,n]=(0,l.useState)(!1),[i,c]=(0,l.useState)(null),[m,x]=(0,l.useState)(null),[h,p]=(0,l.useState)(""),g=function(e){switch(e){case"inbox":return[{toStage:"under_review",label:"Start Review",icon:a.jsx(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"under_review":return[{toStage:"approved",label:"Approve",icon:a.jsx(O.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"deferred",label:"Defer",icon:a.jsx(E,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"approved":return[{toStage:"in_progress",label:"Start Implementation",icon:a.jsx(z.Z,{className:"w-4 h-4"}),variant:"primary",triggerImplementation:!0},{toStage:"deferred",label:"Defer",icon:a.jsx(E,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0}];case"in_progress":return[{toStage:"testing",label:"Move to Testing",icon:a.jsx(F,{className:"w-4 h-4"}),variant:"primary"},{toStage:"approved",label:"Back to Approved",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];case"testing":return[{toStage:"shipped",label:"Ship It!",icon:a.jsx(L.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"in_progress",label:"Back to In Progress",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];case"shipped":return[{toStage:"rolled_back",label:"Roll Back",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"deferred":return[{toStage:"under_review",label:"Reopen Review",icon:a.jsx(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"rejected":case"rolled_back":return[{toStage:"inbox",label:"Reopen",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];default:return[]}}(t),b=async(t,a)=>{n(!0),c(t);try{(await fetch(`/api/ideas/${e}/transition`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({to_stage:t,comment:a})})).ok&&s.refresh()}catch(e){console.error("Failed to transition stage:",e)}finally{n(!1),c(null),x(null),p("")}},f=async()=>{n(!0),c("in_progress");try{let t=await fetch(`/api/ideas/${e}/implement`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),a=await t.json();a.success?s.refresh():(console.error("Failed to start implementation:",a.error),alert(a.error||"Failed to start implementation"))}catch(e){console.error("Failed to start implementation:",e),alert("Failed to start implementation")}finally{n(!1),c(null)}},j=e=>{e.triggerImplementation?f():e.requiresComment?x(e):b(e.toStage)};return 0===g.length?null:(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"text-sm text-slate-500",children:["Current stage: ",a.jsx("span",{className:"font-medium text-slate-700",children:A.yb[t]})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:g.map(e=>(0,a.jsxs)("button",{onClick:()=>j(e),disabled:r,className:(0,q.Z)("btn gap-2",U[e.variant],r&&"opacity-75"),children:[i===e.toStage?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):e.icon,a.jsx("span",{children:e.label})]},e.toStage))}),m&&a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl p-6 w-full max-w-md animate-slide-in",children:[a.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:m.label}),a.jsx("p",{className:"text-sm text-slate-500 mb-4",children:"Please provide a reason for this action."}),a.jsx("textarea",{value:h,onChange:e=>p(e.target.value),placeholder:"Enter your comment...",className:"textarea h-24 mb-4",autoFocus:!0}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[a.jsx("button",{onClick:()=>{x(null),p("")},className:"btn btn-secondary",disabled:r,children:"Cancel"}),(0,a.jsxs)("button",{onClick:()=>b(m.toStage,h),disabled:r||!h.trim(),className:(0,q.Z)("btn gap-2",U[m.variant]),children:[r?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):m.icon,a.jsx("span",{children:"Confirm"})]})]})]})})]})}var H=s(732);let V=(0,n.Z)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),B=(0,n.Z)("Send",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]]);function G({ideaId:e,comments:t}){let s=(0,T.useRouter)(),[r,n]=(0,l.useState)(""),[i,c]=(0,l.useState)(!1),o=async t=>{if(t.preventDefault(),r.trim()&&!i){c(!0);try{(await fetch(`/api/ideas/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"human",author_name:"Founder",content:r.trim()})})).ok&&(n(""),s.refresh())}catch(e){console.error("Failed to add comment:",e)}finally{c(!1)}}};return(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("h3",{className:"font-semibold text-slate-900",children:"Discussion"}),a.jsx("div",{className:"space-y-3",children:0===t.length?a.jsx("p",{className:"text-sm text-slate-400 italic",children:"No comments yet"}):t.map(e=>(0,a.jsxs)("div",{className:(0,q.Z)("comment-bubble",e.author),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:["ai"===e.author?a.jsx("div",{className:"w-6 h-6 bg-emerald-100 rounded-full flex items-center justify-center",children:a.jsx(H.Z,{className:"w-3.5 h-3.5 text-emerald-600"})}):a.jsx("div",{className:"w-6 h-6 bg-blue-100 rounded-full flex items-center justify-center",children:a.jsx(V,{className:"w-3.5 h-3.5 text-blue-600"})}),a.jsx("span",{className:"text-sm font-medium text-slate-700",children:e.author_name}),a.jsx("span",{className:"text-xs text-slate-400",children:new Date(e.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})})]}),a.jsx("p",{className:"text-sm text-slate-600 whitespace-pre-wrap",children:e.content})]},e.id))}),(0,a.jsxs)("form",{onSubmit:o,className:"flex gap-2",children:[a.jsx("input",{type:"text",value:r,onChange:e=>n(e.target.value),placeholder:"Add a comment...",className:"input flex-1",disabled:i}),a.jsx("button",{type:"submit",disabled:!r.trim()||i,className:"btn btn-primary",children:i?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):a.jsx(B,{className:"w-4 h-4"})})]})]})}var $=s(1405);let X=(0,n.Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),W=(0,n.Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),J={cloning:{label:"Cloning repository...",color:"text-blue-600"},branching:{label:"Creating branch...",color:"text-blue-600"},decomposing:{label:"Decomposing into sub-tasks...",color:"text-amber-600"},implementing:{label:"Implementing changes...",color:"text-violet-600"},testing:{label:"Running tests...",color:"text-cyan-600"},creating_pr:{label:"Creating PR...",color:"text-cyan-600"},completed:{label:"Completed",color:"text-emerald-600"},failed:{label:"Failed",color:"text-red-600"}};function K({ideaId:e,onComplete:t}){let[s,r]=(0,l.useState)(null),[n,i]=(0,l.useState)(!0),[c,m]=(0,l.useState)(!1),[x,h]=(0,l.useState)(!1),p=async()=>{try{let s=await fetch(`/api/ideas/${e}/implement`),a=await s.json();a.success&&a.data?(r(a.data),("completed"===a.data.status||"failed"===a.data.status)&&t?.()):r(null)}catch(e){console.error("Failed to fetch implementation status:",e)}finally{i(!1)}};if(n)return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-500",children:[a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}),a.jsx("span",{className:"text-sm",children:"Loading..."})]});if(!s)return null;let u=J[s.status]||{label:s.status,color:"text-slate-600"},g=!["completed","failed"].includes(s.status);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("h3",{className:"font-semibold text-slate-900 flex items-center gap-2",children:[a.jsx(b,{className:"w-4 h-4"}),"Implementation Progress"]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[g?a.jsx(d.Z,{className:(0,q.Z)("w-5 h-5 animate-spin",u.color)}):"completed"===s.status?a.jsx(O.Z,{className:"w-5 h-5 text-emerald-600"}):a.jsx(o,{className:"w-5 h-5 text-red-600"}),a.jsx("span",{className:(0,q.Z)("font-medium",u.color),children:u.label}),g&&a.jsx("button",{onClick:p,className:"p-1 text-slate-400 hover:text-slate-600",title:"Refresh",children:a.jsx($.Z,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"p-3 bg-slate-50 rounded-lg border border-slate-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx(S,{className:"w-4 h-4 text-slate-500"}),a.jsx("code",{className:"flex-1 bg-slate-200 px-2 py-0.5 rounded font-mono text-xs",children:s.branch_name}),a.jsx("button",{onClick:()=>{s?.branch_name&&(navigator.clipboard.writeText(s.branch_name),h(!0),setTimeout(()=>h(!1),2e3))},className:"p-1 text-slate-400 hover:text-slate-600",title:"Copy branch name",children:x?a.jsx(X,{className:"w-4 h-4 text-emerald-600"}):a.jsx(W,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"mt-2 text-xs text-slate-500",children:["Repo: ",s.repo_name," • Workspace: ",s.workspace_path]}),s.pr_url&&(0,a.jsxs)("a",{href:s.pr_url,target:"_blank",rel:"noopener noreferrer",className:"mt-2 flex items-center gap-1 text-sm text-blue-600 hover:underline",children:[a.jsx("span",{children:"View Pull Request"}),a.jsx(C.Z,{className:"w-3 h-3"})]})]}),s.error_message&&a.jsx("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700",children:s.error_message}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>m(!c),className:"text-sm text-slate-500 hover:text-slate-700",children:[c?"Hide":"Show"," logs (",s.logs.length,")"]}),c&&a.jsx("div",{className:"mt-2 p-3 bg-slate-900 rounded-lg max-h-64 overflow-y-auto",children:a.jsx("pre",{className:"text-xs text-slate-300 font-mono whitespace-pre-wrap",children:s.logs.join("\n")})})]})]})}function Q(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}function Y({title:e,icon:t,children:s}){return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900",children:[t,a.jsx("span",{children:e})]}),a.jsx("div",{className:"text-sm text-slate-600",children:s})]})}function ee({status:e}){switch(e){case"pending":return a.jsx(i,{className:"w-4 h-4 text-slate-400"});case"in_progress":return a.jsx(d.Z,{className:"w-4 h-4 text-violet-500 animate-spin"});case"completed":return a.jsx(c.Z,{className:"w-4 h-4 text-emerald-500"});case"failed":return a.jsx(o,{className:"w-4 h-4 text-red-500"})}}function et(e){return e?new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}):""}function es({failureType:e}){if(!e)return null;let t={timeout:{text:"timeout",className:"bg-orange-100 text-orange-700"},error:{text:"error",className:"bg-red-100 text-red-700"},tests_failed:{text:"tests failed",className:"bg-amber-100 text-amber-700"}}[e];return a.jsx("span",{className:(0,q.Z)("text-xs px-1.5 py-0.5 rounded font-medium",t.className),children:t.text})}function ea({subTasks:e}){let[t,s]=(0,l.useState)(null);if(0===e.length)return null;let r=e.filter(e=>"completed"===e.status).length,n=e.filter(e=>"failed"===e.status).length,i=Math.round(r/e.length*100);return a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(Y,{title:"Sub-Tasks",icon:a.jsx(m,{className:"w-4 h-4 text-violet-500"}),children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs mb-1",children:[(0,a.jsxs)("span",{className:"text-slate-500",children:[r,"/",e.length," done",n>0&&(0,a.jsxs)("span",{className:"text-red-500 ml-1",children:["(",n," failed)"]})]}),(0,a.jsxs)("span",{className:"text-slate-500",children:[i,"%"]})]}),a.jsx("div",{className:"w-full bg-slate-200 rounded-full h-2",children:a.jsx("div",{className:(0,q.Z)("h-2 rounded-full transition-all",n>0?"bg-red-500":"bg-emerald-500"),style:{width:`${i}%`}})})]}),a.jsx("ul",{className:"space-y-2",children:e.map(e=>{let r=t===e.id;return(0,a.jsxs)("li",{className:"border border-slate-100 rounded-lg",children:[(0,a.jsxs)("button",{onClick:()=>s(r?null:e.id),className:"w-full flex items-center gap-2 p-2 text-left hover:bg-slate-50 rounded-lg",children:[a.jsx(ee,{status:e.status}),a.jsx("span",{className:(0,q.Z)("flex-1 text-sm","completed"===e.status&&"line-through text-slate-400","failed"===e.status&&"text-red-600"),children:e.title}),"failed"===e.status&&e.failure_type&&a.jsx(es,{failureType:e.failure_type}),e.has_uncommitted_changes&&a.jsx("span",{title:"Uncommitted changes in workspace",children:a.jsx(x.Z,{className:"w-3.5 h-3.5 text-amber-500"})}),r?a.jsx(h,{className:"w-3 h-3 text-slate-400"}):a.jsx(p,{className:"w-3 h-3 text-slate-400"})]}),r&&(0,a.jsxs)("div",{className:"px-8 pb-3 space-y-3",children:[a.jsx("p",{className:"text-xs text-slate-600 whitespace-pre-wrap",children:e.description}),(e.duration_ms||e.lines_added||e.lines_removed)&&(0,a.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-slate-500",children:[e.duration_ms&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[a.jsx(u.Z,{className:"w-3 h-3"}),function(e){if(!e)return"";let t=Math.floor(e/1e3),s=Math.floor(t/60),a=Math.floor(s/60);return a>0?`${a}h ${s%60}m`:s>0?`${s}m ${t%60}s`:`${t}s`}(e.duration_ms)]}),(e.lines_added||e.lines_removed)&&(0,a.jsxs)("span",{className:"flex items-center gap-1 font-mono",children:[a.jsx(g,{className:"w-3 h-3"}),(0,a.jsxs)("span",{className:"text-emerald-600",children:["+",e.lines_added||0]}),(0,a.jsxs)("span",{className:"text-red-600",children:["-",e.lines_removed||0]})]})]}),e.files_changed&&e.files_changed.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("span",{className:"text-xs font-medium text-emerald-600 flex items-center gap-1",children:[a.jsx(g,{className:"w-3 h-3"}),"Files Changed:"]}),a.jsx("ul",{className:"mt-1",children:e.files_changed.map(e=>a.jsx("li",{className:"text-xs text-slate-600 font-mono",children:e},e))})]}),e.files_to_modify.length>0&&(0,a.jsxs)("div",{children:[a.jsx("span",{className:"text-xs font-medium text-slate-500",children:"Planned Files:"}),a.jsx("ul",{className:"mt-1",children:e.files_to_modify.map(e=>a.jsx("li",{className:"text-xs text-slate-400 font-mono",children:e},e))})]}),e.error_message&&a.jsx("div",{className:"p-2 bg-red-50 border border-red-200 rounded text-xs text-red-700 whitespace-pre-wrap",children:e.error_message}),e.output_snippet&&(0,a.jsxs)("details",{className:"group",children:[(0,a.jsxs)("summary",{className:"text-xs font-medium text-slate-500 cursor-pointer flex items-center gap-1",children:[a.jsx(b,{className:"w-3 h-3"}),"Output",a.jsx(p,{className:"w-3 h-3 group-open:rotate-90 transition-transform"})]}),a.jsx("pre",{className:"mt-1 p-2 bg-slate-50 border border-slate-200 rounded text-xs text-slate-600 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:e.output_snippet})]}),e.has_uncommitted_changes&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[a.jsx(x.Z,{className:"w-3.5 h-3.5"}),"Uncommitted changes in workspace"]}),e.commit_hash&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:["Commit: ",a.jsx("code",{className:"bg-slate-100 px-1 rounded",children:e.commit_hash.slice(0,8)})]}),(e.started_at||e.completed_at)&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:[e.started_at&&(0,a.jsxs)("span",{children:["Started: ",et(e.started_at)]}),e.completed_at&&(0,a.jsxs)("span",{className:"ml-3",children:["Finished: ",et(e.completed_at)]})]})]})]},e.id)})})]})})}function er({status:e}){switch(e){case"met":return a.jsx(c.Z,{className:"w-4 h-4 text-emerald-500"});case"partially_met":return a.jsx(x.Z,{className:"w-4 h-4 text-amber-500"});case"not_met":return a.jsx(o,{className:"w-4 h-4 text-red-500"});case"no_data":return a.jsx(f,{className:"w-4 h-4 text-slate-400"});default:return a.jsx(j.Z,{className:"w-4 h-4 text-slate-400"})}}function el({verification:e}){return a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(Y,{title:"Post-Ship Verification",icon:a.jsx(y.Z,{className:"w-4 h-4 text-emerald-500"}),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[a.jsx("span",{className:(0,q.Z)("text-xs font-medium px-2 py-1 rounded",A.aR[e.status]),children:A.Wb[e.status]}),e.confidence&&(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Confidence: ",e.confidence]})]}),e.summary&&a.jsx("p",{className:"text-sm text-slate-700 mb-4",children:e.summary}),e.requires_human_review&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 mb-4 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[a.jsx(v,{className:"w-3.5 h-3.5 flex-shrink-0"}),(0,a.jsxs)("span",{children:["Requires human review: ",e.human_review_reason||"Review needed"]})]}),e.metric_evaluations.length>0&&(0,a.jsxs)("div",{className:"space-y-2 mb-4",children:[a.jsx("span",{className:"text-xs font-medium text-slate-500 uppercase",children:"Metric Results"}),a.jsx("ul",{className:"space-y-1.5",children:e.metric_evaluations.map((e,t)=>(0,a.jsxs)("li",{className:"flex items-start gap-2",children:[a.jsx(er,{status:e.status}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-slate-700",children:e.metric}),a.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:e.evidence})]})]},t))})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-4 text-xs text-slate-400 pt-3 border-t border-slate-100",children:[e.first_evaluated_at&&(0,a.jsxs)("span",{children:["First evaluated: ",Q(e.first_evaluated_at)]}),e.evaluation_count>0&&(0,a.jsxs)("span",{children:["Evaluations: ",e.evaluation_count]}),e.next_evaluation_after&&(0,a.jsxs)("span",{children:["Next check: ",new Date(e.next_evaluation_after).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]})]}),e.follow_up_idea_ids.length>0&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[a.jsx("span",{className:"text-xs font-medium text-slate-500",children:"Follow-up ideas:"}),a.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:e.follow_up_idea_ids.map(e=>a.jsx(r.default,{href:`/ideas/${e}`,className:"text-xs text-blue-600 hover:underline bg-blue-50 px-1.5 py-0.5 rounded",children:e},e))})]})]})})}function en({idea:e,linkedGoal:t}){return(0,a.jsxs)("div",{className:"max-w-4xl mx-auto p-6",children:[(0,a.jsxs)(r.default,{href:"/",className:"inline-flex items-center gap-2 text-sm text-slate-500 hover:text-slate-700 mb-6",children:[a.jsx(N.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Dashboard"})]}),(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[a.jsx("div",{className:"flex items-start justify-between mb-4",children:(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[a.jsx("span",{className:(0,q.Z)("priority-badge",A.Gs[e.priority]),children:A.rF[e.priority]}),a.jsx("span",{className:(0,q.Z)("category-badge",A.pG[e.category]),children:A.Hs[e.category]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[a.jsx("div",{className:(0,q.Z)("stage-indicator",A.lv[e.stage])}),a.jsx("span",{className:"text-xs text-slate-500",children:A.yb[e.stage]})]})]}),a.jsx("h1",{className:"text-2xl font-bold text-slate-900 mb-2",children:e.title}),a.jsx("p",{className:"text-slate-600",children:e.summary})]})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-6 text-sm text-slate-500 pt-4 border-t border-slate-100",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(w.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Created ",Q(e.created_at)]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(_.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Effort: ",A.bi[e.effort]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(k.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Impact: ",A.bi[e.impact]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Source: ",A.Vr[e.source.type]]})]})]}),e.tags.length>0&&a.jsx("div",{className:"flex flex-wrap gap-2 mt-4",children:e.tags.map(e=>a.jsx("span",{className:"px-2 py-1 bg-slate-100 text-slate-600 text-xs rounded",children:e},e))}),e.implementation.branch_name&&a.jsx("div",{className:"mt-4 p-3 bg-slate-50 rounded-lg border border-slate-200",children:(0,a.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-600",children:[a.jsx(S,{className:"w-4 h-4"}),a.jsx("code",{className:"bg-slate-200 px-2 py-0.5 rounded",children:e.implementation.branch_name})]}),e.implementation.pr_url&&(0,a.jsxs)("a",{href:e.implementation.pr_url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 hover:underline",children:[a.jsx("span",{children:"View PR"}),a.jsx(C.Z,{className:"w-3 h-3"})]})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-2 space-y-6",children:[a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Context",icon:a.jsx(M.Z,{className:"w-4 h-4 text-amber-500"}),children:a.jsx("p",{className:"whitespace-pre-wrap",children:e.context})})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Rationale",icon:a.jsx(R.Z,{className:"w-4 h-4 text-blue-500"}),children:a.jsx("p",{className:"whitespace-pre-wrap",children:e.rationale})})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Implementation Plan",icon:a.jsx(P.Z,{className:"w-4 h-4 text-emerald-500"}),children:a.jsx("div",{className:"whitespace-pre-wrap",children:e.implementation_plan})})}),e.implementation.sub_tasks&&e.implementation.sub_tasks.length>0&&a.jsx(ea,{subTasks:e.implementation.sub_tasks}),"shipped"===e.stage&&e.verification&&a.jsx(el,{verification:e.verification}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Success Metrics",icon:a.jsx(k.Z,{className:"w-4 h-4 text-violet-500"}),children:a.jsx("ul",{className:"list-disc list-inside space-y-1",children:e.success_metrics.map((e,t)=>a.jsx("li",{children:e},t))})})})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(t||e.expected_impact)&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900 mb-3",children:[a.jsx(R.Z,{className:"w-4 h-4 text-emerald-500"}),a.jsx("span",{children:"Goal Alignment"})]}),t?(0,a.jsxs)(r.default,{href:`/goals/${t.id}`,className:"block p-3 bg-emerald-50 border border-emerald-200 rounded-lg hover:border-emerald-300 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-sm font-medium text-emerald-800",children:t.title}),a.jsx(C.Z,{className:"w-3 h-3 text-emerald-600"})]}),a.jsx("p",{className:"text-xs text-emerald-600 line-clamp-2",children:t.description})]}):e.goal_id?(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["Linked to goal: ",a.jsx("code",{className:"text-xs bg-slate-100 px-1 rounded",children:e.goal_id})]}):null,e.expected_impact&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[a.jsx("p",{className:"text-xs text-slate-500 uppercase font-medium mb-1",children:"Expected Impact"}),a.jsx("p",{className:"text-sm text-slate-700",children:e.expected_impact})]})]}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(D,{ideaId:e.id,currentStage:e.stage})}),["in_progress","testing","shipped","rolled_back"].includes(e.stage)&&a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(K,{ideaId:e.id})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(G,{ideaId:e.id,comments:e.comments})}),e.source.files_analyzed&&e.source.files_analyzed.length>0&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-3",children:"Files Analyzed"}),a.jsx("ul",{className:"space-y-1",children:e.source.files_analyzed.map((e,t)=>a.jsx("li",{className:"text-xs text-slate-500 font-mono truncate",children:e},t))})]})]})]})]})}},9526:(e,t,s)=>{"use strict";s.d(t,{G:()=>i,GK:()=>w,Gs:()=>o,Hs:()=>a,PW:()=>v,R$:()=>j,Vr:()=>m,Wb:()=>h,aR:()=>x,bi:()=>d,en:()=>f,i2:()=>b,kT:()=>p,l5:()=>u,lE:()=>y,lv:()=>n,pG:()=>r,rF:()=>c,tV:()=>g,tl:()=>N,xP:()=>_,yb:()=>l});let a={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},l={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},n={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},i=["inbox","under_review","approved","in_progress","testing","shipped"],d={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},c={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},m={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",manual:"Manual"},x={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},h={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},p={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},u={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},g={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},b={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},f={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},j={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},y={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},v={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},N={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},w={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},_={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}},1085:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{ReadonlyURLSearchParams:function(){return n},RedirectType:function(){return a.RedirectType},notFound:function(){return r.notFound},permanentRedirect:function(){return a.permanentRedirect},redirect:function(){return a.redirect}});let a=s(3953),r=s(6399);class l extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class n extends URLSearchParams{append(){throw new l}delete(){throw new l}set(){throw new l}sort(){throw new l}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6399:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{isNotFoundError:function(){return r},notFound:function(){return a}});let s="NEXT_NOT_FOUND";function a(){let e=Error(s);throw e.digest=s,e}function r(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8586:(e,t)=>{"use strict";var s;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return s}}),function(e){e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect"}(s||(s={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3953:(e,t,s)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{RedirectType:function(){return a},getRedirectError:function(){return d},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return x},isRedirectError:function(){return m},permanentRedirect:function(){return o},redirect:function(){return c}});let r=s(4580),l=s(2934),n=s(8586),i="NEXT_REDIRECT";function d(e,t,s){void 0===s&&(s=n.RedirectStatusCode.TemporaryRedirect);let a=Error(i);a.digest=i+";"+t+";"+e+";"+s+";";let l=r.requestAsyncStorage.getStore();return l&&(a.mutableCookies=l.mutableCookies),a}function c(e,t){void 0===t&&(t="replace");let s=l.actionAsyncStorage.getStore();throw d(e,t,(null==s?void 0:s.isAction)?n.RedirectStatusCode.SeeOther:n.RedirectStatusCode.TemporaryRedirect)}function o(e,t){void 0===t&&(t="replace");let s=l.actionAsyncStorage.getStore();throw d(e,t,(null==s?void 0:s.isAction)?n.RedirectStatusCode.SeeOther:n.RedirectStatusCode.PermanentRedirect)}function m(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,s,a,r]=e.digest.split(";",4),l=Number(r);return t===i&&("replace"===s||"push"===s)&&"string"==typeof a&&!isNaN(l)&&l in n.RedirectStatusCode}function x(e){return m(e)?e.digest.split(";",3)[2]:null}function h(e){if(!m(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function p(e){if(!m(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(function(e){e.push="push",e.replace="replace"})(a||(a={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},720:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c,dynamic:()=>d});var a=s(9510),r=s(1085),l=s(1416),n=s(2548);let i=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/vibebusiness/src/components/IdeaDetail.tsx#default`),d="force-dynamic";async function c({params:e}){let{id:t}=await e,s=await (0,l.b_)(t);s||(0,r.notFound)();let d=s.goal_id?await (0,l.a9)(s.goal_id):null;return a.jsx(n.Z,{children:a.jsx(i,{idea:s,linkedGoal:d})})}},2029:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>l,metadata:()=>r});var a=s(9510);s(5023);let r={title:process.env.NEXT_PUBLIC_PRODUCT_NAME?`${process.env.NEXT_PUBLIC_PRODUCT_NAME} Analyst`:"AI Business Analyst",description:"AI Business Analyst - Autonomous improvement proposals"};function l({children:e}){return a.jsx("html",{lang:"en",children:a.jsx("body",{className:"min-h-screen bg-slate-50",children:e})})}},2548:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/vibebusiness/src/components/AnalystLayout.tsx#default`)},5023:()=>{}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[276,471,617,416],()=>s(2493));module.exports=a})();
|
|
1
|
+
(()=>{var e={};e.id=8594,e.ids=[8594],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4770:e=>{"use strict";e.exports=require("crypto")},2048:e=>{"use strict";e.exports=require("fs")},5315:e=>{"use strict";e.exports=require("path")},2493:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>n.a,__next_app__:()=>x,originalPathname:()=>m,pages:()=>o,routeModule:()=>h,tree:()=>c}),s(720),s(2029),s(5866);var a=s(3191),r=s(8716),l=s(7922),n=s.n(l),i=s(5231),d={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>i[e]);s.d(t,d);let c=["",{children:["ideas",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,720)),"/Users/luismey/Code/vibebusiness/src/app/ideas/[id]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,2029)),"/Users/luismey/Code/vibebusiness/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,5866,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/luismey/Code/vibebusiness/src/app/ideas/[id]/page.tsx"],m="/ideas/[id]/page",x={require:s,loadChunk:()=>Promise.resolve()},h=new a.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/ideas/[id]/page",pathname:"/ideas/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7010:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,2994,23)),Promise.resolve().then(s.t.bind(s,6114,23)),Promise.resolve().then(s.t.bind(s,9727,23)),Promise.resolve().then(s.t.bind(s,9671,23)),Promise.resolve().then(s.t.bind(s,1868,23)),Promise.resolve().then(s.t.bind(s,4759,23))},5698:()=>{},9180:(e,t,s)=>{Promise.resolve().then(s.bind(s,3818)),Promise.resolve().then(s.bind(s,9616))},6333:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7358:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},2933:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},361:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},6307:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},8998:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},7027:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},4802:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},7506:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},1019:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},4893:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},1405:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},5691:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]])},9436:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Send",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]])},763:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},1383:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("SquareCheckBig",[["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}],["path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11",key:"1jnkn4"}]])},7069:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},949:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},3634:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},3818:(e,t,s)=>{"use strict";s.d(t,{default:()=>b});var a=s(326),r=s(434),l=s(5047),n=s(4319),i=s(4935),d=s(3468),c=s(8258),o=s(9730),m=s(717),x=s(8378),h=s(732),p=s(1572),u=s(1135);let g=[{href:"/",label:"Dashboard",icon:a.jsx(n.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:a.jsx(i.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:a.jsx(d.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:a.jsx(c.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:a.jsx(o.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:a.jsx(m.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:a.jsx(x.Z,{className:"w-5 h-5"})}];function b({children:e}){let t=(0,l.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[a.jsx("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:a.jsx(h.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[a.jsx("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),a.jsx("p",{className:"text-xs text-slate-400",children:process.env.NEXT_PUBLIC_PRODUCT_NAME||"Business"})]})]})}),a.jsx("nav",{className:"flex-1 p-4",children:a.jsx("ul",{className:"space-y-1",children:g.map(e=>{let s="/"===e.href?"/"===t:t.startsWith(e.href);return a.jsx("li",{children:(0,a.jsxs)(r.default,{href:e.href,className:(0,u.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",s?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,a.jsx("span",{children:e.label})]})},e.href)})})}),a.jsx("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[a.jsx(p.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Powered by Claude"})]})})]}),a.jsx("main",{className:"flex-1 overflow-auto",children:e})]})}},9616:(e,t,s)=>{"use strict";s.d(t,{default:()=>en});var a=s(326),r=s(434),l=s(7577),n=s(2881);let i=(0,n.Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var d=s(7506),c=s(6307);let o=(0,n.Z)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),m=(0,n.Z)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);var x=s(949);let h=(0,n.Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),p=(0,n.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var u=s(8998);let g=(0,n.Z)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),b=(0,n.Z)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),f=(0,n.Z)("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var j=s(1019),y=s(763);let v=(0,n.Z)("OctagonAlert",[["polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",key:"h1p8hx"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var N=s(6333),w=s(7358),_=s(3634),k=s(7069);let Z=(0,n.Z)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),S=(0,n.Z)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var C=s(7027),M=s(4802),R=s(3468),P=s(1383),q=s(1135),A=s(9526),T=s(5047),O=s(361);let E=(0,n.Z)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var z=s(4893);let F=(0,n.Z)("TestTube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),I=(0,n.Z)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var L=s(5691);let U={primary:"btn-primary",secondary:"btn-secondary",danger:"btn-danger",warning:"bg-amber-500 text-white hover:bg-amber-600 focus:ring-amber-500"};function D({ideaId:e,currentStage:t}){let s=(0,T.useRouter)(),[r,n]=(0,l.useState)(!1),[i,c]=(0,l.useState)(null),[m,x]=(0,l.useState)(null),[h,p]=(0,l.useState)(""),g=function(e){switch(e){case"inbox":return[{toStage:"under_review",label:"Start Review",icon:a.jsx(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"under_review":return[{toStage:"approved",label:"Approve",icon:a.jsx(O.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"deferred",label:"Defer",icon:a.jsx(E,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"approved":return[{toStage:"in_progress",label:"Start Implementation",icon:a.jsx(z.Z,{className:"w-4 h-4"}),variant:"primary",triggerImplementation:!0},{toStage:"deferred",label:"Defer",icon:a.jsx(E,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0}];case"in_progress":return[{toStage:"testing",label:"Move to Testing",icon:a.jsx(F,{className:"w-4 h-4"}),variant:"primary"},{toStage:"approved",label:"Back to Approved",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];case"testing":return[{toStage:"shipped",label:"Ship It!",icon:a.jsx(L.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"in_progress",label:"Back to In Progress",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];case"shipped":return[{toStage:"rolled_back",label:"Roll Back",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"deferred":return[{toStage:"under_review",label:"Reopen Review",icon:a.jsx(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:a.jsx(o,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"rejected":case"rolled_back":return[{toStage:"inbox",label:"Reopen",icon:a.jsx(I,{className:"w-4 h-4"}),variant:"secondary"}];default:return[]}}(t),b=async(t,a)=>{n(!0),c(t);try{(await fetch(`/api/ideas/${e}/transition`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({to_stage:t,comment:a})})).ok&&s.refresh()}catch(e){console.error("Failed to transition stage:",e)}finally{n(!1),c(null),x(null),p("")}},f=async()=>{n(!0),c("in_progress");try{let t=await fetch(`/api/ideas/${e}/implement`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),a=await t.json();a.success?s.refresh():(console.error("Failed to start implementation:",a.error),alert(a.error||"Failed to start implementation"))}catch(e){console.error("Failed to start implementation:",e),alert("Failed to start implementation")}finally{n(!1),c(null)}},j=e=>{e.triggerImplementation?f():e.requiresComment?x(e):b(e.toStage)};return 0===g.length?null:(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"text-sm text-slate-500",children:["Current stage: ",a.jsx("span",{className:"font-medium text-slate-700",children:A.yb[t]})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:g.map(e=>(0,a.jsxs)("button",{onClick:()=>j(e),disabled:r,className:(0,q.Z)("btn gap-2",U[e.variant],r&&"opacity-75"),children:[i===e.toStage?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):e.icon,a.jsx("span",{children:e.label})]},e.toStage))}),m&&a.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl p-6 w-full max-w-md animate-slide-in",children:[a.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:m.label}),a.jsx("p",{className:"text-sm text-slate-500 mb-4",children:"Please provide a reason for this action."}),a.jsx("textarea",{value:h,onChange:e=>p(e.target.value),placeholder:"Enter your comment...",className:"textarea h-24 mb-4",autoFocus:!0}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[a.jsx("button",{onClick:()=>{x(null),p("")},className:"btn btn-secondary",disabled:r,children:"Cancel"}),(0,a.jsxs)("button",{onClick:()=>b(m.toStage,h),disabled:r||!h.trim(),className:(0,q.Z)("btn gap-2",U[m.variant]),children:[r?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):m.icon,a.jsx("span",{children:"Confirm"})]})]})]})})]})}var H=s(732);let V=(0,n.Z)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var B=s(9436);function G({ideaId:e,comments:t}){let s=(0,T.useRouter)(),[r,n]=(0,l.useState)(""),[i,c]=(0,l.useState)(!1),o=async t=>{if(t.preventDefault(),r.trim()&&!i){c(!0);try{(await fetch(`/api/ideas/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"human",author_name:"Founder",content:r.trim()})})).ok&&(n(""),s.refresh())}catch(e){console.error("Failed to add comment:",e)}finally{c(!1)}}};return(0,a.jsxs)("div",{className:"space-y-4",children:[a.jsx("h3",{className:"font-semibold text-slate-900",children:"Discussion"}),a.jsx("div",{className:"space-y-3",children:0===t.length?a.jsx("p",{className:"text-sm text-slate-400 italic",children:"No comments yet"}):t.map(e=>(0,a.jsxs)("div",{className:(0,q.Z)("comment-bubble",e.author),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:["ai"===e.author?a.jsx("div",{className:"w-6 h-6 bg-emerald-100 rounded-full flex items-center justify-center",children:a.jsx(H.Z,{className:"w-3.5 h-3.5 text-emerald-600"})}):a.jsx("div",{className:"w-6 h-6 bg-blue-100 rounded-full flex items-center justify-center",children:a.jsx(V,{className:"w-3.5 h-3.5 text-blue-600"})}),a.jsx("span",{className:"text-sm font-medium text-slate-700",children:e.author_name}),a.jsx("span",{className:"text-xs text-slate-400",children:new Date(e.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})})]}),a.jsx("p",{className:"text-sm text-slate-600 whitespace-pre-wrap",children:e.content})]},e.id))}),(0,a.jsxs)("form",{onSubmit:o,className:"flex gap-2",children:[a.jsx("input",{type:"text",value:r,onChange:e=>n(e.target.value),placeholder:"Add a comment...",className:"input flex-1",disabled:i}),a.jsx("button",{type:"submit",disabled:!r.trim()||i,className:"btn btn-primary",children:i?a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}):a.jsx(B.Z,{className:"w-4 h-4"})})]})]})}var $=s(1405),X=s(2933);let W=(0,n.Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),J={cloning:{label:"Cloning repository...",color:"text-blue-600"},branching:{label:"Creating branch...",color:"text-blue-600"},decomposing:{label:"Decomposing into sub-tasks...",color:"text-amber-600"},implementing:{label:"Implementing changes...",color:"text-violet-600"},testing:{label:"Running tests...",color:"text-cyan-600"},creating_pr:{label:"Creating PR...",color:"text-cyan-600"},completed:{label:"Completed",color:"text-emerald-600"},failed:{label:"Failed",color:"text-red-600"}};function K({ideaId:e,onComplete:t}){let[s,r]=(0,l.useState)(null),[n,i]=(0,l.useState)(!0),[c,m]=(0,l.useState)(!1),[x,h]=(0,l.useState)(!1),p=async()=>{try{let s=await fetch(`/api/ideas/${e}/implement`),a=await s.json();a.success&&a.data?(r(a.data),("completed"===a.data.status||"failed"===a.data.status)&&t?.()):r(null)}catch(e){console.error("Failed to fetch implementation status:",e)}finally{i(!1)}};if(n)return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-500",children:[a.jsx(d.Z,{className:"w-4 h-4 animate-spin"}),a.jsx("span",{className:"text-sm",children:"Loading..."})]});if(!s)return null;let u=J[s.status]||{label:s.status,color:"text-slate-600"},g=!["completed","failed"].includes(s.status);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("h3",{className:"font-semibold text-slate-900 flex items-center gap-2",children:[a.jsx(b,{className:"w-4 h-4"}),"Implementation Progress"]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[g?a.jsx(d.Z,{className:(0,q.Z)("w-5 h-5 animate-spin",u.color)}):"completed"===s.status?a.jsx(O.Z,{className:"w-5 h-5 text-emerald-600"}):a.jsx(o,{className:"w-5 h-5 text-red-600"}),a.jsx("span",{className:(0,q.Z)("font-medium",u.color),children:u.label}),g&&a.jsx("button",{onClick:p,className:"p-1 text-slate-400 hover:text-slate-600",title:"Refresh",children:a.jsx($.Z,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"p-3 bg-slate-50 rounded-lg border border-slate-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx(S,{className:"w-4 h-4 text-slate-500"}),a.jsx("code",{className:"flex-1 bg-slate-200 px-2 py-0.5 rounded font-mono text-xs",children:s.branch_name}),a.jsx("button",{onClick:()=>{s?.branch_name&&(navigator.clipboard.writeText(s.branch_name),h(!0),setTimeout(()=>h(!1),2e3))},className:"p-1 text-slate-400 hover:text-slate-600",title:"Copy branch name",children:x?a.jsx(X.Z,{className:"w-4 h-4 text-emerald-600"}):a.jsx(W,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"mt-2 text-xs text-slate-500",children:["Repo: ",s.repo_name," • Workspace: ",s.workspace_path]}),s.pr_url&&(0,a.jsxs)("a",{href:s.pr_url,target:"_blank",rel:"noopener noreferrer",className:"mt-2 flex items-center gap-1 text-sm text-blue-600 hover:underline",children:[a.jsx("span",{children:"View Pull Request"}),a.jsx(C.Z,{className:"w-3 h-3"})]})]}),s.error_message&&a.jsx("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700",children:s.error_message}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>m(!c),className:"text-sm text-slate-500 hover:text-slate-700",children:[c?"Hide":"Show"," logs (",s.logs.length,")"]}),c&&a.jsx("div",{className:"mt-2 p-3 bg-slate-900 rounded-lg max-h-64 overflow-y-auto",children:a.jsx("pre",{className:"text-xs text-slate-300 font-mono whitespace-pre-wrap",children:s.logs.join("\n")})})]})]})}function Q(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}function Y({title:e,icon:t,children:s}){return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900",children:[t,a.jsx("span",{children:e})]}),a.jsx("div",{className:"text-sm text-slate-600",children:s})]})}function ee({status:e}){switch(e){case"pending":return a.jsx(i,{className:"w-4 h-4 text-slate-400"});case"in_progress":return a.jsx(d.Z,{className:"w-4 h-4 text-violet-500 animate-spin"});case"completed":return a.jsx(c.Z,{className:"w-4 h-4 text-emerald-500"});case"failed":return a.jsx(o,{className:"w-4 h-4 text-red-500"})}}function et(e){return e?new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}):""}function es({failureType:e}){if(!e)return null;let t={timeout:{text:"timeout",className:"bg-orange-100 text-orange-700"},error:{text:"error",className:"bg-red-100 text-red-700"},tests_failed:{text:"tests failed",className:"bg-amber-100 text-amber-700"}}[e];return a.jsx("span",{className:(0,q.Z)("text-xs px-1.5 py-0.5 rounded font-medium",t.className),children:t.text})}function ea({subTasks:e}){let[t,s]=(0,l.useState)(null);if(0===e.length)return null;let r=e.filter(e=>"completed"===e.status).length,n=e.filter(e=>"failed"===e.status).length,i=Math.round(r/e.length*100);return a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(Y,{title:"Sub-Tasks",icon:a.jsx(m,{className:"w-4 h-4 text-violet-500"}),children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs mb-1",children:[(0,a.jsxs)("span",{className:"text-slate-500",children:[r,"/",e.length," done",n>0&&(0,a.jsxs)("span",{className:"text-red-500 ml-1",children:["(",n," failed)"]})]}),(0,a.jsxs)("span",{className:"text-slate-500",children:[i,"%"]})]}),a.jsx("div",{className:"w-full bg-slate-200 rounded-full h-2",children:a.jsx("div",{className:(0,q.Z)("h-2 rounded-full transition-all",n>0?"bg-red-500":"bg-emerald-500"),style:{width:`${i}%`}})})]}),a.jsx("ul",{className:"space-y-2",children:e.map(e=>{let r=t===e.id;return(0,a.jsxs)("li",{className:"border border-slate-100 rounded-lg",children:[(0,a.jsxs)("button",{onClick:()=>s(r?null:e.id),className:"w-full flex items-center gap-2 p-2 text-left hover:bg-slate-50 rounded-lg",children:[a.jsx(ee,{status:e.status}),a.jsx("span",{className:(0,q.Z)("flex-1 text-sm","completed"===e.status&&"line-through text-slate-400","failed"===e.status&&"text-red-600"),children:e.title}),"failed"===e.status&&e.failure_type&&a.jsx(es,{failureType:e.failure_type}),e.has_uncommitted_changes&&a.jsx("span",{title:"Uncommitted changes in workspace",children:a.jsx(x.Z,{className:"w-3.5 h-3.5 text-amber-500"})}),r?a.jsx(h,{className:"w-3 h-3 text-slate-400"}):a.jsx(p,{className:"w-3 h-3 text-slate-400"})]}),r&&(0,a.jsxs)("div",{className:"px-8 pb-3 space-y-3",children:[a.jsx("p",{className:"text-xs text-slate-600 whitespace-pre-wrap",children:e.description}),(e.duration_ms||e.lines_added||e.lines_removed)&&(0,a.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-slate-500",children:[e.duration_ms&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[a.jsx(u.Z,{className:"w-3 h-3"}),function(e){if(!e)return"";let t=Math.floor(e/1e3),s=Math.floor(t/60),a=Math.floor(s/60);return a>0?`${a}h ${s%60}m`:s>0?`${s}m ${t%60}s`:`${t}s`}(e.duration_ms)]}),(e.lines_added||e.lines_removed)&&(0,a.jsxs)("span",{className:"flex items-center gap-1 font-mono",children:[a.jsx(g,{className:"w-3 h-3"}),(0,a.jsxs)("span",{className:"text-emerald-600",children:["+",e.lines_added||0]}),(0,a.jsxs)("span",{className:"text-red-600",children:["-",e.lines_removed||0]})]})]}),e.files_changed&&e.files_changed.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("span",{className:"text-xs font-medium text-emerald-600 flex items-center gap-1",children:[a.jsx(g,{className:"w-3 h-3"}),"Files Changed:"]}),a.jsx("ul",{className:"mt-1",children:e.files_changed.map(e=>a.jsx("li",{className:"text-xs text-slate-600 font-mono",children:e},e))})]}),e.files_to_modify.length>0&&(0,a.jsxs)("div",{children:[a.jsx("span",{className:"text-xs font-medium text-slate-500",children:"Planned Files:"}),a.jsx("ul",{className:"mt-1",children:e.files_to_modify.map(e=>a.jsx("li",{className:"text-xs text-slate-400 font-mono",children:e},e))})]}),e.error_message&&a.jsx("div",{className:"p-2 bg-red-50 border border-red-200 rounded text-xs text-red-700 whitespace-pre-wrap",children:e.error_message}),e.output_snippet&&(0,a.jsxs)("details",{className:"group",children:[(0,a.jsxs)("summary",{className:"text-xs font-medium text-slate-500 cursor-pointer flex items-center gap-1",children:[a.jsx(b,{className:"w-3 h-3"}),"Output",a.jsx(p,{className:"w-3 h-3 group-open:rotate-90 transition-transform"})]}),a.jsx("pre",{className:"mt-1 p-2 bg-slate-50 border border-slate-200 rounded text-xs text-slate-600 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:e.output_snippet})]}),e.has_uncommitted_changes&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[a.jsx(x.Z,{className:"w-3.5 h-3.5"}),"Uncommitted changes in workspace"]}),e.commit_hash&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:["Commit: ",a.jsx("code",{className:"bg-slate-100 px-1 rounded",children:e.commit_hash.slice(0,8)})]}),(e.started_at||e.completed_at)&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:[e.started_at&&(0,a.jsxs)("span",{children:["Started: ",et(e.started_at)]}),e.completed_at&&(0,a.jsxs)("span",{className:"ml-3",children:["Finished: ",et(e.completed_at)]})]})]})]},e.id)})})]})})}function er({status:e}){switch(e){case"met":return a.jsx(c.Z,{className:"w-4 h-4 text-emerald-500"});case"partially_met":return a.jsx(x.Z,{className:"w-4 h-4 text-amber-500"});case"not_met":return a.jsx(o,{className:"w-4 h-4 text-red-500"});case"no_data":return a.jsx(f,{className:"w-4 h-4 text-slate-400"});default:return a.jsx(j.Z,{className:"w-4 h-4 text-slate-400"})}}function el({verification:e}){return a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(Y,{title:"Post-Ship Verification",icon:a.jsx(y.Z,{className:"w-4 h-4 text-emerald-500"}),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[a.jsx("span",{className:(0,q.Z)("text-xs font-medium px-2 py-1 rounded",A.aR[e.status]),children:A.Wb[e.status]}),e.confidence&&(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Confidence: ",e.confidence]})]}),e.summary&&a.jsx("p",{className:"text-sm text-slate-700 mb-4",children:e.summary}),e.requires_human_review&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 mb-4 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[a.jsx(v,{className:"w-3.5 h-3.5 flex-shrink-0"}),(0,a.jsxs)("span",{children:["Requires human review: ",e.human_review_reason||"Review needed"]})]}),e.metric_evaluations.length>0&&(0,a.jsxs)("div",{className:"space-y-2 mb-4",children:[a.jsx("span",{className:"text-xs font-medium text-slate-500 uppercase",children:"Metric Results"}),a.jsx("ul",{className:"space-y-1.5",children:e.metric_evaluations.map((e,t)=>(0,a.jsxs)("li",{className:"flex items-start gap-2",children:[a.jsx(er,{status:e.status}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-xs text-slate-700",children:e.metric}),a.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:e.evidence})]})]},t))})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-4 text-xs text-slate-400 pt-3 border-t border-slate-100",children:[e.first_evaluated_at&&(0,a.jsxs)("span",{children:["First evaluated: ",Q(e.first_evaluated_at)]}),e.evaluation_count>0&&(0,a.jsxs)("span",{children:["Evaluations: ",e.evaluation_count]}),e.next_evaluation_after&&(0,a.jsxs)("span",{children:["Next check: ",new Date(e.next_evaluation_after).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]})]}),e.follow_up_idea_ids.length>0&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[a.jsx("span",{className:"text-xs font-medium text-slate-500",children:"Follow-up ideas:"}),a.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:e.follow_up_idea_ids.map(e=>a.jsx(r.default,{href:`/ideas/${e}`,className:"text-xs text-blue-600 hover:underline bg-blue-50 px-1.5 py-0.5 rounded",children:e},e))})]})]})})}function en({idea:e,linkedGoal:t}){return(0,a.jsxs)("div",{className:"max-w-4xl mx-auto p-6",children:[(0,a.jsxs)(r.default,{href:"/",className:"inline-flex items-center gap-2 text-sm text-slate-500 hover:text-slate-700 mb-6",children:[a.jsx(N.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Dashboard"})]}),(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[a.jsx("div",{className:"flex items-start justify-between mb-4",children:(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[a.jsx("span",{className:(0,q.Z)("priority-badge",A.Gs[e.priority]),children:A.rF[e.priority]}),a.jsx("span",{className:(0,q.Z)("category-badge",A.pG[e.category]),children:A.Hs[e.category]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[a.jsx("div",{className:(0,q.Z)("stage-indicator",A.lv[e.stage])}),a.jsx("span",{className:"text-xs text-slate-500",children:A.yb[e.stage]})]})]}),a.jsx("h1",{className:"text-2xl font-bold text-slate-900 mb-2",children:e.title}),a.jsx("p",{className:"text-slate-600",children:e.summary})]})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-6 text-sm text-slate-500 pt-4 border-t border-slate-100",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(w.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Created ",Q(e.created_at)]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(_.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Effort: ",A.bi[e.effort]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(k.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Impact: ",A.bi[e.impact]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Source: ",A.Vr[e.source.type]]})]})]}),e.tags.length>0&&a.jsx("div",{className:"flex flex-wrap gap-2 mt-4",children:e.tags.map(e=>a.jsx("span",{className:"px-2 py-1 bg-slate-100 text-slate-600 text-xs rounded",children:e},e))}),e.implementation.branch_name&&a.jsx("div",{className:"mt-4 p-3 bg-slate-50 rounded-lg border border-slate-200",children:(0,a.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-600",children:[a.jsx(S,{className:"w-4 h-4"}),a.jsx("code",{className:"bg-slate-200 px-2 py-0.5 rounded",children:e.implementation.branch_name})]}),e.implementation.pr_url&&(0,a.jsxs)("a",{href:e.implementation.pr_url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 hover:underline",children:[a.jsx("span",{children:"View PR"}),a.jsx(C.Z,{className:"w-3 h-3"})]})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-2 space-y-6",children:[a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Context",icon:a.jsx(M.Z,{className:"w-4 h-4 text-amber-500"}),children:a.jsx("p",{className:"whitespace-pre-wrap",children:e.context})})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Rationale",icon:a.jsx(R.Z,{className:"w-4 h-4 text-blue-500"}),children:a.jsx("p",{className:"whitespace-pre-wrap",children:e.rationale})})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Implementation Plan",icon:a.jsx(P.Z,{className:"w-4 h-4 text-emerald-500"}),children:a.jsx("div",{className:"whitespace-pre-wrap",children:e.implementation_plan})})}),e.implementation.sub_tasks&&e.implementation.sub_tasks.length>0&&a.jsx(ea,{subTasks:e.implementation.sub_tasks}),"shipped"===e.stage&&e.verification&&a.jsx(el,{verification:e.verification}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(Y,{title:"Success Metrics",icon:a.jsx(k.Z,{className:"w-4 h-4 text-violet-500"}),children:a.jsx("ul",{className:"list-disc list-inside space-y-1",children:e.success_metrics.map((e,t)=>a.jsx("li",{children:e},t))})})})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(t||e.expected_impact)&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900 mb-3",children:[a.jsx(R.Z,{className:"w-4 h-4 text-emerald-500"}),a.jsx("span",{children:"Goal Alignment"})]}),t?(0,a.jsxs)(r.default,{href:`/goals/${t.id}`,className:"block p-3 bg-emerald-50 border border-emerald-200 rounded-lg hover:border-emerald-300 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("span",{className:"text-sm font-medium text-emerald-800",children:t.title}),a.jsx(C.Z,{className:"w-3 h-3 text-emerald-600"})]}),a.jsx("p",{className:"text-xs text-emerald-600 line-clamp-2",children:t.description})]}):e.goal_id?(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["Linked to goal: ",a.jsx("code",{className:"text-xs bg-slate-100 px-1 rounded",children:e.goal_id})]}):null,e.expected_impact&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[a.jsx("p",{className:"text-xs text-slate-500 uppercase font-medium mb-1",children:"Expected Impact"}),a.jsx("p",{className:"text-sm text-slate-700",children:e.expected_impact})]})]}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(D,{ideaId:e.id,currentStage:e.stage})}),["in_progress","testing","shipped","rolled_back"].includes(e.stage)&&a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(K,{ideaId:e.id})}),a.jsx("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:a.jsx(G,{ideaId:e.id,comments:e.comments})}),e.source.files_analyzed&&e.source.files_analyzed.length>0&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-3",children:"Files Analyzed"}),a.jsx("ul",{className:"space-y-1",children:e.source.files_analyzed.map((e,t)=>a.jsx("li",{className:"text-xs text-slate-500 font-mono truncate",children:e},t))})]})]})]})]})}},9526:(e,t,s)=>{"use strict";s.d(t,{G:()=>i,GK:()=>k,Gs:()=>o,Hs:()=>a,PN:()=>p,PW:()=>w,Q_:()=>u,R$:()=>v,Vr:()=>m,Wb:()=>h,aR:()=>x,bi:()=>d,en:()=>y,i2:()=>j,kT:()=>g,l5:()=>b,lE:()=>N,lv:()=>n,pG:()=>r,rF:()=>c,tV:()=>f,tl:()=>_,xP:()=>Z,yb:()=>l});let a={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},l={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},n={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},i=["inbox","under_review","approved","in_progress","testing","shipped"],d={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},c={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},m={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",manual:"Manual"},x={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},h={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},p={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual"},u={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800"},g={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},b={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},f={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},j={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},y={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},v={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},N={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},w={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},_={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},k={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},Z={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}},1085:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{ReadonlyURLSearchParams:function(){return n},RedirectType:function(){return a.RedirectType},notFound:function(){return r.notFound},permanentRedirect:function(){return a.permanentRedirect},redirect:function(){return a.redirect}});let a=s(3953),r=s(6399);class l extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class n extends URLSearchParams{append(){throw new l}delete(){throw new l}set(){throw new l}sort(){throw new l}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6399:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{isNotFoundError:function(){return r},notFound:function(){return a}});let s="NEXT_NOT_FOUND";function a(){let e=Error(s);throw e.digest=s,e}function r(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8586:(e,t)=>{"use strict";var s;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return s}}),function(e){e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect"}(s||(s={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3953:(e,t,s)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{RedirectType:function(){return a},getRedirectError:function(){return d},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return x},isRedirectError:function(){return m},permanentRedirect:function(){return o},redirect:function(){return c}});let r=s(4580),l=s(2934),n=s(8586),i="NEXT_REDIRECT";function d(e,t,s){void 0===s&&(s=n.RedirectStatusCode.TemporaryRedirect);let a=Error(i);a.digest=i+";"+t+";"+e+";"+s+";";let l=r.requestAsyncStorage.getStore();return l&&(a.mutableCookies=l.mutableCookies),a}function c(e,t){void 0===t&&(t="replace");let s=l.actionAsyncStorage.getStore();throw d(e,t,(null==s?void 0:s.isAction)?n.RedirectStatusCode.SeeOther:n.RedirectStatusCode.TemporaryRedirect)}function o(e,t){void 0===t&&(t="replace");let s=l.actionAsyncStorage.getStore();throw d(e,t,(null==s?void 0:s.isAction)?n.RedirectStatusCode.SeeOther:n.RedirectStatusCode.PermanentRedirect)}function m(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,s,a,r]=e.digest.split(";",4),l=Number(r);return t===i&&("replace"===s||"push"===s)&&"string"==typeof a&&!isNaN(l)&&l in n.RedirectStatusCode}function x(e){return m(e)?e.digest.split(";",3)[2]:null}function h(e){if(!m(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function p(e){if(!m(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(function(e){e.push="push",e.replace="replace"})(a||(a={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},720:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c,dynamic:()=>d});var a=s(9510),r=s(1085),l=s(534),n=s(2548);let i=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/vibebusiness/src/components/IdeaDetail.tsx#default`),d="force-dynamic";async function c({params:e}){let{id:t}=await e,s=await (0,l.b_)(t);s||(0,r.notFound)();let d=s.goal_id?await (0,l.a9)(s.goal_id):null;return a.jsx(n.Z,{children:a.jsx(i,{idea:s,linkedGoal:d})})}},2029:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>l,metadata:()=>r});var a=s(9510);s(5023);let r={title:process.env.NEXT_PUBLIC_PRODUCT_NAME?`${process.env.NEXT_PUBLIC_PRODUCT_NAME} Analyst`:"AI Business Analyst",description:"AI Business Analyst - Autonomous improvement proposals"};function l({children:e}){return a.jsx("html",{lang:"en",children:a.jsx("body",{className:"min-h-screen bg-slate-50",children:e})})}},2548:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/vibebusiness/src/components/AnalystLayout.tsx#default`)},5023:()=>{}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[9276,4471,4376,534],()=>s(2493));module.exports=a})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../data/.analysis-prompt.txt","../../../../../data/.gitkeep","../../../../../data/business-context.json","../../../../../data/codebase-snapshot.json","../../../../../data/competitors.json","../../../../../data/config.json","../../../../../data/email-campaigns/sequences/onboarding.md","../../../../../data/email-campaigns/welcome-2026-02-20.md","../../../../../data/goals.json","../../../../../data/heartbeat-sessions.json","../../../../../data/hypotheses.json","../../../../../data/ideas.json","../../../../../data/implementations.json","../../../../../data/pages.json","../../../../../data/positioning.json","../../../../../data/roadmap.json","../../../../../data/sessions.json","../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../../data/.DS_Store","../../../../../data/.analysis-prompt.txt","../../../../../data/.gitkeep","../../../../../data/business-context.json","../../../../../data/codebase-snapshot.json","../../../../../data/competitors.json","../../../../../data/config.json","../../../../../data/email-campaigns/sequences/onboarding.md","../../../../../data/email-campaigns/welcome-2026-02-20.md","../../../../../data/goals.json","../../../../../data/heartbeat-sessions.json","../../../../../data/hypotheses.json","../../../../../data/ideas.json","../../../../../data/implementations.json","../../../../../data/pages.json","../../../../../data/payments.json","../../../../../data/positioning.json","../../../../../data/roadmap.json","../../../../../data/sessions.json","../../../../../data/social.json","../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/4376.js","../../../chunks/4471.js","../../../chunks/534.js","../../../chunks/9276.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/ideas/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"47":{"*":{"id":"4812","name":"*","chunks":[],"async":false}},"80":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/ideas/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"47":{"*":{"id":"4812","name":"*","chunks":[],"async":false}},"80":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"786":{"*":{"id":"1855","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1214":{"*":{"id":"4663","name":"*","chunks":[],"async":false}},"1259":{"*":{"id":"3818","name":"*","chunks":[],"async":false}},"2612":{"*":{"id":"3305","name":"*","chunks":[],"async":false}},"2674":{"*":{"id":"9973","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"3032":{"*":{"id":"1828","name":"*","chunks":[],"async":false}},"4553":{"*":{"id":"8022","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"9671","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"6435":{"*":{"id":"6663","name":"*","chunks":[],"async":false}},"8619":{"*":{"id":"5467","name":"*","chunks":[],"async":false}},"8935":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"9534":{"*":{"id":"9616","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/client/components/render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/app/globals.css":{"id":2778,"name":"*","chunks":["185","static/chunks/app/layout-eeef7928298d2198.js"],"async":false},"/Users/luismey/Code/vibebusiness/src/app/hypotheses/[id]/page.tsx":{"id":4553,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/app/goals/[id]/page.tsx":{"id":8935,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/app/roadmap/[id]/page.tsx":{"id":47,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/components/AnalystLayout.tsx":{"id":1259,"name":"*","chunks":["746","static/chunks/746-ea7c3e4e69c14385.js","59","static/chunks/59-a053b1c0e85128de.js","594","static/chunks/app/ideas/%5Bid%5D/page-dc9746061e58eea5.js"],"async":false},"/Users/luismey/Code/vibebusiness/src/components/IdeaDetail.tsx":{"id":9534,"name":"*","chunks":["746","static/chunks/746-ea7c3e4e69c14385.js","59","static/chunks/59-a053b1c0e85128de.js","594","static/chunks/app/ideas/%5Bid%5D/page-dc9746061e58eea5.js"],"async":false},"/Users/luismey/Code/vibebusiness/src/components/GoalCard.tsx":{"id":2674,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/components/HypothesisCard.tsx":{"id":786,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/app/DashboardHeader.tsx":{"id":6435,"name":"*","chunks":["746","static/chunks/746-ea7c3e4e69c14385.js","931","static/chunks/app/page-fb66ff080390f20a.js"],"async":false},"/Users/luismey/Code/vibebusiness/src/components/IdeaKanban.tsx":{"id":1214,"name":"*","chunks":["746","static/chunks/746-ea7c3e4e69c14385.js","931","static/chunks/app/page-fb66ff080390f20a.js"],"async":false},"/Users/luismey/Code/vibebusiness/src/app/social/page.tsx":{"id":2612,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/app/settings/page.tsx":{"id":8619,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/vibebusiness/src/components/RoadmapViewToggle.tsx":{"id":3032,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/luismey/Code/vibebusiness/src/":[],"/Users/luismey/Code/vibebusiness/src/app/layout":["static/css/02298496de89e16e.css"],"/Users/luismey/Code/vibebusiness/src/app/page":[],"/Users/luismey/Code/vibebusiness/src/app/ideas/[id]/page":[]}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={};e.id=582,e.ids=[582],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4003:(e,s,t)=>{"use strict";t.r(s),t.d(s,{GlobalError:()=>n.a,__next_app__:()=>x,originalPathname:()=>m,pages:()=>c,routeModule:()=>h,tree:()=>d}),t(1598),t(2029),t(5866);var a=t(3191),l=t(8716),r=t(7922),n=t.n(r),i=t(5231),o={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);t.d(s,o);let d=["",{children:["landing",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,1598)),"/Users/luismey/Code/vibebusiness/src/app/landing/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,2029)),"/Users/luismey/Code/vibebusiness/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,5866,23)),"next/dist/client/components/not-found-error"]}],c=["/Users/luismey/Code/vibebusiness/src/app/landing/page.tsx"],m="/landing/page",x={require:t,loadChunk:()=>Promise.resolve()},h=new a.AppPageRouteModule({definition:{kind:l.x.APP_PAGE,page:"/landing/page",pathname:"/landing",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},7010:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,2994,23)),Promise.resolve().then(t.t.bind(t,6114,23)),Promise.resolve().then(t.t.bind(t,9727,23)),Promise.resolve().then(t.t.bind(t,9671,23)),Promise.resolve().then(t.t.bind(t,1868,23)),Promise.resolve().then(t.t.bind(t,4759,23))},5698:()=>{},5303:()=>{},7162:(e,s,t)=>{"use strict";t.d(s,{Z:()=>o});var a=t(1159);let l=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r=(...e)=>e.filter((e,s,t)=>!!e&&t.indexOf(e)===s).join(" ");var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,a.forwardRef)(({color:e="currentColor",size:s=24,strokeWidth:t=2,absoluteStrokeWidth:l,className:i="",children:o,iconNode:d,...c},m)=>(0,a.createElement)("svg",{ref:m,...n,width:s,height:s,stroke:e,strokeWidth:l?24*Number(t)/Number(s):t,className:r("lucide",i),...c},[...d.map(([e,s])=>(0,a.createElement)(e,s)),...Array.isArray(o)?o:[o]])),o=(e,s)=>{let t=(0,a.forwardRef)(({className:t,...n},o)=>(0,a.createElement)(i,{ref:o,iconNode:s,className:r(`lucide-${l(e)}`,t),...n}));return t.displayName=`${e}`,t}},4120:(e,s,t)=>{"use strict";t.d(s,{Z:()=>a});let a=(0,t(7162).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},9987:(e,s,t)=>{"use strict";t.d(s,{Z:()=>a});let a=(0,t(7162).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},1598:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>y,metadata:()=>b});var a=t(9510),l=t(7162);let r=(0,l.Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),n=(0,l.Z)("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]),i=(0,l.Z)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),o=(0,l.Z)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var d=t(9987);let c=(0,l.Z)("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),m=(0,l.Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),x=(0,l.Z)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),h=(0,l.Z)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var p=t(4120);let u=(0,l.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),b={title:"VibeBusiness — Your AI Business Analyst That Actually Ships Code",description:"The autonomous AI that researches your market, analyzes your metrics, decides what to build, implements it, and verifies the results. Built for indie hackers.",openGraph:{title:"VibeBusiness — Your AI Business Analyst That Actually Ships Code",description:"Stop guessing what to build next. VibeBusiness autonomously analyzes your codebase, metrics, and market — then ships improvements while you sleep.",type:"website"}};function j({prompt:e,command:s,dim:t}){return(0,a.jsxs)("div",{className:`flex gap-2 ${t?"opacity-50":""}`,children:[e&&a.jsx("span",{className:"text-emerald-400 select-none",children:e}),a.jsx("span",{className:"text-slate-200",children:s})]})}function g({children:e,color:s="slate",indent:t=0}){return a.jsx("div",{className:`${{slate:"text-slate-400",emerald:"text-emerald-400",amber:"text-amber-400",blue:"text-blue-400",violet:"text-violet-400",cyan:"text-cyan-400"}[s]}`,style:{paddingLeft:`${1.25*t}rem`},children:e})}function y(){return(0,a.jsxs)("div",{className:"min-h-screen bg-white",children:[a.jsx("nav",{className:"fixed top-0 left-0 right-0 z-50 bg-slate-950/90 backdrop-blur-sm border-b border-slate-800",children:a.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"flex items-center justify-between h-14",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-7 h-7 bg-emerald-500 rounded-lg flex items-center justify-center",children:a.jsx(r,{className:"w-4 h-4 text-white"})}),a.jsx("span",{className:"font-semibold text-white text-lg",children:"VibeBusiness"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[a.jsx("a",{href:"#how-it-works",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"How it works"}),a.jsx("a",{href:"#demo",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"Demo"}),a.jsx("a",{href:"#faq",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"FAQ"}),(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-1.5 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition-colors",children:[a.jsx(n,{className:"w-3.5 h-3.5"}),"npm install"]})]})]})})}),(0,a.jsxs)("section",{className:"relative bg-slate-950 pt-28 pb-20 sm:pt-32 sm:pb-28 overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 opacity-[0.03]",style:{backgroundImage:"linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px)",backgroundSize:"40px 40px"}}),(0,a.jsxs)("div",{className:"relative max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-sm mb-8",children:[a.jsx(i,{className:"w-3.5 h-3.5"}),a.jsx("span",{children:"CLI-native. BYOK. Local-first."})]}),(0,a.jsxs)("h1",{className:"text-4xl sm:text-5xl lg:text-6xl font-bold text-white leading-tight mb-6",children:["Your AI Business Analyst",a.jsx("br",{}),a.jsx("span",{className:"text-emerald-400",children:"That Actually Ships Code"})]}),a.jsx("p",{className:"text-lg sm:text-xl text-slate-400 max-w-2xl mx-auto mb-10 leading-relaxed",children:"VibeBusiness autonomously researches your market, analyzes your metrics, decides what to build, implements it, and verifies the results. While you sleep."}),a.jsx("div",{className:"max-w-md mx-auto mb-8",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden shadow-2xl shadow-emerald-500/5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"}),a.jsx("span",{className:"ml-2 text-xs text-slate-500 font-mono",children:"terminal"})]}),(0,a.jsxs)("div",{className:"p-4 font-mono text-sm text-left",children:[a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"}),a.jsx(j,{prompt:"$",command:"vibebusiness init"}),a.jsx(j,{prompt:"$",command:"vibebusiness heartbeat"}),(0,a.jsxs)(g,{color:"emerald",children:[">"," 7 improvement ideas generated"]}),(0,a.jsxs)(g,{color:"emerald",children:[">"," Dashboard ready at localhost:3001"]})]})]})}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-3",children:[(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition-colors text-base",children:[a.jsx(n,{className:"w-4 h-4"}),"npm install -g vibebusiness"]}),(0,a.jsxs)("a",{href:"#demo",className:"inline-flex items-center gap-1.5 px-6 py-3 text-slate-400 hover:text-white font-medium transition-colors text-base",children:["See it in action",a.jsx(o,{className:"w-4 h-4"})]})]})]})]}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Sound familiar?"}),(0,a.jsxs)("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:["Every solo founder hits the same walls. You can build anything — but knowing",a.jsx("em",{children:" what"})," to build is the hard part."]}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-3 gap-6 sm:gap-8",children:[(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-amber-100 flex items-center justify-center mb-4",children:a.jsx(d.Z,{className:"w-5 h-5 text-amber-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“What should I build next?”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Decision paralysis kills momentum. You have 20 ideas but no PM, no board, no co-founder to help prioritize. So you pick at random — or freeze."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-violet-100 flex items-center justify-center mb-4",children:a.jsx(c,{className:"w-5 h-5 text-violet-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“I shipped it. Now what?”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"90% of side projects die from no users, not bad code. You're great at building but lost on distribution, pricing, and growth. Metrics sit in dashboards nobody checks."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-100 flex items-center justify-center mb-4",children:a.jsx(m,{className:"w-5 h-5 text-blue-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“Too many tools, zero continuity”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Baremetrics for metrics. ChatGPT for advice. Notion for decisions. Cursor for code. None of them talk to each other, and none remember what you tried last month."})]})]})]})}),a.jsx("section",{id:"how-it-works",className:"py-16 sm:py-24 bg-slate-950",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-4",children:"One loop. Full lifecycle."}),a.jsx("p",{className:"text-slate-400 text-center mb-14 max-w-xl mx-auto",children:"VibeBusiness runs an autonomous heartbeat loop that observes, analyzes, recommends, implements, ships, and verifies — continuously."}),a.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[{icon:x,title:"Observe",desc:"Scans your codebase, metrics, and competitive landscape. Detects TODOs, tech debt, growth opportunities, and security gaps.",color:"bg-violet-500/10 text-violet-400",iconColor:"text-violet-400"},{icon:d.Z,title:"Analyze & Prioritize",desc:"Generates improvement ideas ranked by impact and effort. Links recommendations to your business goals and KPIs.",color:"bg-blue-500/10 text-blue-400",iconColor:"text-blue-400"},{icon:h,title:"Implement",desc:"Creates branches, writes code, opens PRs with atomic commits. Uses Claude Code CLI as its implementation engine.",color:"bg-emerald-500/10 text-emerald-400",iconColor:"text-emerald-400"},{icon:r,title:"Ship",desc:"You approve in the Kanban dashboard. The idea moves from approved to in-progress to shipped — with full audit trail.",color:"bg-amber-500/10 text-amber-400",iconColor:"text-amber-400"},{icon:c,title:"Verify",desc:"Measures success metrics against baselines. Did the change actually improve conversion, performance, or engagement?",color:"bg-cyan-500/10 text-cyan-400",iconColor:"text-cyan-400"},{icon:m,title:"Learn & Repeat",desc:"Accumulates context in MEMORY.md. Gets smarter every cycle. After 30 days, it knows your business better than any consultant.",color:"bg-rose-500/10 text-rose-400",iconColor:"text-rose-400"}].map(e=>(0,a.jsxs)("div",{className:"p-5 rounded-xl bg-slate-900 border border-slate-800",children:[a.jsx("div",{className:`w-9 h-9 rounded-lg ${e.color} flex items-center justify-center mb-3`,children:a.jsx(e.icon,{className:`w-4.5 h-4.5 ${e.iconColor}`})}),a.jsx("h3",{className:"font-semibold text-white mb-1.5",children:e.title}),a.jsx("p",{className:"text-sm text-slate-400 leading-relaxed",children:e.desc})]},e.title))})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Three commands to your first insights"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"No accounts. No dashboards. No configuration files. Install, point at your repo, and go."}),(0,a.jsxs)("div",{className:"max-w-3xl mx-auto space-y-8",children:[(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"1"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Install globally"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"One npm install. Brings its own dashboard, CLI, and analysis engine."}),a.jsx("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"})})]})]}),(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"2"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Initialize your workspace"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"Interactive wizard detects your repos, sets up goals, and configures analysis schedules. Takes 30 seconds."}),(0,a.jsxs)("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:[a.jsx(j,{prompt:"$",command:"vibebusiness init"}),a.jsx(g,{color:"emerald",children:"Scanning /Users/you/Code..."}),a.jsx(g,{color:"slate",indent:1,children:"Found: my-saas (Next.js, main)"}),a.jsx(g,{color:"slate",indent:1,children:"Found: my-api (Express, main)"}),a.jsx(g,{color:"emerald",children:"Workspace initialized. Run `vibebusiness heartbeat` to start."})]})]})]}),(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"3"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Run your first heartbeat"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"The AI scans your codebase, generates prioritized improvement ideas, and opens the Kanban dashboard. Set up cron for autonomous mode."}),(0,a.jsxs)("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:[a.jsx(j,{prompt:"$",command:"vibebusiness heartbeat"}),a.jsx(g,{color:"slate",children:"Reading STATUS.md, TODO.md, MEMORY.md..."}),a.jsx(g,{color:"slate",children:"Scanning repos: my-saas, my-api"}),a.jsx(g,{color:"emerald",children:"Generated 7 ideas:"}),a.jsx(g,{color:"amber",indent:1,children:"[critical] Add rate limiting to auth endpoints"}),a.jsx(g,{color:"blue",indent:1,children:"[high] Implement Stripe webhook retry handling"}),a.jsx(g,{color:"violet",indent:1,children:"[high] Add OpenGraph meta tags for social sharing"}),a.jsx(g,{color:"slate",indent:1,children:"... and 4 more"}),a.jsx(g,{color:"emerald",children:"Dashboard: http://localhost:3001"})]})]})]})]})]})}),a.jsx("section",{id:"demo",className:"py-16 sm:py-24 bg-slate-50",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"What you get in 60 seconds"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"Here's what a single heartbeat produces for a typical SaaS codebase. Real output, not mockups."}),a.jsx("div",{className:"max-w-4xl mx-auto",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden shadow-2xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"}),a.jsx("span",{className:"ml-2 text-xs text-slate-500 font-mono",children:"vibebusiness heartbeat"})]}),(0,a.jsxs)("div",{className:"p-5 sm:p-6 font-mono text-xs sm:text-sm space-y-4 overflow-x-auto",children:[(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"=== VibeBusiness Heartbeat ==="}),a.jsx(g,{color:"slate",children:"Time: 2026-02-18T09:00:00Z"}),a.jsx(g,{color:"slate",children:"Repos: my-saas (Next.js), my-api (Express)"})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"cyan",children:"[scan] Analyzing 47 files changed since last heartbeat..."}),a.jsx(g,{color:"cyan",children:"[scan] Checking TODO/FIXME markers: 12 found"}),a.jsx(g,{color:"cyan",children:"[scan] Reviewing error patterns and security surface"}),a.jsx(g,{color:"cyan",children:"[scan] Evaluating goal alignment for 3 active goals"})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"[ideas] Generated 5 improvement ideas:"}),(0,a.jsxs)("div",{className:"ml-2 sm:ml-4 mt-2 space-y-3",children:[(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-red-500/20 text-red-400 text-xs",children:"critical"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"security"})]}),a.jsx("div",{className:"text-white font-medium",children:"Add rate limiting to /api/auth/* endpoints"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"No rate limiting detected. Brute-force risk on login/signup. Effort: S | Impact: XL"})]}),(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-400 text-xs",children:"high"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"growth"})]}),a.jsx("div",{className:"text-white font-medium",children:"Add OpenGraph meta tags for social sharing"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"Missing og:image and og:description on 8 pages. Free traffic left on the table. Effort: XS | Impact: M"})]}),(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-400 text-xs",children:"high"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"product"})]}),a.jsx("div",{className:"text-white font-medium",children:"Implement Stripe webhook retry handling"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"Webhook handler lacks idempotency. Failed payments may go unprocessed. Effort: M | Impact: L"})]}),a.jsx(g,{color:"slate",children:"... +2 more ideas in dashboard"})]})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"[status] Updated STATUS.md, MEMORY.md"}),a.jsx(g,{color:"emerald",children:"[done] Dashboard: http://localhost:3001"}),a.jsx(g,{color:"emerald",children:"[done] Next heartbeat scheduled: 1:00 PM"})]})]})]})})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Not another AI wrapper"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"Cursor writes the code. VibeBusiness decides what code to write."}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-2 gap-6 max-w-4xl mx-auto",children:[(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(p.Z,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Autonomous heartbeat"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Runs proactively while you sleep. Morning briefing with prioritized recommendations. Every other dev tool waits for you — this one doesn't."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(x,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Persistent memory"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"MEMORY.md accumulates deep understanding over months. Tracks what was tried, what worked, and why. ChatGPT forgets everything between sessions."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(h,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Full lifecycle closure"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Idea to branch to PR to shipped to verified. No other tool closes the loop from analysis to implementation to outcome measurement."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(i,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"BYOK & local-first"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Your API key, your machine, your data. Near-zero COGS. No vendor lock-in on data. Transparent AI costs under your control."})]})]})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-slate-50",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-12",children:"Where VibeBusiness fits"}),a.jsx("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[a.jsx("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-slate-200",children:[a.jsx("th",{className:"text-left py-3 pr-4 font-medium text-slate-500",children:"Capability"}),a.jsx("th",{className:"py-3 px-4 font-semibold text-emerald-600",children:"VibeBusiness"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"Cursor / Copilot"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"Baremetrics"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"ChatGPT"})]})}),(0,a.jsxs)("tbody",{className:"text-slate-600",children:[(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Autonomous analysis"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Code implementation"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Business strategy"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-amber-500 font-medium",children:"Partial"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Metrics tracking"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Persistent memory"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"N/A"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Outcome verification"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]})]})]})})]})}),a.jsx("section",{id:"faq",className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-12",children:"Frequently asked questions"}),a.jsx("div",{className:"space-y-6",children:[{q:"Isn't this just a ChatGPT wrapper?",a:"VibeBusiness runs autonomously overnight, accumulates months of business context in MEMORY.md, integrates with your actual Stripe and PostHog data, and ships production code through Claude Code CLI. No wrapper does that."},{q:"Why not just use ChatGPT or Claude directly?",a:"ChatGPT forgets everything between sessions, can't observe your codebase continuously, doesn't integrate with your metrics, and never ships a line of code. VibeBusiness has persistent memory, real data integrations, and an autonomous implementation engine."},{q:"Can I trust AI for business decisions?",a:"VibeBusiness uses a Human-on-the-Loop model: the AI recommends, you approve. Every recommendation is grounded in your actual metrics, not generic advice. You see the full reasoning chain. Start conservative, increase autonomy as trust builds."},{q:"I already use Cursor — do I need this too?",a:"Cursor writes excellent code but doesn't know WHAT to build or WHY. VibeBusiness decides what code to write based on your business metrics, competitive landscape, and goals. They're complementary: Cursor is the hands, VibeBusiness is the brain."},{q:"What if it makes bad recommendations?",a:"Every recommendation includes its reasoning chain and confidence level. You approve before any code changes happen. VibeBusiness tracks acceptance rates and learns from your feedback. The feedback loop makes it better over time."},{q:"What does it cost?",a:"VibeBusiness is free to start — install via npm with zero upfront cost. You bring your own Claude API key (BYOK), so AI costs stay transparent and under your control. Paid plans unlock unlimited projects, faster cycles, and advanced features."}].map(e=>(0,a.jsxs)("div",{className:"pb-6 border-b border-slate-100 last:border-0",children:[(0,a.jsxs)("h3",{className:"font-semibold text-slate-900 mb-2 flex items-start gap-2",children:[a.jsx(u,{className:"w-4 h-4 text-emerald-500 mt-1 flex-shrink-0"}),e.q]}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed pl-6",children:e.a})]},e.q))})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-slate-950",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-white mb-4",children:"See what VibeBusiness finds in your codebase"}),a.jsx("p",{className:"text-slate-400 mb-10 max-w-lg mx-auto",children:"Run one command. Get a better analysis than a $5K consultant. In 60 seconds. No account required."}),a.jsx("div",{className:"max-w-md mx-auto mb-8",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"})]}),(0,a.jsxs)("div",{className:"p-4 font-mono text-sm text-left",children:[a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"}),a.jsx(j,{prompt:"$",command:"vibebusiness init && vibebusiness heartbeat"})]})]})}),(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition-colors text-base",children:[a.jsx(n,{className:"w-4 h-4"}),"Install from npm",a.jsx(o,{className:"w-4 h-4"})]})]})}),a.jsx("footer",{className:"py-8 bg-slate-950 border-t border-slate-800",children:a.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-6 h-6 bg-emerald-500 rounded flex items-center justify-center",children:a.jsx(r,{className:"w-3 h-3 text-white"})}),a.jsx("span",{className:"text-sm font-medium text-slate-400",children:"VibeBusiness"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 text-sm text-slate-500",children:[a.jsx("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-300 transition-colors",children:"npm"}),a.jsx("a",{href:"https://github.com/luismey/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-300 transition-colors",children:"GitHub"})]}),a.jsx("p",{className:"text-xs text-slate-600",children:"Built by an indie hacker, for indie hackers."})]})})})]})}},2029:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>r,metadata:()=>l});var a=t(9510);t(5023);let l={title:process.env.NEXT_PUBLIC_PRODUCT_NAME?`${process.env.NEXT_PUBLIC_PRODUCT_NAME} Analyst`:"AI Business Analyst",description:"AI Business Analyst - Autonomous improvement proposals"};function r({children:e}){return a.jsx("html",{lang:"en",children:a.jsx("body",{className:"min-h-screen bg-slate-50",children:e})})}},5023:()=>{}};var s=require("../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),a=s.X(0,[276,471],()=>t(4003));module.exports=a})();
|
|
1
|
+
(()=>{var e={};e.id=8582,e.ids=[8582],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4003:(e,s,t)=>{"use strict";t.r(s),t.d(s,{GlobalError:()=>n.a,__next_app__:()=>x,originalPathname:()=>m,pages:()=>c,routeModule:()=>h,tree:()=>d}),t(1598),t(2029),t(5866);var a=t(3191),l=t(8716),r=t(7922),n=t.n(r),i=t(5231),o={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);t.d(s,o);let d=["",{children:["landing",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,1598)),"/Users/luismey/Code/vibebusiness/src/app/landing/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,2029)),"/Users/luismey/Code/vibebusiness/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,5866,23)),"next/dist/client/components/not-found-error"]}],c=["/Users/luismey/Code/vibebusiness/src/app/landing/page.tsx"],m="/landing/page",x={require:t,loadChunk:()=>Promise.resolve()},h=new a.AppPageRouteModule({definition:{kind:l.x.APP_PAGE,page:"/landing/page",pathname:"/landing",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},7010:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,2994,23)),Promise.resolve().then(t.t.bind(t,6114,23)),Promise.resolve().then(t.t.bind(t,9727,23)),Promise.resolve().then(t.t.bind(t,9671,23)),Promise.resolve().then(t.t.bind(t,1868,23)),Promise.resolve().then(t.t.bind(t,4759,23))},5698:()=>{},5303:()=>{},7162:(e,s,t)=>{"use strict";t.d(s,{Z:()=>o});var a=t(1159);let l=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r=(...e)=>e.filter((e,s,t)=>!!e&&t.indexOf(e)===s).join(" ");var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,a.forwardRef)(({color:e="currentColor",size:s=24,strokeWidth:t=2,absoluteStrokeWidth:l,className:i="",children:o,iconNode:d,...c},m)=>(0,a.createElement)("svg",{ref:m,...n,width:s,height:s,stroke:e,strokeWidth:l?24*Number(t)/Number(s):t,className:r("lucide",i),...c},[...d.map(([e,s])=>(0,a.createElement)(e,s)),...Array.isArray(o)?o:[o]])),o=(e,s)=>{let t=(0,a.forwardRef)(({className:t,...n},o)=>(0,a.createElement)(i,{ref:o,iconNode:s,className:r(`lucide-${l(e)}`,t),...n}));return t.displayName=`${e}`,t}},4120:(e,s,t)=>{"use strict";t.d(s,{Z:()=>a});let a=(0,t(7162).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},9987:(e,s,t)=>{"use strict";t.d(s,{Z:()=>a});let a=(0,t(7162).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},1598:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>y,metadata:()=>b});var a=t(9510),l=t(7162);let r=(0,l.Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),n=(0,l.Z)("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]),i=(0,l.Z)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),o=(0,l.Z)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var d=t(9987);let c=(0,l.Z)("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),m=(0,l.Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),x=(0,l.Z)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),h=(0,l.Z)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var p=t(4120);let u=(0,l.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),b={title:"VibeBusiness — Your AI Business Analyst That Actually Ships Code",description:"The autonomous AI that researches your market, analyzes your metrics, decides what to build, implements it, and verifies the results. Built for indie hackers.",openGraph:{title:"VibeBusiness — Your AI Business Analyst That Actually Ships Code",description:"Stop guessing what to build next. VibeBusiness autonomously analyzes your codebase, metrics, and market — then ships improvements while you sleep.",type:"website"}};function j({prompt:e,command:s,dim:t}){return(0,a.jsxs)("div",{className:`flex gap-2 ${t?"opacity-50":""}`,children:[e&&a.jsx("span",{className:"text-emerald-400 select-none",children:e}),a.jsx("span",{className:"text-slate-200",children:s})]})}function g({children:e,color:s="slate",indent:t=0}){return a.jsx("div",{className:`${{slate:"text-slate-400",emerald:"text-emerald-400",amber:"text-amber-400",blue:"text-blue-400",violet:"text-violet-400",cyan:"text-cyan-400"}[s]}`,style:{paddingLeft:`${1.25*t}rem`},children:e})}function y(){return(0,a.jsxs)("div",{className:"min-h-screen bg-white",children:[a.jsx("nav",{className:"fixed top-0 left-0 right-0 z-50 bg-slate-950/90 backdrop-blur-sm border-b border-slate-800",children:a.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"flex items-center justify-between h-14",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-7 h-7 bg-emerald-500 rounded-lg flex items-center justify-center",children:a.jsx(r,{className:"w-4 h-4 text-white"})}),a.jsx("span",{className:"font-semibold text-white text-lg",children:"VibeBusiness"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[a.jsx("a",{href:"#how-it-works",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"How it works"}),a.jsx("a",{href:"#demo",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"Demo"}),a.jsx("a",{href:"#faq",className:"hidden sm:block text-sm text-slate-400 hover:text-white transition-colors",children:"FAQ"}),(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-1.5 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition-colors",children:[a.jsx(n,{className:"w-3.5 h-3.5"}),"npm install"]})]})]})})}),(0,a.jsxs)("section",{className:"relative bg-slate-950 pt-28 pb-20 sm:pt-32 sm:pb-28 overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 opacity-[0.03]",style:{backgroundImage:"linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px)",backgroundSize:"40px 40px"}}),(0,a.jsxs)("div",{className:"relative max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 text-sm mb-8",children:[a.jsx(i,{className:"w-3.5 h-3.5"}),a.jsx("span",{children:"CLI-native. BYOK. Local-first."})]}),(0,a.jsxs)("h1",{className:"text-4xl sm:text-5xl lg:text-6xl font-bold text-white leading-tight mb-6",children:["Your AI Business Analyst",a.jsx("br",{}),a.jsx("span",{className:"text-emerald-400",children:"That Actually Ships Code"})]}),a.jsx("p",{className:"text-lg sm:text-xl text-slate-400 max-w-2xl mx-auto mb-10 leading-relaxed",children:"VibeBusiness autonomously researches your market, analyzes your metrics, decides what to build, implements it, and verifies the results. While you sleep."}),a.jsx("div",{className:"max-w-md mx-auto mb-8",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden shadow-2xl shadow-emerald-500/5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"}),a.jsx("span",{className:"ml-2 text-xs text-slate-500 font-mono",children:"terminal"})]}),(0,a.jsxs)("div",{className:"p-4 font-mono text-sm text-left",children:[a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"}),a.jsx(j,{prompt:"$",command:"vibebusiness init"}),a.jsx(j,{prompt:"$",command:"vibebusiness heartbeat"}),(0,a.jsxs)(g,{color:"emerald",children:[">"," 7 improvement ideas generated"]}),(0,a.jsxs)(g,{color:"emerald",children:[">"," Dashboard ready at localhost:3001"]})]})]})}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-3",children:[(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition-colors text-base",children:[a.jsx(n,{className:"w-4 h-4"}),"npm install -g vibebusiness"]}),(0,a.jsxs)("a",{href:"#demo",className:"inline-flex items-center gap-1.5 px-6 py-3 text-slate-400 hover:text-white font-medium transition-colors text-base",children:["See it in action",a.jsx(o,{className:"w-4 h-4"})]})]})]})]}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Sound familiar?"}),(0,a.jsxs)("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:["Every solo founder hits the same walls. You can build anything — but knowing",a.jsx("em",{children:" what"})," to build is the hard part."]}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-3 gap-6 sm:gap-8",children:[(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-amber-100 flex items-center justify-center mb-4",children:a.jsx(d.Z,{className:"w-5 h-5 text-amber-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“What should I build next?”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Decision paralysis kills momentum. You have 20 ideas but no PM, no board, no co-founder to help prioritize. So you pick at random — or freeze."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-violet-100 flex items-center justify-center mb-4",children:a.jsx(c,{className:"w-5 h-5 text-violet-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“I shipped it. Now what?”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"90% of side projects die from no users, not bad code. You're great at building but lost on distribution, pricing, and growth. Metrics sit in dashboards nobody checks."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl bg-slate-50 border border-slate-100",children:[a.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-100 flex items-center justify-center mb-4",children:a.jsx(m,{className:"w-5 h-5 text-blue-600"})}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"“Too many tools, zero continuity”"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Baremetrics for metrics. ChatGPT for advice. Notion for decisions. Cursor for code. None of them talk to each other, and none remember what you tried last month."})]})]})]})}),a.jsx("section",{id:"how-it-works",className:"py-16 sm:py-24 bg-slate-950",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-white text-center mb-4",children:"One loop. Full lifecycle."}),a.jsx("p",{className:"text-slate-400 text-center mb-14 max-w-xl mx-auto",children:"VibeBusiness runs an autonomous heartbeat loop that observes, analyzes, recommends, implements, ships, and verifies — continuously."}),a.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[{icon:x,title:"Observe",desc:"Scans your codebase, metrics, and competitive landscape. Detects TODOs, tech debt, growth opportunities, and security gaps.",color:"bg-violet-500/10 text-violet-400",iconColor:"text-violet-400"},{icon:d.Z,title:"Analyze & Prioritize",desc:"Generates improvement ideas ranked by impact and effort. Links recommendations to your business goals and KPIs.",color:"bg-blue-500/10 text-blue-400",iconColor:"text-blue-400"},{icon:h,title:"Implement",desc:"Creates branches, writes code, opens PRs with atomic commits. Uses Claude Code CLI as its implementation engine.",color:"bg-emerald-500/10 text-emerald-400",iconColor:"text-emerald-400"},{icon:r,title:"Ship",desc:"You approve in the Kanban dashboard. The idea moves from approved to in-progress to shipped — with full audit trail.",color:"bg-amber-500/10 text-amber-400",iconColor:"text-amber-400"},{icon:c,title:"Verify",desc:"Measures success metrics against baselines. Did the change actually improve conversion, performance, or engagement?",color:"bg-cyan-500/10 text-cyan-400",iconColor:"text-cyan-400"},{icon:m,title:"Learn & Repeat",desc:"Accumulates context in MEMORY.md. Gets smarter every cycle. After 30 days, it knows your business better than any consultant.",color:"bg-rose-500/10 text-rose-400",iconColor:"text-rose-400"}].map(e=>(0,a.jsxs)("div",{className:"p-5 rounded-xl bg-slate-900 border border-slate-800",children:[a.jsx("div",{className:`w-9 h-9 rounded-lg ${e.color} flex items-center justify-center mb-3`,children:a.jsx(e.icon,{className:`w-4.5 h-4.5 ${e.iconColor}`})}),a.jsx("h3",{className:"font-semibold text-white mb-1.5",children:e.title}),a.jsx("p",{className:"text-sm text-slate-400 leading-relaxed",children:e.desc})]},e.title))})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Three commands to your first insights"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"No accounts. No dashboards. No configuration files. Install, point at your repo, and go."}),(0,a.jsxs)("div",{className:"max-w-3xl mx-auto space-y-8",children:[(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"1"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Install globally"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"One npm install. Brings its own dashboard, CLI, and analysis engine."}),a.jsx("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"})})]})]}),(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"2"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Initialize your workspace"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"Interactive wizard detects your repos, sets up goals, and configures analysis schedules. Takes 30 seconds."}),(0,a.jsxs)("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:[a.jsx(j,{prompt:"$",command:"vibebusiness init"}),a.jsx(g,{color:"emerald",children:"Scanning /Users/you/Code..."}),a.jsx(g,{color:"slate",indent:1,children:"Found: my-saas (Next.js, main)"}),a.jsx(g,{color:"slate",indent:1,children:"Found: my-api (Express, main)"}),a.jsx(g,{color:"emerald",children:"Workspace initialized. Run `vibebusiness heartbeat` to start."})]})]})]}),(0,a.jsxs)("div",{className:"flex gap-5",children:[a.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-emerald-600 text-white flex items-center justify-center font-bold text-sm",children:"3"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-slate-900 mb-1",children:"Run your first heartbeat"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"The AI scans your codebase, generates prioritized improvement ideas, and opens the Kanban dashboard. Set up cron for autonomous mode."}),(0,a.jsxs)("div",{className:"bg-slate-900 rounded-lg p-4 font-mono text-sm overflow-x-auto",children:[a.jsx(j,{prompt:"$",command:"vibebusiness heartbeat"}),a.jsx(g,{color:"slate",children:"Reading STATUS.md, TODO.md, MEMORY.md..."}),a.jsx(g,{color:"slate",children:"Scanning repos: my-saas, my-api"}),a.jsx(g,{color:"emerald",children:"Generated 7 ideas:"}),a.jsx(g,{color:"amber",indent:1,children:"[critical] Add rate limiting to auth endpoints"}),a.jsx(g,{color:"blue",indent:1,children:"[high] Implement Stripe webhook retry handling"}),a.jsx(g,{color:"violet",indent:1,children:"[high] Add OpenGraph meta tags for social sharing"}),a.jsx(g,{color:"slate",indent:1,children:"... and 4 more"}),a.jsx(g,{color:"emerald",children:"Dashboard: http://localhost:3001"})]})]})]})]})]})}),a.jsx("section",{id:"demo",className:"py-16 sm:py-24 bg-slate-50",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"What you get in 60 seconds"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"Here's what a single heartbeat produces for a typical SaaS codebase. Real output, not mockups."}),a.jsx("div",{className:"max-w-4xl mx-auto",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden shadow-2xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"}),a.jsx("span",{className:"ml-2 text-xs text-slate-500 font-mono",children:"vibebusiness heartbeat"})]}),(0,a.jsxs)("div",{className:"p-5 sm:p-6 font-mono text-xs sm:text-sm space-y-4 overflow-x-auto",children:[(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"=== VibeBusiness Heartbeat ==="}),a.jsx(g,{color:"slate",children:"Time: 2026-02-18T09:00:00Z"}),a.jsx(g,{color:"slate",children:"Repos: my-saas (Next.js), my-api (Express)"})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"cyan",children:"[scan] Analyzing 47 files changed since last heartbeat..."}),a.jsx(g,{color:"cyan",children:"[scan] Checking TODO/FIXME markers: 12 found"}),a.jsx(g,{color:"cyan",children:"[scan] Reviewing error patterns and security surface"}),a.jsx(g,{color:"cyan",children:"[scan] Evaluating goal alignment for 3 active goals"})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"[ideas] Generated 5 improvement ideas:"}),(0,a.jsxs)("div",{className:"ml-2 sm:ml-4 mt-2 space-y-3",children:[(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-red-500/20 text-red-400 text-xs",children:"critical"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"security"})]}),a.jsx("div",{className:"text-white font-medium",children:"Add rate limiting to /api/auth/* endpoints"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"No rate limiting detected. Brute-force risk on login/signup. Effort: S | Impact: XL"})]}),(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-400 text-xs",children:"high"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"growth"})]}),a.jsx("div",{className:"text-white font-medium",children:"Add OpenGraph meta tags for social sharing"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"Missing og:image and og:description on 8 pages. Free traffic left on the table. Effort: XS | Impact: M"})]}),(0,a.jsxs)("div",{className:"p-3 rounded bg-slate-800/50 border border-slate-700",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-400 text-xs",children:"high"}),a.jsx("span",{className:"px-1.5 py-0.5 rounded bg-slate-700 text-slate-300 text-xs",children:"product"})]}),a.jsx("div",{className:"text-white font-medium",children:"Implement Stripe webhook retry handling"}),a.jsx("div",{className:"text-slate-500 mt-1",children:"Webhook handler lacks idempotency. Failed payments may go unprocessed. Effort: M | Impact: L"})]}),a.jsx(g,{color:"slate",children:"... +2 more ideas in dashboard"})]})]}),(0,a.jsxs)("div",{children:[a.jsx(g,{color:"emerald",children:"[status] Updated STATUS.md, MEMORY.md"}),a.jsx(g,{color:"emerald",children:"[done] Dashboard: http://localhost:3001"}),a.jsx(g,{color:"emerald",children:"[done] Next heartbeat scheduled: 1:00 PM"})]})]})]})})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-4",children:"Not another AI wrapper"}),a.jsx("p",{className:"text-slate-500 text-center mb-12 max-w-xl mx-auto",children:"Cursor writes the code. VibeBusiness decides what code to write."}),(0,a.jsxs)("div",{className:"grid sm:grid-cols-2 gap-6 max-w-4xl mx-auto",children:[(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(p.Z,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Autonomous heartbeat"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Runs proactively while you sleep. Morning briefing with prioritized recommendations. Every other dev tool waits for you — this one doesn't."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(x,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Persistent memory"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"MEMORY.md accumulates deep understanding over months. Tracks what was tried, what worked, and why. ChatGPT forgets everything between sessions."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(h,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"Full lifecycle closure"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Idea to branch to PR to shipped to verified. No other tool closes the loop from analysis to implementation to outcome measurement."})]}),(0,a.jsxs)("div",{className:"p-6 rounded-xl border border-slate-200 hover:border-emerald-200 transition-colors",children:[a.jsx(i,{className:"w-6 h-6 text-emerald-600 mb-3"}),a.jsx("h3",{className:"font-semibold text-slate-900 mb-2",children:"BYOK & local-first"}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed",children:"Your API key, your machine, your data. Near-zero COGS. No vendor lock-in on data. Transparent AI costs under your control."})]})]})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-slate-50",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-12",children:"Where VibeBusiness fits"}),a.jsx("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[a.jsx("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-slate-200",children:[a.jsx("th",{className:"text-left py-3 pr-4 font-medium text-slate-500",children:"Capability"}),a.jsx("th",{className:"py-3 px-4 font-semibold text-emerald-600",children:"VibeBusiness"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"Cursor / Copilot"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"Baremetrics"}),a.jsx("th",{className:"py-3 px-4 font-medium text-slate-500",children:"ChatGPT"})]})}),(0,a.jsxs)("tbody",{className:"text-slate-600",children:[(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Autonomous analysis"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Code implementation"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Business strategy"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-amber-500 font-medium",children:"Partial"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Metrics tracking"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{className:"border-b border-slate-100",children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Persistent memory"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"N/A"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]}),(0,a.jsxs)("tr",{children:[a.jsx("td",{className:"py-2.5 pr-4",children:"Outcome verification"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-emerald-600 font-medium",children:"Yes"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"}),a.jsx("td",{className:"py-2.5 px-4 text-center text-slate-400",children:"No"})]})]})]})})]})}),a.jsx("section",{id:"faq",className:"py-16 sm:py-24 bg-white",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-slate-900 text-center mb-12",children:"Frequently asked questions"}),a.jsx("div",{className:"space-y-6",children:[{q:"Isn't this just a ChatGPT wrapper?",a:"VibeBusiness runs autonomously overnight, accumulates months of business context in MEMORY.md, integrates with your actual Stripe and PostHog data, and ships production code through Claude Code CLI. No wrapper does that."},{q:"Why not just use ChatGPT or Claude directly?",a:"ChatGPT forgets everything between sessions, can't observe your codebase continuously, doesn't integrate with your metrics, and never ships a line of code. VibeBusiness has persistent memory, real data integrations, and an autonomous implementation engine."},{q:"Can I trust AI for business decisions?",a:"VibeBusiness uses a Human-on-the-Loop model: the AI recommends, you approve. Every recommendation is grounded in your actual metrics, not generic advice. You see the full reasoning chain. Start conservative, increase autonomy as trust builds."},{q:"I already use Cursor — do I need this too?",a:"Cursor writes excellent code but doesn't know WHAT to build or WHY. VibeBusiness decides what code to write based on your business metrics, competitive landscape, and goals. They're complementary: Cursor is the hands, VibeBusiness is the brain."},{q:"What if it makes bad recommendations?",a:"Every recommendation includes its reasoning chain and confidence level. You approve before any code changes happen. VibeBusiness tracks acceptance rates and learns from your feedback. The feedback loop makes it better over time."},{q:"What does it cost?",a:"VibeBusiness is free to start — install via npm with zero upfront cost. You bring your own Claude API key (BYOK), so AI costs stay transparent and under your control. Paid plans unlock unlimited projects, faster cycles, and advanced features."}].map(e=>(0,a.jsxs)("div",{className:"pb-6 border-b border-slate-100 last:border-0",children:[(0,a.jsxs)("h3",{className:"font-semibold text-slate-900 mb-2 flex items-start gap-2",children:[a.jsx(u,{className:"w-4 h-4 text-emerald-500 mt-1 flex-shrink-0"}),e.q]}),a.jsx("p",{className:"text-sm text-slate-500 leading-relaxed pl-6",children:e.a})]},e.q))})]})}),a.jsx("section",{className:"py-16 sm:py-24 bg-slate-950",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-white mb-4",children:"See what VibeBusiness finds in your codebase"}),a.jsx("p",{className:"text-slate-400 mb-10 max-w-lg mx-auto",children:"Run one command. Get a better analysis than a $5K consultant. In 60 seconds. No account required."}),a.jsx("div",{className:"max-w-md mx-auto mb-8",children:(0,a.jsxs)("div",{className:"bg-slate-900 rounded-xl border border-slate-700 overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2.5 bg-slate-800/50 border-b border-slate-700",children:[a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-amber-500/70"}),a.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500/70"})]}),(0,a.jsxs)("div",{className:"p-4 font-mono text-sm text-left",children:[a.jsx(j,{prompt:"$",command:"npm install -g vibebusiness"}),a.jsx(j,{prompt:"$",command:"vibebusiness init && vibebusiness heartbeat"})]})]})}),(0,a.jsxs)("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition-colors text-base",children:[a.jsx(n,{className:"w-4 h-4"}),"Install from npm",a.jsx(o,{className:"w-4 h-4"})]})]})}),a.jsx("footer",{className:"py-8 bg-slate-950 border-t border-slate-800",children:a.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-6 h-6 bg-emerald-500 rounded flex items-center justify-center",children:a.jsx(r,{className:"w-3 h-3 text-white"})}),a.jsx("span",{className:"text-sm font-medium text-slate-400",children:"VibeBusiness"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 text-sm text-slate-500",children:[a.jsx("a",{href:"https://www.npmjs.com/package/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-300 transition-colors",children:"npm"}),a.jsx("a",{href:"https://github.com/luismey/vibebusiness",target:"_blank",rel:"noopener noreferrer",className:"hover:text-slate-300 transition-colors",children:"GitHub"})]}),a.jsx("p",{className:"text-xs text-slate-600",children:"Built by an indie hacker, for indie hackers."})]})})})]})}},2029:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>r,metadata:()=>l});var a=t(9510);t(5023);let l={title:process.env.NEXT_PUBLIC_PRODUCT_NAME?`${process.env.NEXT_PUBLIC_PRODUCT_NAME} Analyst`:"AI Business Analyst",description:"AI Business Analyst - Autonomous improvement proposals"};function r({children:e}){return a.jsx("html",{lang:"en",children:a.jsx("body",{className:"min-h-screen bg-slate-50",children:e})})}},5023:()=>{}};var s=require("../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),a=s.X(0,[9276,4471],()=>t(4003));module.exports=a})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/package.json","../../../../package.json","../../../package.json","../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/package.json","../../../../package.json","../../../package.json","../../chunks/4471.js","../../chunks/9276.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|