repo-nexus 0.7.35 → 0.7.36
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/lib/ai.sh +26 -27
- package/lib/commands/completion.sh +6 -15
- package/lib/commands/status.sh +0 -1
- package/lib/commands/sync.sh +0 -1
- package/lib/hooks.sh +2 -8
- package/lib/workspace.sh +4 -4
- package/package.json +6 -2
package/lib/ai.sh
CHANGED
|
@@ -21,36 +21,35 @@ $RNEX_LOCAL_CONFIG_FILE
|
|
|
21
21
|
.rnex.local.yaml
|
|
22
22
|
GI_EOF
|
|
23
23
|
log_ok "Created .gitignore (ignoring repos/ and $RNEX_LOCAL_CONFIG_FILE)"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
log_ok "Removed legacy lint trigger counter entries from .gitignore"
|
|
32
|
-
fi
|
|
24
|
+
else
|
|
25
|
+
# 1. Strip any legacy lint_trigger_counter entries if present
|
|
26
|
+
if grep -q "lint_trigger_counter" "$_gi" 2>/dev/null; then
|
|
27
|
+
_tmp="$(mktemp)"
|
|
28
|
+
grep -v "lint_trigger_counter" "$_gi" > "$_tmp" && mv "$_tmp" "$_gi"
|
|
29
|
+
log_ok "Removed legacy lint trigger counter entries from .gitignore"
|
|
30
|
+
fi
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
# 2. Strip legacy .rnex/ entries if present (.rnex/ contains tracked plugins, skills, and hooks)
|
|
33
|
+
if grep -qE '^[ ]*#?[ ]*Repo Nexus internal state' "$_gi" 2>/dev/null || grep -qE '^\.rnex/?$' "$_gi" 2>/dev/null; then
|
|
34
|
+
_tmp="$(mktemp)"
|
|
35
|
+
grep -vE '(^[ ]*#?[ ]*Repo Nexus internal state|^\.rnex/?$)' "$_gi" > "$_tmp" && mv "$_tmp" "$_gi"
|
|
36
|
+
log_ok "Removed .rnex/ from .gitignore (.rnex should be tracked in git)"
|
|
37
|
+
fi
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
# 3. Ensure repos/* is ignored
|
|
40
|
+
if ! grep -q "^repos" "$_gi" 2>/dev/null; then
|
|
41
|
+
printf '\n# Member repos (managed by rnex)\nrepos/*\n!repos/.gitkeep\n' >> "$_gi"
|
|
42
|
+
log_dim "Added repos/* to .gitignore"
|
|
43
|
+
fi
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
# 4. Ensure local config files are ignored
|
|
46
|
+
if ! grep -qF "$RNEX_LOCAL_CONFIG_FILE" "$_gi" 2>/dev/null; then
|
|
47
|
+
printf '\n# Local machine-specific configuration\n%s\n' "$RNEX_LOCAL_CONFIG_FILE" >> "$_gi"
|
|
48
|
+
log_dim "Added $RNEX_LOCAL_CONFIG_FILE to .gitignore"
|
|
49
|
+
fi
|
|
50
|
+
if ! grep -qF ".rnex.local.yaml" "$_gi" 2>/dev/null; then
|
|
51
|
+
printf '.rnex.local.yaml\n' >> "$_gi"
|
|
52
|
+
fi
|
|
54
53
|
fi
|
|
55
54
|
|
|
56
55
|
# Universal search tool ignore file (ripgrep, Claude Code, VS Code, Zed)
|
|
@@ -55,10 +55,8 @@ complete -F _rnex_completions repo-nexus
|
|
|
55
55
|
# Prompt hook for zero-fork auto-synchronization
|
|
56
56
|
_rnex_auto_sync() {
|
|
57
57
|
[ -f rnex.yaml ] || return 0
|
|
58
|
-
_stamp=""
|
|
59
|
-
[ -f
|
|
60
|
-
[ -z "$_stamp" ] && [ -f .rnex/.sync_stamp ] && _stamp=".rnex/.sync_stamp"
|
|
61
|
-
if [ -z "$_stamp" ] || [ rnex.yaml -nt "$_stamp" ] || \
|
|
58
|
+
_stamp=".rnex/sync_stamp"
|
|
59
|
+
if [ ! -f "$_stamp" ] || [ rnex.yaml -nt "$_stamp" ] || \
|
|
62
60
|
{ [ -f .local.rnex.yaml ] && [ .local.rnex.yaml -nt "$_stamp" ]; }; then
|
|
63
61
|
rnex sync -y --quiet
|
|
64
62
|
fi
|
|
@@ -146,10 +144,8 @@ _rnex "$@"
|
|
|
146
144
|
# Prompt hook for zero-fork auto-synchronization
|
|
147
145
|
_rnex_auto_sync() {
|
|
148
146
|
[ -f rnex.yaml ] || return 0
|
|
149
|
-
_stamp=""
|
|
150
|
-
[ -f
|
|
151
|
-
[ -z "$_stamp" ] && [ -f .rnex/.sync_stamp ] && _stamp=".rnex/.sync_stamp"
|
|
152
|
-
if [ -z "$_stamp" ] || [ rnex.yaml -nt "$_stamp" ] || \
|
|
147
|
+
_stamp=".rnex/sync_stamp"
|
|
148
|
+
if [ ! -f "$_stamp" ] || [ rnex.yaml -nt "$_stamp" ] || \
|
|
153
149
|
{ [ -f .local.rnex.yaml ] && [ .local.rnex.yaml -nt "$_stamp" ]; }; then
|
|
154
150
|
rnex sync -y --quiet
|
|
155
151
|
fi
|
|
@@ -185,13 +181,8 @@ complete -c rnex -n "__fish_use_subcommand" -a version -d "Show version"
|
|
|
185
181
|
|
|
186
182
|
function _rnex_auto_sync --on-event fish_prompt
|
|
187
183
|
test -f rnex.yaml; or return 0
|
|
188
|
-
set -l _stamp
|
|
189
|
-
if test -f .rnex
|
|
190
|
-
set _stamp .rnex/sync_stamp
|
|
191
|
-
else if test -f .rnex/.sync_stamp
|
|
192
|
-
set _stamp .rnex/.sync_stamp
|
|
193
|
-
end
|
|
194
|
-
if test -z "$_stamp"; or test rnex.yaml -nt "$_stamp"; or test -f .local.rnex.yaml -a .local.rnex.yaml -nt "$_stamp"
|
|
184
|
+
set -l _stamp .rnex/sync_stamp
|
|
185
|
+
if not test -f "$_stamp"; or test rnex.yaml -nt "$_stamp"; or test -f .local.rnex.yaml -a .local.rnex.yaml -nt "$_stamp"
|
|
195
186
|
rnex sync -y --quiet
|
|
196
187
|
end
|
|
197
188
|
end
|
package/lib/commands/status.sh
CHANGED
|
@@ -68,7 +68,6 @@ cmd_status() {
|
|
|
68
68
|
fi
|
|
69
69
|
|
|
70
70
|
_stamp_file="$NEXUS_DIR/.rnex/sync_stamp"
|
|
71
|
-
[ -f "$_stamp_file" ] || _stamp_file="$NEXUS_DIR/.rnex/.sync_stamp"
|
|
72
71
|
_cur_sum="$(get_config_sum "$NEXUS_DIR")"
|
|
73
72
|
if [ ! -f "$_stamp_file" ] || [ "$_cur_sum" != "$(cat "$_stamp_file" 2>/dev/null)" ]; then
|
|
74
73
|
printf ' %b!%b Sync Stamp: workspace out of sync with configuration (run "rnex sync")\n' "$_Y" "$_NC"
|
package/lib/commands/sync.sh
CHANGED
|
@@ -16,7 +16,6 @@ _ws="$(cd "$(dirname "$0")/../.." 2>/dev/null && pwd -P)"
|
|
|
16
16
|
[ -f "$_ws/rnex.yaml" ] || exit 0
|
|
17
17
|
|
|
18
18
|
_stamp="$_ws/.rnex/sync_stamp"
|
|
19
|
-
[ -f "$_stamp" ] || _stamp="$_ws/.rnex/.sync_stamp"
|
|
20
19
|
_cur_sum="$(cd "$_ws" 2>/dev/null && cksum rnex.yaml .local.rnex.yaml 2>/dev/null | cksum | awk '{print $1, $2}')"
|
|
21
20
|
_saved_sum=""
|
|
22
21
|
[ -f "$_stamp" ] && _saved_sum="$(cat "$_stamp" 2>/dev/null)"
|
package/lib/hooks.sh
CHANGED
|
@@ -252,14 +252,8 @@ _sync_if_hook_config_changed() {
|
|
|
252
252
|
_shc_hook="$1"
|
|
253
253
|
shift || true
|
|
254
254
|
_cfg_changed=0
|
|
255
|
-
_stamp_file=""
|
|
256
|
-
if [ -f "$NEXUS_DIR
|
|
257
|
-
_stamp_file="$NEXUS_DIR/.rnex/sync_stamp"
|
|
258
|
-
elif [ -f "$NEXUS_DIR/.rnex/.sync_stamp" ]; then
|
|
259
|
-
_stamp_file="$NEXUS_DIR/.rnex/.sync_stamp"
|
|
260
|
-
fi
|
|
261
|
-
|
|
262
|
-
if [ -z "$_stamp_file" ] || [ "$(get_config_sum "$NEXUS_DIR")" != "$(cat "$_stamp_file" 2>/dev/null)" ]; then
|
|
255
|
+
_stamp_file="$NEXUS_DIR/.rnex/sync_stamp"
|
|
256
|
+
if [ ! -f "$_stamp_file" ] || [ "$(get_config_sum "$NEXUS_DIR")" != "$(cat "$_stamp_file" 2>/dev/null)" ]; then
|
|
263
257
|
_cfg_changed=1
|
|
264
258
|
else
|
|
265
259
|
case "$_shc_hook" in
|
package/lib/workspace.sh
CHANGED
|
@@ -42,10 +42,11 @@ update_sync_stamp() {
|
|
|
42
42
|
_dir="${1:-${NEXUS_DIR:-.}}"
|
|
43
43
|
mkdir -p "$_dir/.rnex"
|
|
44
44
|
if [ ! -f "$_dir/.rnex/.gitignore" ]; then
|
|
45
|
-
printf "
|
|
45
|
+
printf "sync_stamp\n" > "$_dir/.rnex/.gitignore"
|
|
46
46
|
else
|
|
47
|
-
if
|
|
48
|
-
|
|
47
|
+
if grep -q "^\.sync_stamp" "$_dir/.rnex/.gitignore" 2>/dev/null; then
|
|
48
|
+
_tmp_gi="$(mktemp)"
|
|
49
|
+
grep -v "^\.sync_stamp" "$_dir/.rnex/.gitignore" > "$_tmp_gi" && mv "$_tmp_gi" "$_dir/.rnex/.gitignore"
|
|
49
50
|
fi
|
|
50
51
|
if ! grep -q "^sync_stamp" "$_dir/.rnex/.gitignore" 2>/dev/null; then
|
|
51
52
|
printf "sync_stamp\n" >> "$_dir/.rnex/.gitignore"
|
|
@@ -77,7 +78,6 @@ check_auto_sync() {
|
|
|
77
78
|
fi
|
|
78
79
|
[ -f "$_cfg_file" ] || return 0
|
|
79
80
|
_stamp="$_ws/.rnex/sync_stamp"
|
|
80
|
-
[ -f "$_stamp" ] || _stamp="$_ws/.rnex/.sync_stamp"
|
|
81
81
|
if [ ! -f "$_stamp" ] || [ "$(get_config_sum "$_ws")" != "$(cat "$_stamp" 2>/dev/null)" ]; then
|
|
82
82
|
cmd_sync -y --quiet
|
|
83
83
|
fi
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "repo-nexus",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.36",
|
|
4
4
|
"description": "Lightweight, zero-dependency Virtual Meta-Repo companion for multi-repo workspaces and shared AI context (no git submodules)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"repo-nexus": "rnex",
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
"linux"
|
|
56
56
|
],
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"vitepress": "^1.6.
|
|
58
|
+
"vitepress": "^1.6.4"
|
|
59
|
+
},
|
|
60
|
+
"overrides": {
|
|
61
|
+
"esbuild": "^0.25.0",
|
|
62
|
+
"vite": "^6.4.4"
|
|
59
63
|
}
|
|
60
64
|
}
|