bingo-light 2.0.0 → 2.0.1
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/bin/postinstall.js +51 -0
- package/package.json +5 -2
- package/bingo_core/__pycache__/__init__.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/_entry.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/config.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/exceptions.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/git.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/models.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/repo.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/setup.cpython-313.pyc +0 -0
- package/bingo_core/__pycache__/state.cpython-313.pyc +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Post-install hook: run `bingo-light setup` if in an interactive terminal.
|
|
3
|
+
// In CI / non-TTY environments, just print a hint.
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
const { execFileSync, execSync } = require("child_process");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const fs = require("fs");
|
|
10
|
+
|
|
11
|
+
const isTTY = process.stdout.isTTY && process.stdin.isTTY;
|
|
12
|
+
const isCI = process.env.CI === "true" || process.env.NONINTERACTIVE === "1";
|
|
13
|
+
|
|
14
|
+
const script = path.join(__dirname, "..", "bingo-light");
|
|
15
|
+
|
|
16
|
+
// Find python3
|
|
17
|
+
function findPython() {
|
|
18
|
+
for (const cmd of ["python3", "python"]) {
|
|
19
|
+
try {
|
|
20
|
+
const ver = execFileSync(cmd, ["--version"], {
|
|
21
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
22
|
+
}).toString().trim();
|
|
23
|
+
const m = ver.match(/(\d+)\.(\d+)/);
|
|
24
|
+
if (m && (parseInt(m[1]) > 3 || (parseInt(m[1]) === 3 && parseInt(m[2]) >= 8))) {
|
|
25
|
+
return cmd;
|
|
26
|
+
}
|
|
27
|
+
} catch (_) {}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const python = findPython();
|
|
33
|
+
|
|
34
|
+
if (!python) {
|
|
35
|
+
console.log("\n \x1b[33m!\x1b[0m Python 3.8+ not found — run \x1b[1mbingo-light setup\x1b[0m after installing Python.\n");
|
|
36
|
+
process.exit(0);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (isTTY && !isCI) {
|
|
40
|
+
// Interactive: run setup directly
|
|
41
|
+
try {
|
|
42
|
+
execFileSync(python, [script, "setup"], { stdio: "inherit" });
|
|
43
|
+
} catch (e) {
|
|
44
|
+
// setup failed or user cancelled — not fatal
|
|
45
|
+
process.exit(0);
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
// Non-interactive: print hint
|
|
49
|
+
console.log("\n \x1b[32m✓\x1b[0m bingo-light installed");
|
|
50
|
+
console.log(" Run \x1b[1mbingo-light setup\x1b[0m to configure MCP for your AI tools.\n");
|
|
51
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bingo-light",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "AI-native fork maintenance — manage customizations as a clean patch stack on top of upstream",
|
|
5
5
|
"keywords": ["git", "fork", "patch", "mcp", "ai", "maintenance", "upstream", "rebase"],
|
|
6
6
|
"homepage": "https://github.com/DanOps-1/bingo-light",
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git+https://github.com/DanOps-1/bingo-light.git"
|
|
12
12
|
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"postinstall": "node bin/postinstall.js"
|
|
15
|
+
},
|
|
13
16
|
"bin": {
|
|
14
17
|
"bingo-light": "./bin/cli.js",
|
|
15
18
|
"bingo-light-mcp": "./bin/mcp.js"
|
|
@@ -18,7 +21,7 @@
|
|
|
18
21
|
"bin/",
|
|
19
22
|
"bingo-light",
|
|
20
23
|
"mcp-server.py",
|
|
21
|
-
"bingo_core
|
|
24
|
+
"bingo_core/*.py",
|
|
22
25
|
"completions/",
|
|
23
26
|
"LICENSE",
|
|
24
27
|
"README.md"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|