agentvibes 2.4.3 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.bmad-core/agents/analyst.md +84 -0
  6. package/.bmad-core/agents/architect.md +85 -0
  7. package/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.bmad-core/agents/dev.md +81 -0
  10. package/.bmad-core/agents/pm.md +84 -0
  11. package/.bmad-core/agents/po.md +79 -0
  12. package/.bmad-core/agents/qa.md +87 -0
  13. package/.bmad-core/agents/sm.md +65 -0
  14. package/.bmad-core/agents/ux-expert.md +69 -0
  15. package/.bmad-core/checklists/architect-checklist.md +440 -0
  16. package/.bmad-core/checklists/change-checklist.md +184 -0
  17. package/.bmad-core/checklists/pm-checklist.md +372 -0
  18. package/.bmad-core/checklists/po-master-checklist.md +434 -0
  19. package/.bmad-core/checklists/story-dod-checklist.md +96 -0
  20. package/.bmad-core/checklists/story-draft-checklist.md +155 -0
  21. package/.bmad-core/core-config.yaml +22 -0
  22. package/.bmad-core/data/bmad-kb.md +809 -0
  23. package/.bmad-core/data/brainstorming-techniques.md +38 -0
  24. package/.bmad-core/data/elicitation-methods.md +156 -0
  25. package/.bmad-core/data/technical-preferences.md +5 -0
  26. package/.bmad-core/data/test-levels-framework.md +148 -0
  27. package/.bmad-core/data/test-priorities-matrix.md +174 -0
  28. package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  29. package/.bmad-core/install-manifest.yaml +230 -0
  30. package/.bmad-core/tasks/advanced-elicitation.md +119 -0
  31. package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  32. package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  33. package/.bmad-core/tasks/brownfield-create-story.md +149 -0
  34. package/.bmad-core/tasks/correct-course.md +72 -0
  35. package/.bmad-core/tasks/create-brownfield-story.md +314 -0
  36. package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  37. package/.bmad-core/tasks/create-doc.md +103 -0
  38. package/.bmad-core/tasks/create-next-story.md +114 -0
  39. package/.bmad-core/tasks/document-project.md +345 -0
  40. package/.bmad-core/tasks/execute-checklist.md +88 -0
  41. package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  42. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  43. package/.bmad-core/tasks/index-docs.md +175 -0
  44. package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  45. package/.bmad-core/tasks/nfr-assess.md +345 -0
  46. package/.bmad-core/tasks/qa-gate.md +163 -0
  47. package/.bmad-core/tasks/review-story.md +316 -0
  48. package/.bmad-core/tasks/risk-profile.md +355 -0
  49. package/.bmad-core/tasks/shard-doc.md +187 -0
  50. package/.bmad-core/tasks/test-design.md +176 -0
  51. package/.bmad-core/tasks/trace-requirements.md +266 -0
  52. package/.bmad-core/tasks/validate-next-story.md +136 -0
  53. package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  54. package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  55. package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
  56. package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  57. package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
  58. package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
  59. package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
  60. package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
  61. package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  62. package/.bmad-core/templates/prd-tmpl.yaml +203 -0
  63. package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  64. package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  65. package/.bmad-core/templates/story-tmpl.yaml +138 -0
  66. package/.bmad-core/user-guide.md +577 -0
  67. package/.bmad-core/utils/bmad-doc-template.md +327 -0
  68. package/.bmad-core/utils/workflow-management.md +71 -0
  69. package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  70. package/.bmad-core/workflows/brownfield-service.yaml +188 -0
  71. package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  72. package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  73. package/.bmad-core/workflows/greenfield-service.yaml +207 -0
  74. package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  75. package/.bmad-core/working-in-the-brownfield.md +606 -0
  76. package/.claude/commands/BMad/analyst.md +88 -0
  77. package/.claude/commands/BMad/architect.md +89 -0
  78. package/.claude/commands/BMad/bmad-master.md +114 -0
  79. package/.claude/commands/BMad/bmad-orchestrator.md +151 -0
  80. package/.claude/commands/BMad/dev.md +85 -0
  81. package/.claude/commands/BMad/pm.md +88 -0
  82. package/.claude/commands/BMad/po.md +83 -0
  83. package/.claude/commands/BMad/qa.md +91 -0
  84. package/.claude/commands/BMad/sm.md +69 -0
  85. package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  86. package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  87. package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  88. package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  89. package/.claude/commands/BMad/tasks/correct-course.md +76 -0
  90. package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  91. package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  92. package/.claude/commands/BMad/tasks/create-doc.md +107 -0
  93. package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
  94. package/.claude/commands/BMad/tasks/document-project.md +349 -0
  95. package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
  96. package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  97. package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  98. package/.claude/commands/BMad/tasks/index-docs.md +179 -0
  99. package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  100. package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
  101. package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
  102. package/.claude/commands/BMad/tasks/review-story.md +320 -0
  103. package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
  104. package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
  105. package/.claude/commands/BMad/tasks/test-design.md +180 -0
  106. package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
  107. package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
  108. package/.claude/commands/BMad/ux-expert.md +73 -0
  109. package/.claude/commands/agent-vibes/verbosity.md +89 -0
  110. package/.claude/github-star-reminder.txt +1 -0
  111. package/.claude/hooks/session-start-tts.sh +68 -1
  112. package/.claude/hooks/user-prompt-output.sh +111 -0
  113. package/.claude/hooks/verbosity-manager.sh +172 -0
  114. package/.claude/piper-voices-dir.txt +1 -0
  115. package/.claude/plugins/bmad-voices-enabled.flag +0 -0
  116. package/.mcp.json +88 -0
  117. package/README.md +55 -7
  118. package/RELEASE_NOTES_v2.4.0_DRAFT.md +116 -0
  119. package/RELEASE_NOTES_v2.4.1_DRAFT.md +61 -0
  120. package/RELEASE_NOTES_v2.5.0.md +233 -0
  121. package/docs/2025-11-15_15-14-33.snagx +0 -0
  122. package/docs/Screenshot 2025-11-15 151325.png +0 -0
  123. package/docs/Screenshot 2025-11-15 151432.png +0 -0
  124. package/docs/macos-piper-issue.md +172 -0
  125. package/docs/stargazer-cms-prd.md +1918 -0
  126. package/docs/whatsapp-plugin-github-issue.md +393 -0
  127. package/docs/whatsapp-tts-plugin-feasibility.md +418 -0
  128. package/docs/whatsapp-tts-standalone-plugin.md +628 -0
  129. package/github-profile-draft.md +57 -0
  130. package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
  131. package/mcp-server/agentvibes.db +0 -0
  132. package/mcp-server/server.py +70 -0
  133. package/package.json +1 -1
  134. package/scripts/audio-tunnel.config +17 -0
  135. package/src/installer.js +19 -14
@@ -0,0 +1,121 @@
1
+ # Vibe Coding: How PulseAudio Can Give Your Remote SSH Session a Voice!
2
+
3
+ My mornings and late evenings are when I'm at my creative peak. I like to use this time for things that are fun—or at least that I think are fun. Since I recently created AgentVibes (a way to make my computer speak back to me), I wanted to solve a limitation I was experiencing while working on a remote server. That curiosity led me down the PulseAudio rabbit hole, and what I discovered fundamentally changed how I code with AI.
4
+
5
+ ## What is "Vibe Coding"?
6
+
7
+ According to Gene Kim, a researcher and author featured in the DORA report, **"vibe coding"** is defined as any form of coding where you don't type out code by hand. Instead of manual typing, the code emerges from an **iterative conversation with an AI**.
8
+
9
+ This is the future of software development. Not replacing developers, but amplifying our capabilities through natural dialogue.
10
+
11
+ ## If We're Going to Have a Conversation, Let's Use Voice
12
+
13
+ When I discovered whisper typing several months ago, it fundamentally changed the way I use my computer. Rather than typing everything to my AI assistant, I now **talk** using whisper typing. The speed, the naturalness, the flow—it was transformative.
14
+
15
+ But then a thought struck me: **If I can talk to my computer, why can't it talk back?**
16
+
17
+ That question led me to create [**AgentVibes**](https://github.com/paulpreibisch/AgentVibes)—a plugin for Claude Code that brings professional text-to-speech narration to your AI coding sessions. Your AI assistant can now acknowledge your requests, confirm task completion, and provide feedback through voice.
18
+
19
+ Imagine this workflow:
20
+ - You speak your coding request using whisper typing
21
+ - Your AI assistant acknowledges with voice: "I'll refactor that authentication module for you"
22
+ - You continue working while hearing real-time progress updates
23
+ - The AI confirms: "Refactoring complete, all tests passing"
24
+
25
+ This is vibe coding at its finest—a natural, conversational flow between human and AI.
26
+
27
+ ## The Remote Server Problem
28
+
29
+ But I discovered a limitation. Since text-to-speech typically executes on the computer you're programming on, **what happens when you're programming on a remote machine via SSH?**
30
+
31
+ This is the reality for many developers:
32
+ - Cloud development environments
33
+ - Powerful remote servers
34
+ - Team shared infrastructure
35
+ - Corporate VDI setups
36
+
37
+ The audio plays on the remote server—where you can't hear it. The conversational flow breaks down. The vibe is lost.
38
+
39
+ ## Enter PulseAudio: The Hidden Hero
40
+
41
+ I went to task trying to figure out if there was a way to somehow play audio from a remote machine onto my local machine. That's when I was introduced to the true capabilities of **PulseAudio**.
42
+
43
+ Now, I've been a Linux user for many years and have used PulseAudio forever. But little did I know that **PulseAudio can actually stream audio over a network**, allowing a client to play audio from a remote server.
44
+
45
+ This completely blew my mind. 🤯
46
+
47
+ Here's what makes this powerful:
48
+
49
+ ### The Architecture
50
+ ```
51
+ Remote Linux Server (PulseAudio)
52
+ ↓ SSH Reverse Tunnel
53
+ Windows Client (WSL/RDP Audio)
54
+
55
+ Local Speakers 🔊
56
+ ```
57
+
58
+ ### What This Enables
59
+ - Run AgentVibes on your remote server
60
+ - Hear TTS announcements on your local speakers
61
+ - Maintain the conversational flow of vibe coding
62
+ - Work from anywhere with full audio feedback
63
+
64
+ I'll tell you, I was **floored** that this was even possible.
65
+
66
+ ## The Game-Changing Impact
67
+
68
+ The ability to have your AI assistant **acknowledge what you've typed and provide vocal confirmation** really does change the game when vibe coding.
69
+
70
+ Here's why it matters:
71
+
72
+ **1. Cognitive Offloading**
73
+ You don't need to constantly check the terminal to see if your AI understood. Voice acknowledgment lets you focus on problem-solving.
74
+
75
+ **2. Natural Flow State**
76
+ Conversations have rhythm. When both parties speak and listen, you stay in flow. Text-only breaks that rhythm.
77
+
78
+ **3. Active Guidance with Voice Feedback**
79
+ Vibe coding doesn't mean you stop paying attention—quite the opposite. You're actively guiding the AI through the implementation, reviewing its decisions, and course-correcting in real-time. Voice acknowledgment keeps you in the loop while your hands stay free to sketch architecture, review documentation, or reference other code. The conversation is continuous, and if you're an experienced developer, the depth and precision of that conversation becomes truly transformative.
80
+
81
+ **4. Reduced Context Switching**
82
+ No need to constantly alt-tab between terminal and code. Your ears keep you updated.
83
+
84
+ ## Try It Yourself
85
+
86
+ Want to experience vibe coding with remote audio? I've documented the entire setup process.
87
+
88
+ **Check out AgentVibes:**
89
+ 📦 GitHub: [github.com/paulpreibisch/AgentVibes](https://github.com/paulpreibisch/AgentVibes)
90
+
91
+ **Remote Audio Setup Guide:**
92
+ 📚 Complete documentation: [Remote Audio Setup](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/remote-audio-setup.md)
93
+
94
+ The setup includes:
95
+ - Automated scripts for Linux and Windows
96
+ - PulseAudio network configuration
97
+ - SSH tunnel setup
98
+ - Troubleshooting guides
99
+ - VS Code Remote-SSH integration
100
+
101
+ It took me a morning to figure out, but now you can set it up in 10 minutes.
102
+
103
+ ## The Bigger Picture
104
+
105
+ This journey taught me something important: **The best developer tools emerge from solving real problems in your own workflow.**
106
+
107
+ I didn't set out to become a PulseAudio expert. I just wanted my AI assistant to talk back when I'm working on remote servers. The solution required diving deep into audio streaming, SSH tunneling, and network protocols—but the result is worth it.
108
+
109
+ Vibe coding isn't just about AI generating code. It's about creating an **environment where human and AI collaborate naturally**—through conversation, through voice, through continuous feedback loops.
110
+
111
+ And sometimes, that requires discovering that the tools you've been using for years have hidden superpowers you never knew existed.
112
+
113
+ ---
114
+
115
+ **What's your experience with AI-assisted development? Have you tried vibe coding? Let's discuss in the comments!**
116
+
117
+ #VibeCoding #AI #DeveloperTools #SoftwareEngineering #PulseAudio #RemoteDevelopment #DevOps #AIAssisted #ClaudeCode #OpenSource
118
+
119
+ ---
120
+
121
+ *P.S. - If you found this interesting, check out the AgentVibes project on GitHub. It's open source, supports multiple TTS providers (including free Piper TTS), and has 30+ professional AI voices. Star the repo if you find it useful!* ⭐
File without changes
@@ -440,6 +440,40 @@ class AgentVibesServer:
440
440
  return result
441
441
  return f"❌ Failed to download extra voices: {result}"
442
442
 
443
+ async def get_verbosity(self) -> str:
444
+ """
445
+ Get current verbosity level.
446
+
447
+ Returns:
448
+ Current verbosity level with description
449
+ """
450
+ result = await self._run_script("verbosity-manager.sh", ["get"])
451
+ if result:
452
+ level = result.strip()
453
+ descriptions = {
454
+ "low": "LOW - Acknowledgments + Completions only (minimal)",
455
+ "medium": "MEDIUM - + Major decisions and findings (balanced)",
456
+ "high": "HIGH - All reasoning (maximum transparency)"
457
+ }
458
+ desc = descriptions.get(level, level)
459
+ return f"🎙️ Current Verbosity: {desc}\n\n💡 Change with: set_verbosity(level=\"low|medium|high\")"
460
+ return "❌ Failed to get verbosity level"
461
+
462
+ async def set_verbosity(self, level: str) -> str:
463
+ """
464
+ Set verbosity level to control how much Claude speaks.
465
+
466
+ Args:
467
+ level: Verbosity level (low, medium, or high)
468
+
469
+ Returns:
470
+ Success or error message
471
+ """
472
+ result = await self._run_script("verbosity-manager.sh", ["set", level])
473
+ if result and "✅" in result:
474
+ return f"{result}\n\n⚠️ Restart Claude Code for changes to take effect"
475
+ return f"❌ Failed to set verbosity: {result}"
476
+
443
477
  # Helper methods
444
478
  async def _run_script(self, script_name: str, args: list[str]) -> str:
445
479
  """Run a bash script and return output"""
@@ -717,6 +751,38 @@ Examples:
717
751
  },
718
752
  },
719
753
  ),
754
+ Tool(
755
+ name="get_verbosity",
756
+ description="Get current AgentVibes verbosity level (low/medium/high). Verbosity controls how much Claude speaks while working - from minimal (acknowledgments only) to maximum transparency (all reasoning spoken).",
757
+ inputSchema={"type": "object", "properties": {}},
758
+ ),
759
+ Tool(
760
+ name="set_verbosity",
761
+ description="""Set AgentVibes verbosity level to control how much Claude speaks while working.
762
+
763
+ Verbosity Levels:
764
+ - LOW: Only acknowledgments (start) and completions (end). Minimal interruption.
765
+ - MEDIUM: + Major decisions and key findings. Balanced transparency.
766
+ - HIGH: All reasoning, decisions, and findings. Maximum transparency.
767
+
768
+ Perfect for:
769
+ - LOW: Quiet work sessions, minimal distraction
770
+ - MEDIUM: Understanding major decisions without full narration
771
+ - HIGH: Full transparency, learning mode, debugging complex tasks
772
+
773
+ Note: Changes take effect on next Claude Code session restart.""",
774
+ inputSchema={
775
+ "type": "object",
776
+ "properties": {
777
+ "level": {
778
+ "type": "string",
779
+ "description": "Verbosity level to set",
780
+ "enum": ["low", "medium", "high"]
781
+ }
782
+ },
783
+ "required": ["level"],
784
+ },
785
+ ),
720
786
  ]
721
787
 
722
788
 
@@ -758,6 +824,10 @@ async def call_tool(name: str, arguments: dict) -> list[TextContent]:
758
824
  elif name == "download_extra_voices":
759
825
  auto_yes = arguments.get("auto_yes", False)
760
826
  result = await agent_vibes.download_extra_voices(auto_yes)
827
+ elif name == "get_verbosity":
828
+ result = await agent_vibes.get_verbosity()
829
+ elif name == "set_verbosity":
830
+ result = await agent_vibes.set_verbosity(arguments["level"])
761
831
  else:
762
832
  result = f"Unknown tool: {name}"
763
833
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "agentvibes",
4
- "version": "2.4.3",
4
+ "version": "2.5.0",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code and Claude Desktop (via MCP) with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [
@@ -0,0 +1,17 @@
1
+ # AgentVibes Audio Tunnel Configuration
2
+ # Personal configuration - DO NOT COMMIT
3
+
4
+ # Remote server hostname (from your ~/.ssh/config)
5
+ REMOTE_HOST="ubuntu-rdp"
6
+
7
+ # Tunnel port (default: 14713)
8
+ TUNNEL_PORT="14713"
9
+
10
+ # PulseAudio socket path (WSL default)
11
+ PULSE_SOCKET="/mnt/wslg/PulseServer"
12
+
13
+ # Log file for automatic fixes
14
+ AUTO_FIX_LOG="/tmp/audio-tunnel-autofix.log"
15
+
16
+ # Healthcheck interval in minutes (for cron setup)
17
+ CHECK_INTERVAL="5"
package/src/installer.js CHANGED
@@ -113,26 +113,31 @@ function showReleaseInfo() {
113
113
  console.log(
114
114
  boxen(
115
115
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n') +
116
- chalk.cyan.bold(' 📦 AgentVibes v2.4.1 - macOS Audio Playback Fix\n') +
116
+ chalk.cyan.bold(' 📦 AgentVibes v2.5.0 - Verbosity Control System\n') +
117
117
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n\n') +
118
- chalk.green.bold('🔊 CRITICAL FIX:\n\n') +
119
- chalk.cyan('Fixed macOS Audio Playback\n') +
120
- chalk.gray(' • Audio now plays correctly on macOS using native afplay\n') +
121
- chalk.gray(' • Resolved silent audio playback issue from v2.4.0\n') +
122
- chalk.gray(' • Platform detection for Linux/WSL vs macOS audio players\n') +
123
- chalk.gray(' • Thanks to BMadCode for reporting! 🙏\n\n') +
124
- chalk.cyan('🍎 macOS Support Complete (v2.4.0 + v2.4.1)\n') +
125
- chalk.gray(' • Install via precompiled binaries (no Python/pipx!)\n') +
126
- chalk.gray(' Architecture auto-detection (Apple Silicon & Intel)\n') +
127
- chalk.gray(' Audio playback now working perfectly\n') +
128
- chalk.gray(' Completely free offline TTS for Mac users\n\n') +
118
+ chalk.green.bold('🎙️ NEW FEATURE:\n\n') +
119
+ chalk.cyan('Intelligent Verbosity Control\n') +
120
+ chalk.gray(' • Control how much Claude speaks while working\n') +
121
+ chalk.gray(' • LOW: Acknowledgments + completions only (minimal)\n') +
122
+ chalk.gray(' • MEDIUM: + Major decisions and findings (balanced)\n') +
123
+ chalk.gray(' • HIGH: Full reasoning process (maximum transparency)\n') +
124
+ chalk.gray(' Uses emoji markers (💭 🤔 ) for automatic TTS\n') +
125
+ chalk.gray(' • No manual Bash calls needed!\n\n') +
126
+ chalk.cyan('How to Use:\n') +
127
+ chalk.gray(' /agent-vibes:verbosity high # Maximum transparency\n') +
128
+ chalk.gray(' /agent-vibes:verbosity medium # Balanced\n') +
129
+ chalk.gray(' /agent-vibes:verbosity low # Minimal (default)\n\n') +
130
+ chalk.cyan('Perfect For:\n') +
131
+ chalk.gray(' • LOW: Quiet, focused work sessions\n') +
132
+ chalk.gray(' • MEDIUM: Understanding major decisions\n') +
133
+ chalk.gray(' • HIGH: Learning mode, debugging complex tasks\n\n') +
129
134
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n\n') +
130
135
  chalk.green.bold('🚀 TRY LANGUAGE LEARNING MODE:\n\n') +
131
136
  chalk.cyan(' /agent-vibes:language english\n') +
132
137
  chalk.cyan(' /agent-vibes:target spanish\n') +
133
138
  chalk.cyan(' /agent-vibes:learn\n\n') +
134
- chalk.white(' Now while coding, you can also learn a second language\n') +
135
- chalk.white(' such as Spanish, Italian, French, Mandarin, you name it! 🌍\n\n') +
139
+ chalk.white(' Learn a second language while coding!\n') +
140
+ chalk.white(' Spanish, Italian, French, Mandarin, and more! 🌍\n\n') +
136
141
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n\n') +
137
142
  chalk.gray('📖 Full Release Notes: RELEASE_NOTES.md\n') +
138
143
  chalk.gray('🌐 Website: https://agentvibes.org\n') +