agentvibes 1.0.16 ā 1.0.18
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/README.md +2 -2
- package/package.json +1 -1
- package/src/installer.js +86 -21
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.0.18
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
## š° Latest Release
|
|
44
44
|
|
|
45
|
-
**[v1.0.
|
|
45
|
+
**[v1.0.18 - Release Notes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v1.0.18)** š¤
|
|
46
46
|
|
|
47
47
|
Voice library expansion with 5 new professional voices (Burt Reynolds, Tiffany, Archer, Tom, Juniper) and optimized BMAD agent voice assignments for better role fit.
|
|
48
48
|
|
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.0.18",
|
|
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
|
@@ -13,23 +13,43 @@ import { fileURLToPath } from 'node:url';
|
|
|
13
13
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
14
|
const __dirname = path.dirname(__filename);
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
// Read version from package.json
|
|
17
|
+
const packageJson = JSON.parse(
|
|
18
|
+
await fs.readFile(path.join(__dirname, '..', 'package.json'), 'utf8')
|
|
19
|
+
);
|
|
20
|
+
const VERSION = packageJson.version;
|
|
17
21
|
|
|
18
22
|
// Beautiful ASCII art
|
|
19
23
|
function showWelcome() {
|
|
20
|
-
console.log(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
console.log('');
|
|
25
|
+
|
|
26
|
+
// Generate separate ASCII art for "Agent" and "Vibes"
|
|
27
|
+
const agentText = figlet.textSync('Agent', {
|
|
28
|
+
font: 'ANSI Shadow',
|
|
29
|
+
horizontalLayout: 'default',
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const vibesText = figlet.textSync('Vibes', {
|
|
33
|
+
font: 'ANSI Shadow',
|
|
34
|
+
horizontalLayout: 'default',
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// Split into lines and combine with different colors
|
|
38
|
+
const agentLines = agentText.split('\n');
|
|
39
|
+
const vibesLines = vibesText.split('\n');
|
|
40
|
+
const maxLines = Math.max(agentLines.length, vibesLines.length);
|
|
41
|
+
|
|
42
|
+
for (let i = 0; i < maxLines; i++) {
|
|
43
|
+
const agentLine = agentLines[i] || '';
|
|
44
|
+
const vibesLine = vibesLines[i] || '';
|
|
45
|
+
console.log(chalk.cyan(agentLine) + chalk.magenta(vibesLine));
|
|
46
|
+
}
|
|
28
47
|
|
|
29
48
|
console.log(
|
|
30
49
|
boxen(
|
|
31
50
|
chalk.white.bold('š¤ Beautiful ElevenLabs TTS Voice Commands for Claude Code\n\n') +
|
|
32
|
-
chalk.gray('Add professional text-to-speech narration to your AI coding sessions')
|
|
51
|
+
chalk.gray('Add professional text-to-speech narration to your AI coding sessions\n\n') +
|
|
52
|
+
chalk.cyan('š¦ https://github.com/paulpreibisch/AgentVibes'),
|
|
33
53
|
{
|
|
34
54
|
padding: 1,
|
|
35
55
|
margin: 1,
|
|
@@ -45,20 +65,42 @@ function showWelcome() {
|
|
|
45
65
|
async function install(options = {}) {
|
|
46
66
|
showWelcome();
|
|
47
67
|
|
|
48
|
-
const
|
|
49
|
-
const targetDir = options.directory ||
|
|
68
|
+
const currentDir = process.cwd();
|
|
69
|
+
const targetDir = options.directory || currentDir;
|
|
50
70
|
|
|
51
71
|
console.log(chalk.cyan('\nš Installation Details:'));
|
|
52
|
-
console.log(chalk.gray(`
|
|
72
|
+
console.log(chalk.gray(` Current directory: ${currentDir}`));
|
|
73
|
+
console.log(chalk.gray(` Install location: ${targetDir}/.claude/ (project-local)`));
|
|
53
74
|
console.log(chalk.gray(` Package version: ${VERSION}`));
|
|
54
75
|
|
|
76
|
+
// Show latest release notes from git log
|
|
77
|
+
try {
|
|
78
|
+
const { execSync } = await import('node:child_process');
|
|
79
|
+
const gitLog = execSync(
|
|
80
|
+
'git log --oneline --no-decorate -5',
|
|
81
|
+
{ cwd: path.join(__dirname, '..'), encoding: 'utf8' }
|
|
82
|
+
).trim();
|
|
83
|
+
|
|
84
|
+
if (gitLog) {
|
|
85
|
+
console.log(chalk.cyan('\nš° Latest Release Notes:'));
|
|
86
|
+
const commits = gitLog.split('\n');
|
|
87
|
+
commits.forEach(commit => {
|
|
88
|
+
const [hash, ...messageParts] = commit.split(' ');
|
|
89
|
+
const message = messageParts.join(' ');
|
|
90
|
+
console.log(chalk.gray(` ${hash}`) + ' ' + chalk.white(message));
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
} catch (error) {
|
|
94
|
+
// Git not available or not a git repo - skip release notes
|
|
95
|
+
}
|
|
96
|
+
|
|
55
97
|
console.log(chalk.cyan('\nš¦ What will be installed:'));
|
|
56
98
|
console.log(chalk.gray(` ⢠11 slash commands ā ${targetDir}/.claude/commands/agent-vibes/`));
|
|
57
99
|
console.log(chalk.gray(` ⢠4 TTS scripts ā ${targetDir}/.claude/hooks/`));
|
|
58
100
|
console.log(chalk.gray(` ⢠10+ personality templates ā ${targetDir}/.claude/personalities/`));
|
|
59
101
|
console.log(chalk.gray(` ⢠Agent Vibes output style ā ${targetDir}/.claude/output-styles/`));
|
|
60
102
|
console.log(chalk.gray(` ⢠Voice configuration files`));
|
|
61
|
-
console.log(chalk.gray(` ā¢
|
|
103
|
+
console.log(chalk.gray(` ⢠22 unique ElevenLabs voices\n`));
|
|
62
104
|
|
|
63
105
|
// Confirmation prompt (unless --yes flag is used)
|
|
64
106
|
if (!options.yes) {
|
|
@@ -66,7 +108,7 @@ async function install(options = {}) {
|
|
|
66
108
|
{
|
|
67
109
|
type: 'confirm',
|
|
68
110
|
name: 'confirm',
|
|
69
|
-
message: chalk.yellow(
|
|
111
|
+
message: chalk.yellow(`Install AgentVibes in ${targetDir}/.claude/ ?`),
|
|
70
112
|
default: true,
|
|
71
113
|
},
|
|
72
114
|
]);
|
|
@@ -205,7 +247,29 @@ async function install(options = {}) {
|
|
|
205
247
|
console.log(chalk.white(` ⢠${personalityFiles.length} personality templates installed`));
|
|
206
248
|
console.log(chalk.white(` ⢠${outputStyleFiles.length} output styles installed`));
|
|
207
249
|
console.log(chalk.white(` ⢠Voice manager ready`));
|
|
208
|
-
console.log(chalk.white(` ā¢
|
|
250
|
+
console.log(chalk.white(` ⢠22 unique ElevenLabs voices available\n`));
|
|
251
|
+
|
|
252
|
+
// Show recent changes from git log (if available)
|
|
253
|
+
try {
|
|
254
|
+
const { execSync } = await import('node:child_process');
|
|
255
|
+
const gitLog = execSync(
|
|
256
|
+
'git log --oneline --no-decorate -5',
|
|
257
|
+
{ cwd: path.join(__dirname, '..'), encoding: 'utf8' }
|
|
258
|
+
).trim();
|
|
259
|
+
|
|
260
|
+
if (gitLog) {
|
|
261
|
+
console.log(chalk.cyan('š Recent Changes:\n'));
|
|
262
|
+
const commits = gitLog.split('\n');
|
|
263
|
+
commits.forEach(commit => {
|
|
264
|
+
const [hash, ...messageParts] = commit.split(' ');
|
|
265
|
+
const message = messageParts.join(' ');
|
|
266
|
+
console.log(chalk.gray(` ${hash}`) + ' ' + chalk.white(message));
|
|
267
|
+
});
|
|
268
|
+
console.log();
|
|
269
|
+
}
|
|
270
|
+
} catch (error) {
|
|
271
|
+
// Git not available or not a git repo - skip changelog
|
|
272
|
+
}
|
|
209
273
|
|
|
210
274
|
// Success message
|
|
211
275
|
console.log(
|
|
@@ -254,7 +318,7 @@ program
|
|
|
254
318
|
program
|
|
255
319
|
.command('install')
|
|
256
320
|
.description('Install AgentVibes voice commands')
|
|
257
|
-
.option('-d, --directory <path>', 'Installation directory (default:
|
|
321
|
+
.option('-d, --directory <path>', 'Installation directory (default: current directory)')
|
|
258
322
|
.option('-y, --yes', 'Skip confirmation prompt (auto-confirm)')
|
|
259
323
|
.action(async (options) => {
|
|
260
324
|
await install(options);
|
|
@@ -263,11 +327,11 @@ program
|
|
|
263
327
|
program
|
|
264
328
|
.command('update')
|
|
265
329
|
.description('Update AgentVibes to latest version from source')
|
|
266
|
-
.option('-d, --directory <path>', 'Installation directory (default:
|
|
330
|
+
.option('-d, --directory <path>', 'Installation directory (default: current directory)')
|
|
267
331
|
.option('-y, --yes', 'Skip confirmation prompt (auto-confirm)')
|
|
268
332
|
.action(async (options) => {
|
|
269
|
-
const
|
|
270
|
-
const targetDir = options.directory ||
|
|
333
|
+
const currentDir = process.cwd();
|
|
334
|
+
const targetDir = options.directory || currentDir;
|
|
271
335
|
|
|
272
336
|
// Read version from package.json
|
|
273
337
|
const packageJson = JSON.parse(
|
|
@@ -277,7 +341,8 @@ program
|
|
|
277
341
|
|
|
278
342
|
console.log(chalk.cyan('\nš AgentVibes Update\n'));
|
|
279
343
|
console.log(chalk.bold(` Version: ${version}`));
|
|
280
|
-
console.log(chalk.gray(`
|
|
344
|
+
console.log(chalk.gray(` Current directory: ${currentDir}`));
|
|
345
|
+
console.log(chalk.gray(` Update location: ${targetDir}/.claude/`));
|
|
281
346
|
console.log(chalk.gray(` Source: ${__dirname}/../\n`));
|
|
282
347
|
|
|
283
348
|
// Check if already installed
|