vibeweld 0.0.4
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 +68 -0
- package/bin/vibeweld +100 -0
- package/package.json +47 -0
- package/scripts/postinstall.js +74 -0
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# vibeweld
|
|
2
|
+
|
|
3
|
+
Unified AI Agent Configuration Distribution System.
|
|
4
|
+
|
|
5
|
+
Configure Copilot, Claude, Cursor, Windsurf, and 30+ AI coding agents from a single source of truth.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Run directly with npx
|
|
11
|
+
npx vibeweld init
|
|
12
|
+
npx vibeweld apply
|
|
13
|
+
|
|
14
|
+
# Or install globally
|
|
15
|
+
npm install -g vibeweld
|
|
16
|
+
vibeweld init
|
|
17
|
+
vibeweld apply
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
- š§ **Single Config** - One `vibeweld.yaml` for all AI agents
|
|
23
|
+
- š¤ **30+ Agents** - Copilot, Claude, Cursor, Windsurf, Cline, and more
|
|
24
|
+
- š **MCP Support** - Distribute Model Context Protocol servers
|
|
25
|
+
- š¦ **Templates** - Start with pre-built configurations
|
|
26
|
+
- š **Sync** - Pull configs from GitHub, GitLab, or URLs
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Initialize in your project
|
|
32
|
+
vibeweld init
|
|
33
|
+
|
|
34
|
+
# Edit .vibeweld/vibeweld.yaml, then apply
|
|
35
|
+
vibeweld apply
|
|
36
|
+
|
|
37
|
+
# See what would change
|
|
38
|
+
vibeweld apply --dry-run
|
|
39
|
+
|
|
40
|
+
# List supported agents
|
|
41
|
+
vibeweld list
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Documentation
|
|
45
|
+
|
|
46
|
+
Full documentation at [github.com/vibeweld/vibeweld-cli](https://github.com/vibeweld/vibeweld-cli)
|
|
47
|
+
|
|
48
|
+
## Alternative Installation
|
|
49
|
+
|
|
50
|
+
### Cargo (Rust)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
cargo install vibeweld
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Homebrew (macOS/Linux)
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
brew install vibeweld/tap/vibeweld
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Direct Download
|
|
63
|
+
|
|
64
|
+
Download binaries from [GitHub Releases](https://github.com/vibeweld/vibeweld-cli/releases)
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
MIT
|
package/bin/vibeweld
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { execFileSync } = require("child_process");
|
|
4
|
+
const { existsSync } = require("fs");
|
|
5
|
+
const { join } = require("path");
|
|
6
|
+
const SELF_PACKAGE = require("../package.json").name;
|
|
7
|
+
|
|
8
|
+
// Platform-specific package mapping
|
|
9
|
+
const PLATFORM_PACKAGES = {
|
|
10
|
+
"linux-x64": "@vibeweld/cli-linux-x64",
|
|
11
|
+
"linux-x64-musl": "@vibeweld/cli-linux-x64-musl",
|
|
12
|
+
"linux-arm64": "@vibeweld/cli-linux-arm64",
|
|
13
|
+
"darwin-x64": "@vibeweld/cli-darwin-x64",
|
|
14
|
+
"darwin-arm64": "@vibeweld/cli-darwin-arm64",
|
|
15
|
+
"win32-x64": "@vibeweld/cli-win32-x64",
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
function getPlatformKey() {
|
|
19
|
+
const platform = process.platform;
|
|
20
|
+
const arch = process.arch;
|
|
21
|
+
|
|
22
|
+
if (platform === "linux" && arch === "x64") {
|
|
23
|
+
// Check if musl-based (Alpine, etc.)
|
|
24
|
+
try {
|
|
25
|
+
const { execSync } = require("child_process");
|
|
26
|
+
const ldd = execSync("ldd --version 2>&1 || true", { encoding: "utf8" });
|
|
27
|
+
if (ldd.includes("musl")) {
|
|
28
|
+
return "linux-x64-musl";
|
|
29
|
+
}
|
|
30
|
+
} catch { }
|
|
31
|
+
return "linux-x64";
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (platform === "linux" && arch === "arm64") return "linux-arm64";
|
|
35
|
+
if (platform === "darwin" && arch === "x64") return "darwin-x64";
|
|
36
|
+
if (platform === "darwin" && arch === "arm64") return "darwin-arm64";
|
|
37
|
+
if (platform === "win32" && arch === "x64") return "win32-x64";
|
|
38
|
+
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getBinaryPath() {
|
|
43
|
+
const platformKey = getPlatformKey();
|
|
44
|
+
|
|
45
|
+
if (!platformKey) {
|
|
46
|
+
console.error(
|
|
47
|
+
`Unsupported platform: ${process.platform}-${process.arch}`
|
|
48
|
+
);
|
|
49
|
+
console.error("Please install vibeweld manually from:");
|
|
50
|
+
console.error("https://github.com/vibeweld/vibeweld-cli/releases");
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const packageName = PLATFORM_PACKAGES[platformKey];
|
|
55
|
+
const binaryName = process.platform === "win32" ? "vibeweld.exe" : "vibeweld";
|
|
56
|
+
|
|
57
|
+
// Try to find the binary in the platform-specific package
|
|
58
|
+
const paths = [
|
|
59
|
+
// Installed as dependency
|
|
60
|
+
join(__dirname, "..", "node_modules", packageName, "bin", binaryName),
|
|
61
|
+
// Hoisted to root node_modules
|
|
62
|
+
join(__dirname, "..", "..", packageName, "bin", binaryName),
|
|
63
|
+
// pnpm/yarn PnP
|
|
64
|
+
join(__dirname, "..", "..", "..", packageName, "bin", binaryName),
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
for (const p of paths) {
|
|
68
|
+
if (existsSync(p)) {
|
|
69
|
+
return p;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Try require.resolve as fallback
|
|
74
|
+
try {
|
|
75
|
+
const pkgPath = require.resolve(`${packageName}/package.json`);
|
|
76
|
+
const binPath = join(pkgPath, "..", "bin", binaryName);
|
|
77
|
+
if (existsSync(binPath)) {
|
|
78
|
+
return binPath;
|
|
79
|
+
}
|
|
80
|
+
} catch { }
|
|
81
|
+
|
|
82
|
+
console.error(`Could not find vibeweld binary for ${platformKey}`);
|
|
83
|
+
console.error(`Try reinstalling: npm install ${SELF_PACKAGE}`);
|
|
84
|
+
console.error("Or install manually from:");
|
|
85
|
+
console.error("https://github.com/vibeweld/vibeweld-cli/releases");
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Run the binary with all arguments
|
|
90
|
+
const binary = getBinaryPath();
|
|
91
|
+
const args = process.argv.slice(2);
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
execFileSync(binary, args, { stdio: "inherit" });
|
|
95
|
+
} catch (error) {
|
|
96
|
+
if (error.status !== undefined) {
|
|
97
|
+
process.exit(error.status);
|
|
98
|
+
}
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vibeweld",
|
|
3
|
+
"version": "0.0.4",
|
|
4
|
+
"description": "Unified AI Agent Configuration Distribution System - Configure Copilot, Claude, Cursor, and 30+ AI agents from a single source",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"copilot",
|
|
8
|
+
"claude",
|
|
9
|
+
"cursor",
|
|
10
|
+
"windsurf",
|
|
11
|
+
"coding-assistant",
|
|
12
|
+
"developer-tools",
|
|
13
|
+
"mcp",
|
|
14
|
+
"model-context-protocol"
|
|
15
|
+
],
|
|
16
|
+
"author": "VibeWeld Contributors",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/vibeweld/vibeweld-cli.git"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://github.com/vibeweld/vibeweld-cli",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/vibeweld/vibeweld-cli/issues"
|
|
25
|
+
},
|
|
26
|
+
"bin": {
|
|
27
|
+
"vibeweld": "bin/vibeweld"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"bin",
|
|
31
|
+
"scripts"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"postinstall": "node scripts/postinstall.js"
|
|
35
|
+
},
|
|
36
|
+
"optionalDependencies": {
|
|
37
|
+
"@vibeweld/cli-linux-x64": "0.0.4",
|
|
38
|
+
"@vibeweld/cli-linux-x64-musl": "0.0.4",
|
|
39
|
+
"@vibeweld/cli-linux-arm64": "0.0.4",
|
|
40
|
+
"@vibeweld/cli-darwin-x64": "0.0.4",
|
|
41
|
+
"@vibeweld/cli-darwin-arm64": "0.0.4",
|
|
42
|
+
"@vibeweld/cli-win32-x64": "0.0.4"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=14"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-install script for vibeweld npm package
|
|
3
|
+
* Verifies that the correct platform-specific binary is available
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const { existsSync } = require("fs");
|
|
7
|
+
const { join } = require("path");
|
|
8
|
+
const { execSync } = require("child_process");
|
|
9
|
+
const SELF_PACKAGE = require("../package.json").name;
|
|
10
|
+
|
|
11
|
+
const PLATFORM_PACKAGES = {
|
|
12
|
+
"linux-x64": "@vibeweld/cli-linux-x64",
|
|
13
|
+
"linux-x64-musl": "@vibeweld/cli-linux-x64-musl",
|
|
14
|
+
"linux-arm64": "@vibeweld/cli-linux-arm64",
|
|
15
|
+
"darwin-x64": "@vibeweld/cli-darwin-x64",
|
|
16
|
+
"darwin-arm64": "@vibeweld/cli-darwin-arm64",
|
|
17
|
+
"win32-x64": "@vibeweld/cli-win32-x64",
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function getPlatformKey() {
|
|
21
|
+
const platform = process.platform;
|
|
22
|
+
const arch = process.arch;
|
|
23
|
+
|
|
24
|
+
if (platform === "linux" && arch === "x64") {
|
|
25
|
+
try {
|
|
26
|
+
const ldd = execSync("ldd --version 2>&1 || true", { encoding: "utf8" });
|
|
27
|
+
if (ldd.includes("musl")) {
|
|
28
|
+
return "linux-x64-musl";
|
|
29
|
+
}
|
|
30
|
+
} catch { }
|
|
31
|
+
return "linux-x64";
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (platform === "linux" && arch === "arm64") return "linux-arm64";
|
|
35
|
+
if (platform === "darwin" && arch === "x64") return "darwin-x64";
|
|
36
|
+
if (platform === "darwin" && arch === "arm64") return "darwin-arm64";
|
|
37
|
+
if (platform === "win32" && arch === "x64") return "win32-x64";
|
|
38
|
+
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function main() {
|
|
43
|
+
const platformKey = getPlatformKey();
|
|
44
|
+
|
|
45
|
+
if (!platformKey) {
|
|
46
|
+
console.warn(
|
|
47
|
+
`\nā ļø vibeweld: Unsupported platform (${process.platform}-${process.arch})`
|
|
48
|
+
);
|
|
49
|
+
console.warn(" Download manually from: https://github.com/vibeweld/vibeweld-cli/releases\n");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const packageName = PLATFORM_PACKAGES[platformKey];
|
|
54
|
+
const binaryName = process.platform === "win32" ? "vibeweld.exe" : "vibeweld";
|
|
55
|
+
|
|
56
|
+
// Check if binary exists
|
|
57
|
+
try {
|
|
58
|
+
const pkgPath = require.resolve(`${packageName}/package.json`);
|
|
59
|
+
const binPath = join(pkgPath, "..", "bin", binaryName);
|
|
60
|
+
|
|
61
|
+
if (existsSync(binPath)) {
|
|
62
|
+
console.log(`ā vibeweld installed successfully (${platformKey})`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
} catch { }
|
|
66
|
+
|
|
67
|
+
// Binary not found - this can happen if optionalDependencies failed
|
|
68
|
+
console.warn(`\nā ļø vibeweld: Platform package ${packageName} not installed`);
|
|
69
|
+
console.warn(" This may happen on unsupported platforms or with restricted networks.");
|
|
70
|
+
console.warn(` Try reinstalling: npm install ${SELF_PACKAGE}`);
|
|
71
|
+
console.warn(" Download manually from: https://github.com/vibeweld/vibeweld-cli/releases\n");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
main();
|