#!/usr/bin/env bash set -euo pipefail repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" plugin_path="$HOME/plugins/nobgit" marketplace_path="$HOME/.agents/plugins/marketplace.json" mkdir -p "$plugin_path" "$(dirname "$marketplace_path")" cp -R "$repo_root/.codex-plugin" "$plugin_path/" cp -R "$repo_root/assets" "$plugin_path/" cp -R "$repo_root/skills" "$plugin_path/" cp "$repo_root/.mcp.json" "$plugin_path/.mcp.json" cp "$repo_root/readme.md" "$plugin_path/readme.md" python3 - <<'PY' import json from pathlib import Path marketplace_path = Path.home() / ".agents" / "plugins" / "marketplace.json" if marketplace_path.exists(): marketplace = json.loads(marketplace_path.read_text()) else: marketplace = { "name": "personal", "interface": {"displayName": "Personal"}, "plugins": [], } entry = { "name": "nobgit", "source": { "source": "local", "path": "./plugins/nobgit", }, "policy": { "installation": "AVAILABLE", "authentication": "ON_INSTALL", }, "category": "Developer Tools", } marketplace["plugins"] = [ plugin for plugin in marketplace.get("plugins", []) if plugin.get("name") != "nobgit" ] + [entry] marketplace_path.write_text(json.dumps(marketplace, indent=2) + "\n") PY if command -v codex >/dev/null 2>&1; then codex plugin add nobgit@personal || true else echo "NobGit was added to the personal marketplace. Open Codex Plugins and install NobGit from Personal." fi echo "Done. Start a new Codex thread after installing NobGit."