vibe-annotations-server 0.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/README.md +36 -0
- package/index.js +111 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# vibe-annotations-server
|
|
2
|
+
|
|
3
|
+
This is the npm wrapper for [vibe-annotations-server](https://github.com/RaphaelRegnier/vibe-annotations-server), the MCP server component of Vibe Annotations.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx vibe-annotations-server
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This will automatically:
|
|
12
|
+
1. Install the latest version from GitHub if not already installed
|
|
13
|
+
2. Start the vibe-annotations server
|
|
14
|
+
|
|
15
|
+
## What is Vibe Annotations?
|
|
16
|
+
|
|
17
|
+
AI-powered development annotations for localhost projects. Drop comments on your localhost apps and let your AI coding agent implement the fixes automatically.
|
|
18
|
+
|
|
19
|
+
- π Works on localhost development projects
|
|
20
|
+
- π€ Integrates with AI coding agents via MCP
|
|
21
|
+
- β‘ Instant visual feedback system
|
|
22
|
+
- π Multi-page annotation support
|
|
23
|
+
|
|
24
|
+
## Documentation
|
|
25
|
+
|
|
26
|
+
For full documentation, Chrome extension installation, and setup instructions, visit:
|
|
27
|
+
https://github.com/RaphaelRegnier/vibe-annotations
|
|
28
|
+
|
|
29
|
+
## Source Code
|
|
30
|
+
|
|
31
|
+
The actual server source code is maintained at:
|
|
32
|
+
https://github.com/RaphaelRegnier/vibe-annotations-server
|
|
33
|
+
|
|
34
|
+
## License
|
|
35
|
+
|
|
36
|
+
MIT
|
package/index.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { execSync, spawn } = require('child_process');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
|
|
7
|
+
const GITHUB_REPO = 'git+https://github.com/RaphaelRegnier/vibe-annotations-server.git';
|
|
8
|
+
const COMMAND_NAME = 'vibe-annotations-server';
|
|
9
|
+
|
|
10
|
+
// Colors for terminal output
|
|
11
|
+
const colors = {
|
|
12
|
+
reset: '\x1b[0m',
|
|
13
|
+
bright: '\x1b[1m',
|
|
14
|
+
dim: '\x1b[2m',
|
|
15
|
+
green: '\x1b[32m',
|
|
16
|
+
yellow: '\x1b[33m',
|
|
17
|
+
blue: '\x1b[34m',
|
|
18
|
+
cyan: '\x1b[36m'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
function log(message, color = '') {
|
|
22
|
+
console.log(`${color}${message}${colors.reset}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function checkIfInstalled() {
|
|
26
|
+
try {
|
|
27
|
+
execSync(`which ${COMMAND_NAME}`, { stdio: 'ignore' });
|
|
28
|
+
return true;
|
|
29
|
+
} catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getInstalledVersion() {
|
|
35
|
+
try {
|
|
36
|
+
const output = execSync(`${COMMAND_NAME} --version`, { encoding: 'utf8' });
|
|
37
|
+
return output.trim();
|
|
38
|
+
} catch {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function installFromGitHub() {
|
|
44
|
+
log('π¦ Installing vibe-annotations-server from GitHub...', colors.cyan);
|
|
45
|
+
try {
|
|
46
|
+
execSync(`npm install -g ${GITHUB_REPO}`, { stdio: 'inherit' });
|
|
47
|
+
log('β
Successfully installed vibe-annotations-server!', colors.green);
|
|
48
|
+
return true;
|
|
49
|
+
} catch (error) {
|
|
50
|
+
log('β Failed to install. Please try manually:', colors.yellow);
|
|
51
|
+
log(` npm install -g ${GITHUB_REPO}`, colors.dim);
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function runCommand(args) {
|
|
57
|
+
const child = spawn(COMMAND_NAME, args, { stdio: 'inherit' });
|
|
58
|
+
|
|
59
|
+
child.on('error', (error) => {
|
|
60
|
+
if (error.code === 'ENOENT') {
|
|
61
|
+
log('β Command not found. Installation may have failed.', colors.yellow);
|
|
62
|
+
} else {
|
|
63
|
+
log(`β Error: ${error.message}`, colors.yellow);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
child.on('exit', (code) => {
|
|
68
|
+
process.exit(code);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function main() {
|
|
73
|
+
const args = process.argv.slice(2);
|
|
74
|
+
|
|
75
|
+
// Show version for this wrapper
|
|
76
|
+
if (args.includes('--wrapper-version')) {
|
|
77
|
+
const packageJson = require('./package.json');
|
|
78
|
+
log(`npm wrapper version: ${packageJson.version}`, colors.dim);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
log('π Vibe Annotations Server', colors.bright);
|
|
83
|
+
|
|
84
|
+
// Check if vibe-annotations-server is installed
|
|
85
|
+
if (!checkIfInstalled()) {
|
|
86
|
+
log('π First time setup detected...', colors.blue);
|
|
87
|
+
|
|
88
|
+
// Install from GitHub
|
|
89
|
+
if (!installFromGitHub()) {
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
// Show installed version
|
|
94
|
+
const version = getInstalledVersion();
|
|
95
|
+
if (version) {
|
|
96
|
+
log(` Version: ${version}`, colors.dim);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Run the actual command
|
|
101
|
+
log('π Starting server...', colors.cyan);
|
|
102
|
+
runCommand(args);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Handle Ctrl+C gracefully
|
|
106
|
+
process.on('SIGINT', () => {
|
|
107
|
+
log('\nπ Shutting down...', colors.yellow);
|
|
108
|
+
process.exit(0);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
main();
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vibe-annotations-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MCP server for Vibe Annotations - AI-powered localhost development feedback",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"vibe-annotations-server": "./index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node index.js --version"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"mcp",
|
|
14
|
+
"model-context-protocol",
|
|
15
|
+
"annotations",
|
|
16
|
+
"localhost",
|
|
17
|
+
"development",
|
|
18
|
+
"ai-tools",
|
|
19
|
+
"claude",
|
|
20
|
+
"cursor",
|
|
21
|
+
"windsurf",
|
|
22
|
+
"chrome-extension"
|
|
23
|
+
],
|
|
24
|
+
"author": "RaphaΓ«l RΓ©gnier",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/RaphaelRegnier/vibe-annotations-server.git"
|
|
29
|
+
},
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/RaphaelRegnier/vibe-annotations/issues"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/RaphaelRegnier/vibe-annotations",
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=14.0.0"
|
|
36
|
+
},
|
|
37
|
+
"preferGlobal": true
|
|
38
|
+
}
|