public
nobgit
read
Codex
NobGit for Codex
Languages
Repository composition by tracked source files.
PowerShell
57%
Shell
43%
Trace
install.sh
Trace helps you understand code history line by line. See who changed each line, when it changed, and which commit introduced it.
Author
Date
Commit
Line
Code
1
#!/usr/bin/env bash
2
set -euo pipefail
4
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
plugin_path="$HOME/plugins/nobgit"
6
marketplace_path="$HOME/.agents/plugins/marketplace.json"
8
mkdir -p "$plugin_path" "$(dirname "$marketplace_path")"
9
cp -R "$repo_root/.codex-plugin" "$plugin_path/"
10
cp -R "$repo_root/assets" "$plugin_path/"
11
cp -R "$repo_root/skills" "$plugin_path/"
12
cp "$repo_root/.mcp.json" "$plugin_path/.mcp.json"
13
cp "$repo_root/readme.md" "$plugin_path/readme.md"
15
python3 - <<'PY'
16
import json
17
from pathlib import Path
19
marketplace_path = Path.home() / ".agents" / "plugins" / "marketplace.json"
20
if marketplace_path.exists():
21
marketplace = json.loads(marketplace_path.read_text())
22
else:
23
marketplace = {
24
"name": "personal",
25
"interface": {"displayName": "Personal"},
26
"plugins": [],
27
}
29
entry = {
30
"name": "nobgit",
31
"source": {
32
"source": "local",
33
"path": "./plugins/nobgit",
34
},
35
"policy": {
36
"installation": "AVAILABLE",
37
"authentication": "ON_INSTALL",
38
},
39
"category": "Developer Tools",
40
}
42
marketplace["plugins"] = [
43
plugin for plugin in marketplace.get("plugins", [])
44
if plugin.get("name") != "nobgit"
45
] + [entry]
46
marketplace_path.write_text(json.dumps(marketplace, indent=2) + "\n")
47
PY
49
if command -v codex >/dev/null 2>&1; then
50
codex plugin add nobgit@personal || true
51
else
52
echo "NobGit was added to the personal marketplace. Open Codex Plugins and install NobGit from Personal."
53
fi
55
echo "Done. Start a new Codex thread after installing NobGit."