agentvibes 1.0.22 ā 1.1.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.
- package/.claude/commands/agent-vibes/update.md +20 -0
- package/.claude/commands/agent-vibes/version.md +10 -0
- package/README.md +33 -5
- package/RELEASE_NOTES.md +111 -0
- package/package.json +1 -1
- package/src/installer.js +102 -5
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update AgentVibes to the latest version
|
|
3
|
+
argument-hint: [--yes]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Updates AgentVibes to the latest version from the npm registry.
|
|
7
|
+
|
|
8
|
+
This will update:
|
|
9
|
+
- All slash commands
|
|
10
|
+
- TTS scripts and hooks
|
|
11
|
+
- Personality templates (new ones added, existing ones updated)
|
|
12
|
+
- Output styles
|
|
13
|
+
|
|
14
|
+
Your custom settings and voice configurations will be preserved.
|
|
15
|
+
|
|
16
|
+
Usage examples:
|
|
17
|
+
- `/agent-vibes:update` - Update with confirmation prompt
|
|
18
|
+
- `/agent-vibes:update --yes` - Update without confirmation
|
|
19
|
+
|
|
20
|
+
!bash npx agent-vibes update $ARGUMENTS
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
|
|
10
10
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
11
11
|
|
|
12
|
-
**Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v1.0
|
|
12
|
+
**Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v1.1.0
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
## š° Latest Release
|
|
45
45
|
|
|
46
|
-
**[v1.0
|
|
46
|
+
**[v1.1.0 - Release Notes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v1.1.0)** š
|
|
47
47
|
|
|
48
48
|
Multilingual support is here! Speak with Claude in 30+ languages including Spanish, French, German, Italian, Portuguese, Chinese, Japanese, and more. Added 6 multilingual voices, fixed slash command discovery, and improved update experience with release notes fallback.
|
|
49
49
|
|
|
@@ -141,6 +141,13 @@ All commands are prefixed with `/agent-vibes:`
|
|
|
141
141
|
| `/agent-vibes:replay [N]` | Replay recent TTS audio |
|
|
142
142
|
| `/agent-vibes:get` | Get currently selected voice |
|
|
143
143
|
|
|
144
|
+
### System Commands
|
|
145
|
+
|
|
146
|
+
| Command | Description |
|
|
147
|
+
|---------|-------------|
|
|
148
|
+
| `/agent-vibes:version` | Show installed AgentVibes version |
|
|
149
|
+
| `/agent-vibes:update [--yes]` | Update to latest version |
|
|
150
|
+
|
|
144
151
|
### Personality Commands
|
|
145
152
|
|
|
146
153
|
| Command | Description |
|
|
@@ -629,18 +636,30 @@ node ~/claude/AgentVibes/bin/agent-vibes install --yes
|
|
|
629
636
|
|
|
630
637
|
## š Updating
|
|
631
638
|
|
|
632
|
-
###
|
|
639
|
+
### Quick Update (From Claude Code)
|
|
640
|
+
|
|
641
|
+
The fastest way to update is directly from Claude Code:
|
|
642
|
+
|
|
643
|
+
```bash
|
|
644
|
+
/agent-vibes:update
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
This checks for the latest version and updates with confirmation.
|
|
648
|
+
|
|
649
|
+
### Alternative Methods
|
|
650
|
+
|
|
651
|
+
#### If installed via npx:
|
|
633
652
|
```bash
|
|
634
653
|
npx agentvibes update --yes
|
|
635
654
|
```
|
|
636
655
|
|
|
637
|
-
|
|
656
|
+
#### If installed globally via npm:
|
|
638
657
|
```bash
|
|
639
658
|
npm update -g agentvibes
|
|
640
659
|
agentvibes update --yes
|
|
641
660
|
```
|
|
642
661
|
|
|
643
|
-
|
|
662
|
+
#### If installed from source:
|
|
644
663
|
```bash
|
|
645
664
|
cd ~/AgentVibes
|
|
646
665
|
git pull origin master
|
|
@@ -648,11 +667,20 @@ npm install
|
|
|
648
667
|
node bin/agent-vibes update --yes
|
|
649
668
|
```
|
|
650
669
|
|
|
670
|
+
### Check Your Version
|
|
671
|
+
|
|
672
|
+
```bash
|
|
673
|
+
/agent-vibes:version
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
### What Gets Updated
|
|
677
|
+
|
|
651
678
|
The update command will:
|
|
652
679
|
- ā
Update all slash commands
|
|
653
680
|
- ā
Update TTS scripts and plugins
|
|
654
681
|
- ā
Add new personalities (keeps your custom ones)
|
|
655
682
|
- ā
Update output styles
|
|
683
|
+
- ā
Show recent changes and release notes
|
|
656
684
|
- ā ļø Preserves your voice settings and configurations
|
|
657
685
|
|
|
658
686
|
[ā Back to top](#-table-of-contents)
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,3 +1,114 @@
|
|
|
1
|
+
# š¤ AgentVibes Release Notes
|
|
2
|
+
|
|
3
|
+
## š¦ v1.1.0 - Self-Update & Version Management (2025-01-04)
|
|
4
|
+
|
|
5
|
+
### š¤ AI Summary
|
|
6
|
+
|
|
7
|
+
This minor release introduces self-update capabilities to AgentVibes! Users can now update directly from Claude Code with `/agent-vibes:update` and check their version with `/agent-vibes:version`. The update process includes a beautiful confirmation screen with ASCII art, shows recent changes and release notes, and preserves all custom settings. This eliminates the need for manual npm/git commands and provides full transparency into what's changing during updates.
|
|
8
|
+
|
|
9
|
+
### ⨠New Features
|
|
10
|
+
|
|
11
|
+
#### Self-Update System
|
|
12
|
+
- **`/agent-vibes:version`** - Check installed version instantly
|
|
13
|
+
- **`/agent-vibes:update`** - Update to latest version with one command
|
|
14
|
+
- Beautiful confirmation screen with two-tone ASCII art
|
|
15
|
+
- Shows recent changes and release notes (from git or RELEASE_NOTES.md)
|
|
16
|
+
- Preserves all custom settings, voices, and configurations
|
|
17
|
+
- Works from npx, npm global, or source installations
|
|
18
|
+
- Optional `--yes` flag for non-interactive updates
|
|
19
|
+
|
|
20
|
+
#### Quick Update Workflow
|
|
21
|
+
```bash
|
|
22
|
+
/agent-vibes:version # Check current version
|
|
23
|
+
/agent-vibes:update # Update with confirmation
|
|
24
|
+
/agent-vibes:update --yes # Update without prompts
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### š Documentation Improvements
|
|
28
|
+
|
|
29
|
+
- **Enhanced README**: Added "System Commands" section with version and update commands
|
|
30
|
+
- **Better Update Instructions**: Reorganized update section with clearer methods
|
|
31
|
+
- **Version Checking Guide**: Documented how to check and verify versions
|
|
32
|
+
- **Release Notes Display**: Updates now show what's changed in the latest version
|
|
33
|
+
- **Quick Update Section**: Highlighted fastest update method at top of section
|
|
34
|
+
|
|
35
|
+
### š§ Technical Changes
|
|
36
|
+
|
|
37
|
+
**New Command Files:**
|
|
38
|
+
- `.claude/commands/agent-vibes/update.md` - Update command definition with examples
|
|
39
|
+
- `.claude/commands/agent-vibes/version.md` - Version command definition
|
|
40
|
+
|
|
41
|
+
**Documentation Updates:**
|
|
42
|
+
- Updated README.md with system commands table
|
|
43
|
+
- Improved update documentation flow
|
|
44
|
+
- Added "Quick Update (From Claude Code)" section
|
|
45
|
+
- Enhanced "What Gets Updated" list with release notes item
|
|
46
|
+
|
|
47
|
+
**Implementation Details:**
|
|
48
|
+
- Update command wraps existing `npx agentvibes update` installer function
|
|
49
|
+
- Version command wraps `npx agentvibes --version` for consistent output
|
|
50
|
+
- Both commands work seamlessly from within Claude Code sessions
|
|
51
|
+
|
|
52
|
+
### šÆ Why This Matters
|
|
53
|
+
|
|
54
|
+
**Before v1.1.0:**
|
|
55
|
+
Users had to exit Claude Code and manually run:
|
|
56
|
+
```bash
|
|
57
|
+
npm update -g agentvibes
|
|
58
|
+
# or
|
|
59
|
+
cd ~/AgentVibes && git pull && npm install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**After v1.1.0:**
|
|
63
|
+
Users can update directly from Claude Code:
|
|
64
|
+
```bash
|
|
65
|
+
/agent-vibes:update
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The update process now includes:
|
|
69
|
+
- ā
Visual confirmation with package version
|
|
70
|
+
- ā
Recent changes from git log or RELEASE_NOTES.md
|
|
71
|
+
- ā
File-by-file update progress with counts
|
|
72
|
+
- ā
Summary of what was updated
|
|
73
|
+
- ā
Preservation of all custom configurations
|
|
74
|
+
|
|
75
|
+
### š What Gets Updated
|
|
76
|
+
|
|
77
|
+
When you run `/agent-vibes:update`, these components are refreshed:
|
|
78
|
+
- ā
All slash commands (11+ commands)
|
|
79
|
+
- ā
TTS scripts and hooks (6+ scripts)
|
|
80
|
+
- ā
Personality templates (new ones added, existing updated)
|
|
81
|
+
- ā
Output styles (agent-vibes.md)
|
|
82
|
+
- ā
BMAD plugin configurations
|
|
83
|
+
- ā
Voice configuration mappings
|
|
84
|
+
|
|
85
|
+
**Safe Updates**: Your voice settings, custom personalities, sentiment preferences, language settings, and all user configurations are always preserved!
|
|
86
|
+
|
|
87
|
+
### š Release Stats
|
|
88
|
+
|
|
89
|
+
- **3 files changed**: 2 new command files, 1 README update
|
|
90
|
+
- **2 new commands**: `/agent-vibes:version`, `/agent-vibes:update`
|
|
91
|
+
- **1 documentation section** enhanced: "š Updating"
|
|
92
|
+
- **0 breaking changes**
|
|
93
|
+
|
|
94
|
+
### š” User Experience Improvements
|
|
95
|
+
|
|
96
|
+
1. **Convenience**: Update without leaving Claude Code
|
|
97
|
+
2. **Transparency**: See what's changing before confirming
|
|
98
|
+
3. **Safety**: Settings and customizations always preserved
|
|
99
|
+
4. **Visibility**: Version command helps troubleshooting
|
|
100
|
+
5. **Consistency**: Same update experience across all install methods
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## š Recent Commits
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
75b1cf8 docs: Update version to v1.0.23 [skip ci]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
1
112
|
# Release v1.0.20
|
|
2
113
|
|
|
3
114
|
## š¤ AI Summary
|
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": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "Beautiful ElevenLabs TTS voice commands for Claude Code - Add professional narration to your AI coding sessions",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"elevenlabs",
|
package/src/installer.js
CHANGED
|
@@ -430,11 +430,50 @@ program
|
|
|
430
430
|
);
|
|
431
431
|
const version = packageJson.version;
|
|
432
432
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
433
|
+
// Generate two-tone ASCII art
|
|
434
|
+
const agentText = figlet.textSync('Agent', {
|
|
435
|
+
font: 'ANSI Shadow',
|
|
436
|
+
horizontalLayout: 'default',
|
|
437
|
+
});
|
|
438
|
+
const vibesText = figlet.textSync('Vibes', {
|
|
439
|
+
font: 'ANSI Shadow',
|
|
440
|
+
horizontalLayout: 'default',
|
|
441
|
+
});
|
|
442
|
+
|
|
443
|
+
// Add blank line for spacing
|
|
444
|
+
console.log();
|
|
445
|
+
|
|
446
|
+
// Combine the two parts with different colors
|
|
447
|
+
const agentLines = agentText.split('\n');
|
|
448
|
+
const vibesLines = vibesText.split('\n');
|
|
449
|
+
const maxLength = Math.max(...agentLines.map(line => line.length));
|
|
450
|
+
|
|
451
|
+
for (let i = 0; i < agentLines.length; i++) {
|
|
452
|
+
const agentLine = agentLines[i].padEnd(maxLength);
|
|
453
|
+
const vibesLine = vibesLines[i] || '';
|
|
454
|
+
console.log(chalk.cyan(agentLine) + chalk.magenta(vibesLine));
|
|
455
|
+
}
|
|
456
|
+
console.log();
|
|
457
|
+
|
|
458
|
+
// Welcome box
|
|
459
|
+
console.log(
|
|
460
|
+
boxen(
|
|
461
|
+
chalk.white('š¤ Beautiful ElevenLabs TTS Voice Commands for Claude Code\n\n') +
|
|
462
|
+
chalk.gray('Add professional text-to-speech narration to your AI coding sessions\n\n') +
|
|
463
|
+
chalk.cyan('š¦ https://github.com/paulpreibisch/AgentVibes'),
|
|
464
|
+
{
|
|
465
|
+
padding: 1,
|
|
466
|
+
margin: 1,
|
|
467
|
+
borderStyle: 'round',
|
|
468
|
+
borderColor: 'cyan',
|
|
469
|
+
}
|
|
470
|
+
)
|
|
471
|
+
);
|
|
472
|
+
|
|
473
|
+
console.log(chalk.cyan('š Update Details:'));
|
|
474
|
+
console.log(chalk.white(` Current directory: ${currentDir}`));
|
|
475
|
+
console.log(chalk.white(` Update location: ${targetDir}/.claude/ (project-local)`));
|
|
476
|
+
console.log(chalk.white(` Package version: ${version}\n`));
|
|
438
477
|
|
|
439
478
|
// Check if already installed
|
|
440
479
|
const commandsDir = path.join(targetDir, '.claude', 'commands', 'agent-vibes');
|
|
@@ -450,6 +489,64 @@ program
|
|
|
450
489
|
process.exit(1);
|
|
451
490
|
}
|
|
452
491
|
|
|
492
|
+
// Show recent changes from git log or RELEASE_NOTES.md
|
|
493
|
+
try {
|
|
494
|
+
const { execSync } = await import('node:child_process');
|
|
495
|
+
const gitLog = execSync(
|
|
496
|
+
'git log --oneline --no-decorate -5',
|
|
497
|
+
{ cwd: path.join(__dirname, '..'), encoding: 'utf8' }
|
|
498
|
+
).trim();
|
|
499
|
+
|
|
500
|
+
if (gitLog) {
|
|
501
|
+
console.log(chalk.cyan('š° Latest Release Notes:\n'));
|
|
502
|
+
const commits = gitLog.split('\n');
|
|
503
|
+
commits.forEach(commit => {
|
|
504
|
+
const [hash, ...messageParts] = commit.split(' ');
|
|
505
|
+
const message = messageParts.join(' ');
|
|
506
|
+
console.log(chalk.gray(` ${hash}`) + ' ' + chalk.white(message));
|
|
507
|
+
});
|
|
508
|
+
console.log();
|
|
509
|
+
}
|
|
510
|
+
} catch (error) {
|
|
511
|
+
// Git not available or not a git repo - try RELEASE_NOTES.md
|
|
512
|
+
try {
|
|
513
|
+
const releaseNotesPath = path.join(__dirname, '..', 'RELEASE_NOTES.md');
|
|
514
|
+
const releaseNotes = await fs.readFile(releaseNotesPath, 'utf8');
|
|
515
|
+
|
|
516
|
+
// Extract commits from "Recent Commits" section
|
|
517
|
+
const lines = releaseNotes.split('\n');
|
|
518
|
+
const commitsIndex = lines.findIndex(line => line.includes('## š Recent Commits'));
|
|
519
|
+
|
|
520
|
+
if (commitsIndex >= 0) {
|
|
521
|
+
console.log(chalk.cyan('š° Latest Release Notes:\n'));
|
|
522
|
+
|
|
523
|
+
// Find the code block with commits (between ``` markers)
|
|
524
|
+
let inCodeBlock = false;
|
|
525
|
+
for (let i = commitsIndex + 1; i < lines.length; i++) {
|
|
526
|
+
const line = lines[i];
|
|
527
|
+
|
|
528
|
+
if (line.trim() === '```') {
|
|
529
|
+
if (inCodeBlock) break; // End of code block
|
|
530
|
+
inCodeBlock = true;
|
|
531
|
+
continue;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
if (inCodeBlock && line.trim()) {
|
|
535
|
+
// Parse commit line: "hash message"
|
|
536
|
+
const match = line.match(/^([a-f0-9]+)\s+(.+)$/);
|
|
537
|
+
if (match) {
|
|
538
|
+
const [, hash, message] = match;
|
|
539
|
+
console.log(chalk.gray(` ${hash}`) + ' ' + chalk.white(message));
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
console.log();
|
|
544
|
+
}
|
|
545
|
+
} catch {
|
|
546
|
+
// No release notes available
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
|
|
453
550
|
console.log(chalk.cyan('š¦ What will be updated:'));
|
|
454
551
|
console.log(chalk.gray(' ⢠Slash commands (keep your customizations)'));
|
|
455
552
|
console.log(chalk.gray(' ⢠TTS scripts'));
|