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 CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
10
10
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
11
11
 
12
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v1.0.16
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.16 - Release Notes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v1.0.16)** šŸŽ¤
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.16",
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
- const VERSION = '1.0.0';
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
- chalk.cyan(
22
- figlet.textSync('AgentVibes', {
23
- font: 'ANSI Shadow',
24
- horizontalLayout: 'default',
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 homeDir = process.env.HOME || process.env.USERPROFILE;
49
- const targetDir = options.directory || homeDir;
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(` Target directory: ${targetDir}`));
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(` • 15+ ElevenLabs character voices\n`));
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('Install AgentVibes in this directory?'),
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(` • 15+ ElevenLabs voices available\n`));
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: home directory)')
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: home directory)')
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 homeDir = process.env.HOME || process.env.USERPROFILE;
270
- const targetDir = options.directory || homeDir;
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(` Target directory: ${targetDir}`));
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