vibebusiness 1.2.46 → 1.2.49
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 +5 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +17 -17
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-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_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 +2 -2
- package/.next/standalone/.next/server/app/api/analyze/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +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.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/social/[id]/publish/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/route.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.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_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/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_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_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 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +3 -3
- package/.next/standalone/.next/server/app-paths-manifest.json +13 -13
- package/.next/standalone/.next/server/chunks/3644.js +1 -1
- package/.next/standalone/.next/server/chunks/{7809.js → 3794.js} +103 -2
- 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/server-reference-manifest.json +1 -1
- package/.next/standalone/data/business-context.json +7 -4
- package/.next/standalone/data/copy/landing-landing-page-2026-02-20.md +1 -1
- package/.next/standalone/data/heartbeat-sessions.json +211 -10
- package/.next/standalone/data/hypotheses.json +2 -2
- package/.next/standalone/data/ideas.json +958 -449
- package/.next/standalone/data/implementations.json +136 -2
- package/.next/standalone/data/positioning.json +1 -1
- package/.next/standalone/data/reports/visuals/promo-launch.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-ship-fast.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept-v2.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept-v3.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept.png +0 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/scripts/analyze.ts +2 -2
- package/.next/standalone/scripts/implement.ts +5 -5
- package/.next/standalone/scripts/skills/social-media.ts +310 -9
- package/.next/static/chunks/{444-125b7b0fa8cbdb81.js → 444-1826396aef4dab2f.js} +1 -1
- package/.next/static/chunks/app/hypotheses/[id]/{page-65032da79ae146c5.js → page-8999ee91b824d378.js} +1 -1
- package/.next/static/chunks/app/hypotheses/page-6206bce440c44569.js +1 -0
- package/.next/static/chunks/app/ideas/[id]/{page-dc9746061e58eea5.js → page-89e3625db9017166.js} +1 -1
- package/.next/static/chunks/app/{page-fb66ff080390f20a.js → page-8ba52ac74c75461b.js} +1 -1
- package/.next/static/chunks/app/roadmap/[id]/{page-c8c4baf233e0d480.js → page-f437e783039534c4.js} +1 -1
- package/.next/static/chunks/app/roadmap/{page-b15554a207ed2813.js → page-6177b8774b4af79f.js} +1 -1
- package/.next/static/chunks/app/social/{page-6c61fb0c2546313e.js → page-69e480936711ccf2.js} +1 -1
- package/README.md +1 -1
- package/dist/bin/vibebusiness.js +22 -0
- package/dist/scripts/analyze.js +4 -3
- package/dist/scripts/chat.js +10 -2
- package/dist/scripts/generate-idea.js +1 -0
- package/dist/scripts/heartbeat.js +2265 -653
- package/dist/scripts/implement.js +5 -4
- package/dist/scripts/init.js +5 -0
- package/dist/scripts/scan.js +2 -1
- package/package.json +2 -2
- package/templates/commands/setup-posthog.md +116 -0
- package/.next/static/chunks/app/hypotheses/page-8314da4be7c533bd.js +0 -1
- /package/.next/static/{Tko0dnk2wKPorUxfNnm0x → zIIaTqrawBK1MmHg37JOr}/_buildManifest.js +0 -0
- /package/.next/static/{Tko0dnk2wKPorUxfNnm0x → zIIaTqrawBK1MmHg37JOr}/_ssgManifest.js +0 -0
|
@@ -241,7 +241,7 @@
|
|
|
241
241
|
"[2026-02-19T20:11:28.374Z] Create PR only mode — skipping implementation",
|
|
242
242
|
"[2026-02-19T20:11:28.386Z] Pushing branch ai/idea-boot-001-auto-run-quick-scan-after-vibebusiness-i to origin",
|
|
243
243
|
"[2026-02-19T20:11:45.112Z] Creating PR with gh CLI",
|
|
244
|
-
"[2026-02-19T20:12:15.119Z] Failed to create PR: Command failed: gh pr create --title \"[AI] Auto-run quick scan after vibebusiness init to prevent blank board\" --body \"## Summary\n\nPrompt users to run their first vibe cycle immediately after init so the Kanban is never empty on first open.\n\n## Implementation Plan\n\n1. At end of `vibebusiness init`, after repo config is saved, ask: 'Run your first vibe cycle now? (Y/n)'\n2. If yes, execute `vibebusiness analyze --type=quick` inline\n3. Show animated spinner: 'Analyzing your codebase...'\n4. Print summary: 'Generated X ideas. Run `vibebusiness start` to view them.'\n5. Time the full init → ideas flow; target <60 seconds for kpi-first-run-time\n\n## Success Metrics\n\n- 100% of users who complete init see ≥3 ideas on first dashboard open\n- First-run time from install to first idea <60 seconds\n\n---\n\nThis PR was automatically generated by the AI
|
|
244
|
+
"[2026-02-19T20:12:15.119Z] Failed to create PR: Command failed: gh pr create --title \"[AI] Auto-run quick scan after vibebusiness init to prevent blank board\" --body \"## Summary\n\nPrompt users to run their first vibe cycle immediately after init so the Kanban is never empty on first open.\n\n## Implementation Plan\n\n1. At end of `vibebusiness init`, after repo config is saved, ask: 'Run your first vibe cycle now? (Y/n)'\n2. If yes, execute `vibebusiness analyze --type=quick` inline\n3. Show animated spinner: 'Analyzing your codebase...'\n4. Print summary: 'Generated X ideas. Run `vibebusiness start` to view them.'\n5. Time the full init → ideas flow; target <60 seconds for kpi-first-run-time\n\n## Success Metrics\n\n- 100% of users who complete init see ≥3 ideas on first dashboard open\n- First-run time from install to first idea <60 seconds\n\n---\n\nThis PR was automatically generated by the AI Product Manager.\nIdea ID: `idea-boot-001`\n\" --base main\nspawnSync /bin/sh ETIMEDOUT"
|
|
245
245
|
]
|
|
246
246
|
},
|
|
247
247
|
{
|
|
@@ -665,7 +665,7 @@
|
|
|
665
665
|
"[2026-02-20T16:17:46.550Z] Create PR only mode — skipping implementation",
|
|
666
666
|
"[2026-02-20T16:17:46.571Z] Pushing branch ai/idea-8ed5995b-track-init-to-scan-activation-funnel-wit to origin",
|
|
667
667
|
"[2026-02-20T16:17:47.808Z] Creating PR with gh CLI",
|
|
668
|
-
"[2026-02-20T16:17:49.220Z] Failed to create PR: Command failed: gh pr create --title \"[AI] Track init-to-scan activation funnel with telemetry events\" --body \"## Summary\n\nAdd telemetry events for init_completed, first_scan_completed, and time_to_first_idea to measure the activation funnel critical for beta user recruitment.\n\n## Implementation Plan\n\n1. In scripts/init.ts, instrument 6 checkpoint events appended to data/analytics.json:\n - `{ \\\"event\\\": \\\"init_started\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — before wizard begins\n - `{ \\\"event\\\": \\\"api_key_provided\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — after key validation passes\n - `{ \\\"event\\\": \\\"repo_configured\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — after repo selection\n - `{ \\\"event\\\": \\\"init_completed\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\", \\\"duration_ms\\\": N, \\\"provider_type\\\": \\\"<str>\\\", \\\"repo_count\\\": N }` — after setup succeeds (~line 726)\n - `{ \\\"event\\\": \\\"first_scan_started\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — in scripts/analyze.ts at scan start\n - `{ \\\"event\\\": \\\"first_scan_completed\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\", \\\"ideas_count\\\": N, \\\"duration_ms\\\": N }` — after ideas generated\n2. Also add `trackEvent('init_started', {})` via existing telemetry.ts in bin/ai-analyst.ts (~line 362) and `trackEvent('init_completed', {...})` + `trackEvent('first_scan_completed', {...})` in relevant scripts.\n3. In scripts/heartbeat.ts, read data/analytics.json and compute the funnel:\n - Activation rate = first_scan_completed / init_started ← PRIMARY METRIC\n - API key drop-off rate = 1 − (api_key_provided / init_started)\n - Repo config drop-off = 1 − (repo_configured / api_key_provided)\n - Init completion rate = init_completed / init_started\n4. Decision criteria (no code needed — evaluate after ≥10 beta installs):\n - ≥60% activation → BYOK CONFIRMED. Focus on init UX polish and growth.\n - 40-59% → BYOK VIABLE but friction exists. Identify drop-off stage and fix it.\n - <40% → BYOK AT RISK. Add 'Try with 10 free runs' fallback or guided API key signup.\n5. Add `trackEvent('activation_milestone', { milestone: 'first_idea_viewed' })` when user first opens dashboard.\n6. Add a `vibebusiness telemetry summary` subcommand that reads events.jsonl and outputs activation funnel stats locally.\n7. After ≥10 data points: write 'hyp-byok-adoption: CONFIRMED / REFUTED / INCONCLUSIVE — activation rate N%' to MEMORY.md.\n8. **Monitoring:** Log all telemetry writes to stdout when --verbose flag is set. Track event write success rate (target: >99%). Add `telemetry_events_written` counter to STATUS.md heartbeat output. Verify post-deploy by running `vibebusiness init` on a fresh directory and checking events.jsonl contains init_started + init_completed events.\n\n## Success Metrics\n\n- Init-to-First-Scan Activation Rate measurable (baseline: N/A → target: numeric value visible in telemetry summary within 1 week of shipping)\n- First-Run Time to Value measurable (baseline: N/A → target: p50 duration visible in telemetry summary within 1 week)\n- At least 4 activation funnel events tracked: init_started, init_completed, first_scan_completed, first_idea_viewed (baseline: 1 event → target: 4 events within 1 sprint)\n- Telemetry write success rate >99% verified via events.jsonl integrity check\n\n---\n\nThis PR was automatically generated by the AI
|
|
668
|
+
"[2026-02-20T16:17:49.220Z] Failed to create PR: Command failed: gh pr create --title \"[AI] Track init-to-scan activation funnel with telemetry events\" --body \"## Summary\n\nAdd telemetry events for init_completed, first_scan_completed, and time_to_first_idea to measure the activation funnel critical for beta user recruitment.\n\n## Implementation Plan\n\n1. In scripts/init.ts, instrument 6 checkpoint events appended to data/analytics.json:\n - `{ \\\"event\\\": \\\"init_started\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — before wizard begins\n - `{ \\\"event\\\": \\\"api_key_provided\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — after key validation passes\n - `{ \\\"event\\\": \\\"repo_configured\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — after repo selection\n - `{ \\\"event\\\": \\\"init_completed\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\", \\\"duration_ms\\\": N, \\\"provider_type\\\": \\\"<str>\\\", \\\"repo_count\\\": N }` — after setup succeeds (~line 726)\n - `{ \\\"event\\\": \\\"first_scan_started\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\" }` — in scripts/analyze.ts at scan start\n - `{ \\\"event\\\": \\\"first_scan_completed\\\", \\\"ts\\\": \\\"<ISO>\\\", \\\"session_id\\\": \\\"<uuid>\\\", \\\"ideas_count\\\": N, \\\"duration_ms\\\": N }` — after ideas generated\n2. Also add `trackEvent('init_started', {})` via existing telemetry.ts in bin/ai-analyst.ts (~line 362) and `trackEvent('init_completed', {...})` + `trackEvent('first_scan_completed', {...})` in relevant scripts.\n3. In scripts/heartbeat.ts, read data/analytics.json and compute the funnel:\n - Activation rate = first_scan_completed / init_started ← PRIMARY METRIC\n - API key drop-off rate = 1 − (api_key_provided / init_started)\n - Repo config drop-off = 1 − (repo_configured / api_key_provided)\n - Init completion rate = init_completed / init_started\n4. Decision criteria (no code needed — evaluate after ≥10 beta installs):\n - ≥60% activation → BYOK CONFIRMED. Focus on init UX polish and growth.\n - 40-59% → BYOK VIABLE but friction exists. Identify drop-off stage and fix it.\n - <40% → BYOK AT RISK. Add 'Try with 10 free runs' fallback or guided API key signup.\n5. Add `trackEvent('activation_milestone', { milestone: 'first_idea_viewed' })` when user first opens dashboard.\n6. Add a `vibebusiness telemetry summary` subcommand that reads events.jsonl and outputs activation funnel stats locally.\n7. After ≥10 data points: write 'hyp-byok-adoption: CONFIRMED / REFUTED / INCONCLUSIVE — activation rate N%' to MEMORY.md.\n8. **Monitoring:** Log all telemetry writes to stdout when --verbose flag is set. Track event write success rate (target: >99%). Add `telemetry_events_written` counter to STATUS.md heartbeat output. Verify post-deploy by running `vibebusiness init` on a fresh directory and checking events.jsonl contains init_started + init_completed events.\n\n## Success Metrics\n\n- Init-to-First-Scan Activation Rate measurable (baseline: N/A → target: numeric value visible in telemetry summary within 1 week of shipping)\n- First-Run Time to Value measurable (baseline: N/A → target: p50 duration visible in telemetry summary within 1 week)\n- At least 4 activation funnel events tracked: init_started, init_completed, first_scan_completed, first_idea_viewed (baseline: 1 event → target: 4 events within 1 sprint)\n- Telemetry write success rate >99% verified via events.jsonl integrity check\n\n---\n\nThis PR was automatically generated by the AI Product Manager.\nIdea ID: `idea-8ed5995b`\n\" --base main\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 1: syntax error: unexpected end of file\n/bin/sh: command substitution: line 0: syntax error near unexpected token `'init_started','\n/bin/sh: command substitution: line 0: `trackEvent('init_started', {})'\n/bin/sh: command substitution: line 0: syntax error near unexpected token `'init_completed','\n/bin/sh: command substitution: line 0: `trackEvent('init_completed', {...})'\n/bin/sh: command substitution: line 0: syntax error near unexpected token `'first_scan_completed','\n/bin/sh: command substitution: line 0: `trackEvent('first_scan_completed', {...})'\n/bin/sh: command substitution: line 0: syntax error near unexpected token `'activation_milestone','\n/bin/sh: command substitution: line 0: `trackEvent('activation_milestone', { milestone: 'first_idea_viewed' })'\n/bin/sh: telemetry_events_written: command not found\n/bin/sh: idea-8ed5995b: command not found\na pull request for branch \"ai/idea-8ed5995b-track-init-to-scan-activation-funnel-wit\" into branch \"main\" already exists:\nhttps://github.com/braza-ai/100xmanager/pull/3\n"
|
|
669
669
|
]
|
|
670
670
|
},
|
|
671
671
|
{
|
|
@@ -1235,6 +1235,140 @@
|
|
|
1235
1235
|
"[2026-02-21T01:54:01.615Z] Changes detected, staging and committing...",
|
|
1236
1236
|
"[2026-02-21T01:54:01.681Z] Skipping PR creation (--skip-pr)"
|
|
1237
1237
|
]
|
|
1238
|
+
},
|
|
1239
|
+
{
|
|
1240
|
+
"id": "impl-mlvq8qtv",
|
|
1241
|
+
"idea_id": "idea-4rxt3mkj",
|
|
1242
|
+
"status": "completed",
|
|
1243
|
+
"repo_name": "vibebusiness",
|
|
1244
|
+
"branch_name": "ai/idea-4rxt3mkj-optimize-npm-package-as-primary-acquisit",
|
|
1245
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness",
|
|
1246
|
+
"logs": [
|
|
1247
|
+
"[2026-02-21T02:56:08.659Z] Implementation started",
|
|
1248
|
+
"[2026-02-21T02:56:08.661Z] Fetching latest from origin...",
|
|
1249
|
+
"[2026-02-21T02:56:10.648Z] Checking out branch: ai/idea-4rxt3mkj-optimize-npm-package-as-primary-acquisit",
|
|
1250
|
+
"[2026-02-21T02:56:12.138Z] Create PR only mode — skipping implementation",
|
|
1251
|
+
"[2026-02-21T02:56:12.149Z] No commits to push, skipping PR creation"
|
|
1252
|
+
]
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"id": "impl-mlvqj83i",
|
|
1256
|
+
"idea_id": "idea-prqf3lob",
|
|
1257
|
+
"status": "completed",
|
|
1258
|
+
"repo_name": "vibebusiness",
|
|
1259
|
+
"branch_name": "ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1260
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1261
|
+
"logs": [
|
|
1262
|
+
"[2026-02-21T03:04:17.598Z] Implementation started",
|
|
1263
|
+
"[2026-02-21T03:04:17.600Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1264
|
+
"[2026-02-21T03:04:17.601Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1265
|
+
"[2026-02-21T03:04:17.605Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g2",
|
|
1266
|
+
"[2026-02-21T03:04:17.607Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1267
|
+
"[2026-02-21T03:04:17.609Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g3",
|
|
1268
|
+
"[2026-02-21T03:04:17.611Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1269
|
+
"[2026-02-21T03:04:37.226Z] Claude Code completed successfully in 20s (276 chars)",
|
|
1270
|
+
"[2026-02-21T03:04:37.278Z] Changes detected, staging and committing...",
|
|
1271
|
+
"[2026-02-21T03:04:37.326Z] Skipping PR creation (--skip-pr)",
|
|
1272
|
+
"[2026-02-21T03:04:47.607Z] ...Claude Code working (30s elapsed, 0 chars output, 30s since last output)",
|
|
1273
|
+
"[2026-02-21T03:04:47.614Z] ...Claude Code working (30s elapsed, 0 chars output, 30s since last output)",
|
|
1274
|
+
"[2026-02-21T03:05:17.608Z] ...Claude Code working (60s elapsed, 0 chars output, 60s since last output)",
|
|
1275
|
+
"[2026-02-21T03:05:17.616Z] ...Claude Code working (60s elapsed, 0 chars output, 60s since last output)",
|
|
1276
|
+
"[2026-02-21T03:05:47.611Z] ...Claude Code working (90s elapsed, 0 chars output, 90s since last output)",
|
|
1277
|
+
"[2026-02-21T03:05:47.616Z] ...Claude Code working (90s elapsed, 0 chars output, 90s since last output)",
|
|
1278
|
+
"[2026-02-21T03:06:17.613Z] ...Claude Code working (120s elapsed, 0 chars output, 120s since last output)",
|
|
1279
|
+
"[2026-02-21T03:06:17.619Z] ...Claude Code working (120s elapsed, 0 chars output, 120s since last output)",
|
|
1280
|
+
"[2026-02-21T03:06:47.616Z] ...Claude Code working (150s elapsed, 0 chars output, 150s since last output)",
|
|
1281
|
+
"[2026-02-21T03:06:47.619Z] ...Claude Code working (150s elapsed, 0 chars output, 150s since last output)",
|
|
1282
|
+
"[2026-02-21T03:06:56.374Z] Claude Code completed successfully in 159s (1137 chars)",
|
|
1283
|
+
"[2026-02-21T03:06:56.444Z] Changes detected, staging and committing...",
|
|
1284
|
+
"[2026-02-21T03:06:56.513Z] Skipping PR creation (--skip-pr)",
|
|
1285
|
+
"[2026-02-21T03:07:17.619Z] ...Claude Code working (180s elapsed, 0 chars output, 180s since last output)",
|
|
1286
|
+
"[2026-02-21T03:07:17.623Z] ...Claude Code working (180s elapsed, 0 chars output, 180s since last output)",
|
|
1287
|
+
"[2026-02-21T03:07:47.619Z] ...Claude Code working (210s elapsed, 0 chars output, 210s since last output)",
|
|
1288
|
+
"[2026-02-21T03:07:47.625Z] ...Claude Code working (210s elapsed, 0 chars output, 210s since last output)",
|
|
1289
|
+
"[2026-02-21T03:08:13.909Z] Claude Code completed successfully in 236s (1376 chars)",
|
|
1290
|
+
"[2026-02-21T03:08:13.973Z] Changes detected, staging and committing...",
|
|
1291
|
+
"[2026-02-21T03:08:14.025Z] Skipping PR creation (--skip-pr)",
|
|
1292
|
+
"[2026-02-21T03:08:17.620Z] ...Claude Code working (240s elapsed, 0 chars output, 240s since last output)",
|
|
1293
|
+
"[2026-02-21T03:08:42.451Z] Claude Code completed successfully in 265s (983 chars)",
|
|
1294
|
+
"[2026-02-21T03:08:42.509Z] Changes detected, staging and committing...",
|
|
1295
|
+
"[2026-02-21T03:08:42.575Z] Skipping PR creation (--skip-pr)"
|
|
1296
|
+
]
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"id": "impl-mlvqmmrj",
|
|
1300
|
+
"idea_id": "idea-prqf3lob",
|
|
1301
|
+
"status": "completed",
|
|
1302
|
+
"repo_name": "vibebusiness",
|
|
1303
|
+
"branch_name": "ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1304
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1305
|
+
"logs": [
|
|
1306
|
+
"[2026-02-21T03:06:56.575Z] Implementation started",
|
|
1307
|
+
"[2026-02-21T03:06:56.576Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1308
|
+
"[2026-02-21T03:06:56.577Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1309
|
+
"[2026-02-21T03:07:26.584Z] ...Claude Code working (30s elapsed, 0 chars output, 30s since last output)",
|
|
1310
|
+
"[2026-02-21T03:07:56.587Z] ...Claude Code working (60s elapsed, 0 chars output, 60s since last output)",
|
|
1311
|
+
"[2026-02-21T03:08:26.588Z] ...Claude Code working (90s elapsed, 0 chars output, 90s since last output)",
|
|
1312
|
+
"[2026-02-21T03:08:56.592Z] ...Claude Code working (120s elapsed, 0 chars output, 120s since last output)",
|
|
1313
|
+
"[2026-02-21T03:09:26.592Z] ...Claude Code working (150s elapsed, 0 chars output, 150s since last output)",
|
|
1314
|
+
"[2026-02-21T03:09:56.594Z] ...Claude Code working (180s elapsed, 0 chars output, 180s since last output)",
|
|
1315
|
+
"[2026-02-21T03:10:26.600Z] ...Claude Code working (210s elapsed, 0 chars output, 210s since last output)",
|
|
1316
|
+
"[2026-02-21T03:10:40.392Z] Claude Code completed successfully in 224s (1495 chars)",
|
|
1317
|
+
"[2026-02-21T03:10:40.420Z] Changes detected, staging and committing...",
|
|
1318
|
+
"[2026-02-21T03:10:40.490Z] Skipping PR creation (--skip-pr)"
|
|
1319
|
+
]
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"id": "impl-mlvqrflc",
|
|
1323
|
+
"idea_id": "idea-prqf3lob",
|
|
1324
|
+
"status": "completed",
|
|
1325
|
+
"repo_name": "vibebusiness",
|
|
1326
|
+
"branch_name": "ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1327
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1328
|
+
"logs": [
|
|
1329
|
+
"[2026-02-21T03:10:40.559Z] Implementation started",
|
|
1330
|
+
"[2026-02-21T03:10:40.561Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1331
|
+
"[2026-02-21T03:10:40.562Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1332
|
+
"[2026-02-21T03:11:10.566Z] ...Claude Code working (30s elapsed, 0 chars output, 30s since last output)",
|
|
1333
|
+
"[2026-02-21T03:11:34.714Z] Claude Code completed successfully in 54s (910 chars)",
|
|
1334
|
+
"[2026-02-21T03:11:34.728Z] Changes detected, staging and committing...",
|
|
1335
|
+
"[2026-02-21T03:11:34.786Z] Skipping PR creation (--skip-pr)"
|
|
1336
|
+
]
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"id": "impl-mlvqslh8",
|
|
1340
|
+
"idea_id": "idea-prqf3lob",
|
|
1341
|
+
"status": "completed",
|
|
1342
|
+
"repo_name": "vibebusiness",
|
|
1343
|
+
"branch_name": "ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1344
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1345
|
+
"logs": [
|
|
1346
|
+
"[2026-02-21T03:11:34.844Z] Implementation started",
|
|
1347
|
+
"[2026-02-21T03:11:34.845Z] Using pre-configured worktree: /Users/luismey/Code/vibebusiness/workspaces/vibebusiness-worktrees/ai/idea-prqf3lob-impl-g0",
|
|
1348
|
+
"[2026-02-21T03:11:34.846Z] Running Claude Code to implement changes (timeout: 600s (model: sonnet))...",
|
|
1349
|
+
"[2026-02-21T03:12:04.851Z] ...Claude Code working (30s elapsed, 0 chars output, 30s since last output)",
|
|
1350
|
+
"[2026-02-21T03:12:34.853Z] ...Claude Code working (60s elapsed, 0 chars output, 60s since last output)",
|
|
1351
|
+
"[2026-02-21T03:13:04.855Z] ...Claude Code working (90s elapsed, 0 chars output, 90s since last output)",
|
|
1352
|
+
"[2026-02-21T03:13:34.855Z] ...Claude Code working (120s elapsed, 0 chars output, 120s since last output)",
|
|
1353
|
+
"[2026-02-21T03:13:59.300Z] Claude Code completed successfully in 144s (974 chars)",
|
|
1354
|
+
"[2026-02-21T03:13:59.326Z] Changes detected, staging and committing...",
|
|
1355
|
+
"[2026-02-21T03:13:59.382Z] Skipping PR creation (--skip-pr)"
|
|
1356
|
+
]
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"id": "impl-mlvqvp76",
|
|
1360
|
+
"idea_id": "idea-prqf3lob",
|
|
1361
|
+
"status": "completed",
|
|
1362
|
+
"repo_name": "vibebusiness",
|
|
1363
|
+
"branch_name": "ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1364
|
+
"workspace_path": "/Users/luismey/Code/vibebusiness/workspaces/vibebusiness",
|
|
1365
|
+
"logs": [
|
|
1366
|
+
"[2026-02-21T03:13:59.634Z] Implementation started",
|
|
1367
|
+
"[2026-02-21T03:13:59.635Z] Fetching latest from origin...",
|
|
1368
|
+
"[2026-02-21T03:14:01.093Z] Checking out branch: ai/idea-prqf3lob-add-vibebusiness-digest-command-for-buil",
|
|
1369
|
+
"[2026-02-21T03:14:02.477Z] Create PR only mode — skipping implementation",
|
|
1370
|
+
"[2026-02-21T03:14:02.490Z] No commits to push, skipping PR creation"
|
|
1371
|
+
]
|
|
1238
1372
|
}
|
|
1239
1373
|
]
|
|
1240
1374
|
}
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"copy_bank": {
|
|
88
88
|
"headlines": [
|
|
89
|
-
{ "text": "Your AI
|
|
89
|
+
{ "text": "Your AI Product Manager That Actually Ships Code", "audience": "indie hackers", "funnel_stage": "tofu" },
|
|
90
90
|
{ "text": "From Shower Thought to Shipped Product", "audience": "vibe-coders", "funnel_stage": "tofu" },
|
|
91
91
|
{ "text": "The Business Intelligence Tool That Works While You Sleep", "audience": "indie hackers", "funnel_stage": "tofu" },
|
|
92
92
|
{ "text": "Stop Guessing What to Build Next", "audience": "solo founders", "funnel_stage": "tofu" },
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibebusiness",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "AI-powered autonomous
|
|
3
|
+
"version": "1.2.49",
|
|
4
|
+
"description": "AI-powered autonomous product manager. Research. Build. Ship. Grow.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"private": false,
|
|
7
7
|
"bin": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env npx tsx
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* AI
|
|
4
|
+
* AI Product Manager - Analysis Script
|
|
5
5
|
*
|
|
6
6
|
* This script runs Claude Code to analyze the codebase and generate improvement ideas.
|
|
7
7
|
*
|
|
@@ -656,7 +656,7 @@ Return ONLY this JSON structure (no markdown code blocks):
|
|
|
656
656
|
// Main function
|
|
657
657
|
async function main() {
|
|
658
658
|
const { type, topic, context } = parseArgs();
|
|
659
|
-
console.log(`\n=== AI
|
|
659
|
+
console.log(`\n=== AI Product Manager - ${type.toUpperCase()} Analysis ===\n`);
|
|
660
660
|
|
|
661
661
|
if (type === 'research' && topic) {
|
|
662
662
|
console.log(`Research topic: ${topic}`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env npx tsx
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* AI
|
|
4
|
+
* AI Product Manager - Implementation Script
|
|
5
5
|
*
|
|
6
6
|
* This script implements an approved idea by:
|
|
7
7
|
* 1. Cloning/updating the repo in a separate workspace
|
|
@@ -559,7 +559,7 @@ ${idea.success_metrics.map((m) => `- ${m}`).join('\n')}
|
|
|
559
559
|
|
|
560
560
|
---
|
|
561
561
|
|
|
562
|
-
This PR was automatically generated by the AI
|
|
562
|
+
This PR was automatically generated by the AI Product Manager.
|
|
563
563
|
Idea ID: \`${idea.id}\`
|
|
564
564
|
`;
|
|
565
565
|
|
|
@@ -592,7 +592,7 @@ Idea ID: \`${idea.id}\`
|
|
|
592
592
|
async function main(): Promise<void> {
|
|
593
593
|
const { ideaId, repoName, scope, skipPr, createPrOnly, timeout, model, workspacePath: workspacePathOverride } = parseArgs();
|
|
594
594
|
|
|
595
|
-
console.log(`\n=== AI
|
|
595
|
+
console.log(`\n=== AI Product Manager - Implementation ===\n`);
|
|
596
596
|
console.log(`Idea ID: ${ideaId}`);
|
|
597
597
|
if (scope) console.log(`Mode: Scoped sub-task`);
|
|
598
598
|
if (skipPr) console.log(`Mode: Skip PR creation`);
|
|
@@ -756,8 +756,8 @@ async function main(): Promise<void> {
|
|
|
756
756
|
const staged = exec('git diff --cached --stat', workspacePath);
|
|
757
757
|
if (staged.trim().length > 0) {
|
|
758
758
|
const commitMsg = scope
|
|
759
|
-
? `feat: ${idea.title} (sub-task)\n\nImplemented by AI
|
|
760
|
-
: `feat: ${idea.title}\n\nImplemented by AI
|
|
759
|
+
? `feat: ${idea.title} (sub-task)\n\nImplemented by AI Product Manager\nIdea: ${idea.id}`
|
|
760
|
+
: `feat: ${idea.title}\n\nImplemented by AI Product Manager\nIdea: ${idea.id}`;
|
|
761
761
|
exec(`git commit -m "${commitMsg}"`, workspacePath);
|
|
762
762
|
} else {
|
|
763
763
|
addLog(impl.id, 'No staged changes after filtering, skipping commit');
|