repo-nexus 0.7.35 → 0.7.38
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/commands/system.sh +34 -6
- package/lib/hooks.sh +2 -8
- package/lib/workspace.sh +4 -4
- package/package.json +8 -9
- package/CHANGELOG.md +0 -363
- package/docs/.gitkeep +0 -0
- package/docs/CLI.md +0 -99
- package/docs/FAQ.md +0 -180
- package/docs/cli/execution.md +0 -81
- package/docs/cli/index.md +0 -81
- package/docs/cli/repos.md +0 -129
- package/docs/cli/tooling.md +0 -92
- package/docs/cli/workspace.md +0 -169
- package/docs/examples/ai-workflows.md +0 -54
- package/docs/examples/local-overrides.md +0 -70
- package/docs/examples/monorepo-coexistence.md +0 -80
- package/docs/examples/multi-repo-workspace.md +0 -100
- package/docs/faq/index.md +0 -180
- package/docs/guide/architecture.md +0 -86
- package/docs/guide/configuration.md +0 -129
- package/docs/guide/getting-started.md +0 -117
- package/docs/guide/why-repo-nexus.md +0 -48
- package/docs/guide/workflows.md +0 -123
- package/docs/index.md +0 -83
- package/docs/plugins/authoring.md +0 -69
- package/docs/plugins/claude.md +0 -109
- package/docs/plugins/copilot.md +0 -46
- package/docs/plugins/cursor.md +0 -106
- package/docs/plugins/gemini.md +0 -112
- package/docs/plugins/index.md +0 -120
- package/docs/plugins/karpathy-llm.md +0 -203
- package/docs/plugins/windsurf.md +0 -106
- package/docs/public/dark_logo.svg +0 -15
- package/docs/public/home.png +0 -0
- package/docs/public/light_logo.svg +0 -15
- package/docs/public/logo.legacy.png +0 -0
- package/docs/public/robots.txt +0 -3
- package/docs/rnex.example.yaml +0 -152
- package/toolkit/scripts/.gitkeep +0 -0
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/commands/system.sh
CHANGED
|
@@ -5,17 +5,45 @@
|
|
|
5
5
|
# ============================================================================
|
|
6
6
|
|
|
7
7
|
cmd_install() {
|
|
8
|
-
_target_bin="${1:-$HOME/.local/bin}"
|
|
8
|
+
_target_bin="${1:-${RNEX_BIN_DIR:-$HOME/.local/bin}}"
|
|
9
9
|
_target_bin="$(resolve_path "$_target_bin")"
|
|
10
10
|
mkdir -p "$_target_bin"
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
[ -f "$
|
|
12
|
+
_src_root="$SCRIPT_LOCATION"
|
|
13
|
+
[ -f "$_src_root/rnex" ] || _src_root="$(dirname "$SCRIPT_LOCATION")"
|
|
14
|
+
_source_cli="$_src_root/rnex"
|
|
14
15
|
[ -f "$_source_cli" ] || die "Could not locate source CLI executable to install"
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
if [ -n "${RNEX_INSTALL_DIR:-}" ]; then
|
|
18
|
+
_install_dir="$(resolve_path "$RNEX_INSTALL_DIR")"
|
|
19
|
+
elif [ -n "${1:-}" ]; then
|
|
20
|
+
case "$(basename "$_target_bin")" in
|
|
21
|
+
bin) _install_dir="$(dirname "$_target_bin")/share/repo-nexus" ;;
|
|
22
|
+
*) _install_dir="$_target_bin" ;;
|
|
23
|
+
esac
|
|
24
|
+
else
|
|
25
|
+
_install_dir="$HOME/.local/share/repo-nexus"
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
mkdir -p "$_install_dir"
|
|
29
|
+
if [ "$_src_root" != "$_install_dir" ]; then
|
|
30
|
+
rm -rf "$_install_dir/docs"
|
|
31
|
+
cp "$_source_cli" "$_install_dir/rnex"
|
|
32
|
+
[ -f "$_src_root/package.json" ] && cp "$_src_root/package.json" "$_install_dir/package.json"
|
|
33
|
+
for _asset in lib templates toolkit; do
|
|
34
|
+
if [ -d "$_src_root/$_asset" ]; then
|
|
35
|
+
rm -rf "${_install_dir:?}/$_asset"
|
|
36
|
+
cp -R "$_src_root/$_asset" "$_install_dir/$_asset"
|
|
37
|
+
fi
|
|
38
|
+
done
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
_installed_cli="$_install_dir/rnex"
|
|
42
|
+
chmod +x "$_installed_cli"
|
|
43
|
+
if [ "$_target_bin" != "$_install_dir" ]; then
|
|
44
|
+
ln -sf "$_installed_cli" "$_target_bin/rnex"
|
|
45
|
+
fi
|
|
46
|
+
ln -sf "$_installed_cli" "$_target_bin/repo-nexus"
|
|
19
47
|
|
|
20
48
|
log_ok "Installed 'rnex' and 'repo-nexus' into $_target_bin"
|
|
21
49
|
case ":$PATH:" in
|
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.38",
|
|
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",
|
|
@@ -16,13 +16,8 @@
|
|
|
16
16
|
"files": [
|
|
17
17
|
"rnex",
|
|
18
18
|
"lib/",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"LICENSE",
|
|
22
|
-
"docs/",
|
|
23
|
-
"!docs/.vitepress/",
|
|
24
|
-
"toolkit/",
|
|
25
|
-
"templates/"
|
|
19
|
+
"templates/",
|
|
20
|
+
"toolkit/"
|
|
26
21
|
],
|
|
27
22
|
"repository": {
|
|
28
23
|
"type": "git",
|
|
@@ -55,6 +50,10 @@
|
|
|
55
50
|
"linux"
|
|
56
51
|
],
|
|
57
52
|
"devDependencies": {
|
|
58
|
-
"vitepress": "^1.6.
|
|
53
|
+
"vitepress": "^1.6.4"
|
|
54
|
+
},
|
|
55
|
+
"overrides": {
|
|
56
|
+
"esbuild": "^0.25.0",
|
|
57
|
+
"vite": "^6.4.4"
|
|
59
58
|
}
|
|
60
59
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to Repo Nexus (`rnex`) will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [0.7.26] - 2026-10-21
|
|
9
|
-
|
|
10
|
-
### Added
|
|
11
|
-
- **Multi-Source Intake Configuration for Karpathy LLM Wiki (`sources`)**:
|
|
12
|
-
- Replaced single `raw_dir` scalar configuration with multi-value `sources` list under `plugins.karpathy-llm.sources`.
|
|
13
|
-
- Added pure POSIX `/bin/sh` glob and directory resolver (`resolve_plugin_sources`) supporting both explicit directory paths (e.g. `docs`) and recursive/single-level glob patterns (e.g. `"repos/**/README.md"`, `repos/*/README.md`).
|
|
14
|
-
- Implemented automatic exclusion of member repositories disabled locally or globally (`enabled: false`) from resolved intake paths.
|
|
15
|
-
- Enforced two-level configuration precedence: `.local.rnex.yaml` takes full precedence over `rnex.yaml` when defining `sources`.
|
|
16
|
-
- Added automatic directory pruning for `.git`, `.rnex`, and `node_modules` during recursive file traversal.
|
|
17
|
-
- Added safe directory provisioning in `rnex sync` that creates explicit directory sources (such as `docs`) while skipping wildcard patterns and file targets.
|
|
18
|
-
|
|
19
|
-
### Changed
|
|
20
|
-
- **Default Intake Sources**:
|
|
21
|
-
- Default sources for `karpathy-llm` plugin are now `docs` and `"repos/**/README.md"`.
|
|
22
|
-
- Updated `rnex init` templates, `rnex status`, and plugin scaffolding to render and configure multi-line `sources`.
|
|
23
|
-
- Updated plugin lifecycle hooks (`after_sync.sh`, `git_*.sh`) and agentic skills (`wiki-ingest.md`, `wiki-lint.md`) to resolve documentation from `sources`.
|
|
24
|
-
|
|
25
|
-
### Deprecated
|
|
26
|
-
- **Legacy `raw_dir` Configuration**:
|
|
27
|
-
- `plugins.karpathy-llm.raw_dir` is deprecated in favor of `sources`. Workspaces configuring `raw_dir` are automatically read via transparent fallback with a non-fatal deprecation notice advising migration to `sources`.
|
|
28
|
-
|
|
29
|
-
## [0.7.7] - 2026-10-15
|
|
30
|
-
|
|
31
|
-
### Added
|
|
32
|
-
- **Native `SKILL.md` Bundle Support for User Skills**:
|
|
33
|
-
- Upgraded User Skill generator (`rnex_register_user_skill`) to emit dual formats tailored to each AI provider's discovery engine:
|
|
34
|
-
- **Skill-Based Providers (`.github/skills/`, `.claude/skills/`, `.gemini/skills/`)**: Generates native `rnex-<name>/SKILL.md` directory bundles containing YAML frontmatter (`name: rnex-<name>`, `description: "..."`) for automatic discoverability in VS Code, Copilot Chat, Antigravity, and Claude Code skill-pickers.
|
|
35
|
-
- **Rule-Based Providers (`.cursor/rules/`, `.windsurf/rules/`)**: Generates flat `rnex-<name>.md` pointer files aligning with Cursor and Windsurf rule conventions.
|
|
36
|
-
- Automatically extracts skill descriptions from target markdown headers to populate YAML frontmatter cleanly.
|
|
37
|
-
- **GitHub Copilot Integration Plugin (`copilot`)**:
|
|
38
|
-
- Restored `copilot` as a first-class AI provider plugin in `toolkit/plugins/copilot/`.
|
|
39
|
-
- Supports `instructions: true` (managing `.github/copilot-instructions.md` within non-destructive delimiters) and `skills: true` (generating native User Skill bundles in `.github/skills/`).
|
|
40
|
-
- Added CLI flags `--copilot` and `--no-copilot` to `rnex init`.
|
|
41
|
-
|
|
42
|
-
## [0.7.5] - 2026-10-15
|
|
43
|
-
|
|
44
|
-
### Added
|
|
45
|
-
- **Strict Separation of Core `rnex` Skills and Plugin Skills**:
|
|
46
|
-
- Core agentic skills live exclusively in `toolkit/skills/*.md` and sync strictly to `.rnex/skills/*.md` (`clone-sync.md`, `batch-exec.md`, `workspace-status.md`).
|
|
47
|
-
- Plugin-owned skills live strictly inside `toolkit/plugins/<plugin>/skills/*.md` and sync strictly to `.rnex/plugins/<plugin>/skills/*.md` (e.g. `wiki-ingest.md`, `wiki-lint.md`).
|
|
48
|
-
- Strict isolation guarantee: plugin skills are never placed in `.rnex/skills/`, and core skills are never placed in plugin directories.
|
|
49
|
-
- **On-the-Fly Zero-Logic User Skill Generator**:
|
|
50
|
-
- Generates lightweight User Skill pointers prefixed with `rnex-` (`rnex-<name>.md`) into active AI provider directories (`.cursor/rules/`, `.claude/skills/`, `.gemini/skills/`, `.windsurf/rules/`).
|
|
51
|
-
- Contains zero inline operational heuristics—only a strict reference link directing AI assistants to the agentic protocol in `.rnex/`.
|
|
52
|
-
- **Plugin Contract Helper API**:
|
|
53
|
-
- Added `rnex_register_user_skill <name> <path>` and `rnex_unregister_user_skill <name>` POSIX helper functions exported in `.rnex/bin/rnex-env.sh` and sourced in hook subshells.
|
|
54
|
-
- Dynamically evaluates `RNEX_PROVIDER_SKILL_DIRS` based on enabled AI provider plugins (`skills: true`).
|
|
55
|
-
- **Provider Plugin Configuration (`skills: true`)**:
|
|
56
|
-
- Added native `skills: true` configuration support across `claude`, `gemini`, `cursor`, and `windsurf` plugins.
|
|
57
|
-
- **Plugin Lifecycle Hooks Contract**:
|
|
58
|
-
- Added `before_<cmd>` and `after_<cmd>` hook execution across all mutating commands while bypassing read-only commands (`status`, `list`, `completion`).
|
|
59
|
-
- Added `before_plugin_disable` hook dispatched by `rnex plugin disable <name>` and plugin pruning in `rnex sync` to unregister plugin-owned User Skills.
|
|
60
|
-
- **Compiled AI Instructions (`.rnex/ai-instructions.md`)**:
|
|
61
|
-
- `rnex sync` compiles a unified instruction file inside `.rnex/` from merged 2-level config, base template, and active plugin instruction fragments.
|
|
62
|
-
- **Event-Driven Auto-Sync**:
|
|
63
|
-
- Checksum-based config drift detection (`.rnex/.sync_stamp`) that runs `rnex sync --quiet` automatically on any mutating command, `rnex list`, shell prompt hooks (`_rnex_auto_sync`), AI session startup (`SessionStart` hook), and Git hooks (`post-merge`, `post-checkout`, `pre-commit`).
|
|
64
|
-
- **Modular Test Suite Architecture**:
|
|
65
|
-
- Decomposed test runner into modular test suites under `tests/suites/` (`01_core_cli.sh` through `06_plugins_advanced.sh`) with shared harness `tests/test_helper.sh`.
|
|
66
|
-
|
|
67
|
-
### Changed
|
|
68
|
-
- **Provider Plugin Options**: Deprecated and replaced legacy `prompts: true` and `workflows: true` options with `instructions: true` and `skills: true`.
|
|
69
|
-
- **Root AI Provider Directives**: Standardized `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, and `.windsurfrules` to route AI assistants cleanly to `.rnex/ai-instructions.md`.
|
|
70
|
-
- **Karpathy LLM Wiki Architecture**:
|
|
71
|
-
- Moved workflows to plugin agentic skills under `toolkit/plugins/karpathy-llm/skills/`.
|
|
72
|
-
- Added dynamic navigation index fallback: generated repository pages (`repo-<name>.md`) reference `index.md` when specialized navigation pages are absent.
|
|
73
|
-
- Added hot cache word count ceiling: automatically bounds `.rnex/wiki/hot.md` to $\le 480$ words and collapses catalog links when workspace metadata expands across $>10$ repositories.
|
|
74
|
-
|
|
75
|
-
### Fixed
|
|
76
|
-
- **Custom Copilot Instructions Preservation**: Fixed non-destructive cleanup in `lib/ai.sh` to strictly preserve custom developer guidelines authored in `.github/copilot-instructions.md` outside `REPO-NEXUS` delimiters.
|
|
77
|
-
- **Documentation & Manifest Consistency**: Purged obsolete `prompts` and `workflows` references across plugin manifests (`plugin.yaml`), READMEs, CLI docs, configuration guides, and `lib/yaml.sh`.
|
|
78
|
-
|
|
79
|
-
### Removed
|
|
80
|
-
- **Legacy Prompts & Workflows**: Completely purged `toolkit/prompts/`, `toolkit/workflows/`, and obsolete `.rnex/prompts/` and `.rnex/workflows/` runtime directories.
|
|
81
|
-
- **Copilot Local Prompt Harness**: Removed `toolkit/plugins/copilot/`, `--copilot` flag, and prompt-mirroring harness in favor of universal `AGENTS.md` and native Copilot instruction reading.
|
|
82
|
-
- **`rnex fix` and `rnex status --fix`**: Permanently removed in favor of `rnex sync` as the single idempotent reconciliation command.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
## [0.6.7] - 2026-10-12
|
|
86
|
-
|
|
87
|
-
### Documentation
|
|
88
|
-
- Updated project logo image.
|
|
89
|
-
|
|
90
|
-
## [0.6.6] - 2026-10-12
|
|
91
|
-
|
|
92
|
-
### Changed
|
|
93
|
-
- Streamlined `README.md` and `package.json` keywords for better documentation layout.
|
|
94
|
-
|
|
95
|
-
## [0.6.5] - 2026-10-12
|
|
96
|
-
|
|
97
|
-
### Added
|
|
98
|
-
- **Dynamic AI Instructions & Complete Plugin Deactivation in `rnex fix`**:
|
|
99
|
-
- `get_rnex_instructions()` dynamically evaluates whether `karpathy-llm` is enabled. When disabled or omitted from configuration, the Karpathy LLM Wiki mandatory gate alert, wiki orientation startup step, forbidden wiki actions, and wiki subagent references are omitted from `AGENTS.md` and native provider instructions.
|
|
100
|
-
- `sync_plugins` automatically prunes scoped directories (`.rnex/plugins/<plugin>/`) from both the workspace root and member repositories whenever a plugin is marked `enabled: false` or omitted from config.
|
|
101
|
-
- Provider prompt mirrors across all supported assistants (`.github/prompts`, `.claude/commands`, `.gemini/prompts`, `.cursor/prompts`, `.windsurf/prompts`) are cleaned of prompts and workflows belonging to disabled plugins, while preserving base prompts and active plugin prompts.
|
|
102
|
-
- Hook dispatchers and `status` reports evaluate active enablement (`yaml_plugin_enabled`) rather than key presence, preventing disabled plugins from registering hook alerts or status indicators.
|
|
103
|
-
- User-authored content in wiki and intake directories is strictly preserved during plugin deactivation.
|
|
104
|
-
|
|
105
|
-
## [0.6.4] - 2026-10-12
|
|
106
|
-
|
|
107
|
-
### Documentation
|
|
108
|
-
- Switched documentation logo and favicon to `logo.png`.
|
|
109
|
-
|
|
110
|
-
## [0.6.3] - 2026-10-12
|
|
111
|
-
|
|
112
|
-
### Documentation
|
|
113
|
-
- Updated documentation logo asset to `logo.jpg`.
|
|
114
|
-
|
|
115
|
-
## [0.6.2] - 2026-10-12
|
|
116
|
-
|
|
117
|
-
### Documentation
|
|
118
|
-
- Switched branding to PNG logo and refined landing page copy.
|
|
119
|
-
|
|
120
|
-
## [0.6.1] - 2026-10-12
|
|
121
|
-
|
|
122
|
-
### Added
|
|
123
|
-
- **Mandatory Wiki Routing Protocol for AI Assistants**:
|
|
124
|
-
- Enforced strict sequential startup routing protocol in `AGENTS.md` and provider instructions requiring AI assistants to inspect `.local.rnex.yaml` and `rnex.yaml` first, consult `.rnex/plugins/karpathy-llm/` instructions, check recent context in `wiki/hot.md` and `wiki/index.md`, and access only targeted files.
|
|
125
|
-
- Added forbidden startup actions prohibiting blind searches across `repos/` and tree exploration.
|
|
126
|
-
- Updated logo asset to JPEG.
|
|
127
|
-
|
|
128
|
-
## [0.6.0] - 2026-10-11
|
|
129
|
-
|
|
130
|
-
### Changed
|
|
131
|
-
- Major version bump reflecting the completed Virtual Meta-Repo architecture: modular provider plugin architecture, universal `AGENTS.md` standard, VitePress documentation site, and prompts-only provider mirroring.
|
|
132
|
-
- Refined documentation site logo, branding, and tagline.
|
|
133
|
-
|
|
134
|
-
## [0.5.19] - 2026-10-11
|
|
135
|
-
|
|
136
|
-
### Documentation
|
|
137
|
-
- Consolidated FAQ and CLI documentation pages and updated project configuration.
|
|
138
|
-
|
|
139
|
-
## [0.5.18] - 2026-10-11
|
|
140
|
-
|
|
141
|
-
### Added
|
|
142
|
-
- **Universal `AGENTS.md` & Native Provider Instructions Architecture**:
|
|
143
|
-
- Maintained `AGENTS.md` at the workspace root as the universal, cross-tool standard for workspace routing instructions. Assistants that read `AGENTS.md` unconditionally (such as GitHub Copilot) rely directly on `AGENTS.md`, eliminating redundant instruction files (`.github/copilot-instructions.md`) and diverging contexts.
|
|
144
|
-
- Assistants with primary native configuration formats (Anthropic Claude Code with `CLAUDE.md`, Google Gemini CLI with `GEMINI.md`, Cursor with `.cursorrules` and `.cursor/rules/`, and Windsurf with `.windsurfrules`) have their instruction files maintained when their respective plugin is enabled (`instructions: true`, default). Since Claude Code only falls back to `AGENTS.md` when no `CLAUDE.md` is present, maintaining `CLAUDE.md` ensures Claude Code never misses Repo Nexus routing instructions when project-specific rules exist.
|
|
145
|
-
- **Self-Contained Skills, Workflows, Rules, and Subagents under `.rnex/`**:
|
|
146
|
-
- Tools and autonomous agents operate directly on `.rnex/skills/`, `.rnex/workflows/`, `.rnex/rules/`, `.rnex/instructions/`, and active plugin scopes under `.rnex/plugins/<plugin-name>/`.
|
|
147
|
-
- Autonomous subagents (e.g. `rnex-wiki-curator.agent.md`) are maintained under `.rnex/agents/` and `.rnex/plugins/<plugin>/agents/` without external mirroring to provider folders.
|
|
148
|
-
- **Prompts-Only AI Provider Synchronization**:
|
|
149
|
-
- Streamlined provider plugins (`copilot`, `claude`, `gemini`, `cursor`, `windsurf`) to mirror human-facing prompts and active plugin workflows exclusively to native IDE prompt pickers (`.github/prompts/*.prompt.md`, `.claude/commands/*.md`, `.gemini/prompts/*.prompt.md`, `.cursor/prompts/*.md`, `.windsurf/prompts/*.md`).
|
|
150
|
-
- Purged internal prompts from `.rnex/prompts/` and plugin directories.
|
|
151
|
-
- Simplified provider plugin options: `copilot` uses `prompts: true|false` and `workflows: true|false`; `claude`, `gemini`, `cursor`, and `windsurf` use `instructions: true|false`, `prompts: true|false`, and `workflows: true|false`.
|
|
152
|
-
- Surgical cleanup during `rnex fix` purges legacy mirrored skills and agents while preserving user-authored custom files.
|
|
153
|
-
|
|
154
|
-
## [0.5.17] - 2026-10-11
|
|
155
|
-
|
|
156
|
-
### Fixed
|
|
157
|
-
- Guarded variable expansion in `rm -rf` calls across POSIX shell scripts (resolving ShellCheck SC2115).
|
|
158
|
-
|
|
159
|
-
## [0.5.16] - 2026-10-11
|
|
160
|
-
|
|
161
|
-
### Added
|
|
162
|
-
- **Configurable Karpathy LLM Wiki Directories**:
|
|
163
|
-
- Made wiki destination paths fully configurable via `plugins.karpathy-llm.wiki_dir` (default: `wiki`) and `plugins.karpathy-llm.raw_dir` (default: `raw`) in `rnex.yaml` and `.local.rnex.yaml`.
|
|
164
|
-
- Workflows, templates, and Git hooks dynamically resolve configured paths.
|
|
165
|
-
- **Standardized `rnex-` Asset Naming**:
|
|
166
|
-
- Standardized all workspace prompts, workflows, skills, and agents to consistently start with `rnex-` prefix.
|
|
167
|
-
|
|
168
|
-
## [0.5.15] - 2026-10-11
|
|
169
|
-
|
|
170
|
-
### Changed
|
|
171
|
-
- Updated author username and organization references from nu-nenoi to unoxen.
|
|
172
|
-
|
|
173
|
-
## [0.5.14] - 2026-10-11
|
|
174
|
-
|
|
175
|
-
### Added
|
|
176
|
-
- Comprehensive documentation site built with VitePress.
|
|
177
|
-
- Updated AI prompt synchronization logic and documentation recipes.
|
|
178
|
-
|
|
179
|
-
## [0.5.13] - 2026-10-10
|
|
180
|
-
|
|
181
|
-
### Documentation
|
|
182
|
-
- Fixed relative links across plugin guides and removed FAQ badge.
|
|
183
|
-
|
|
184
|
-
## [0.5.12] - 2026-10-10
|
|
185
|
-
|
|
186
|
-
### Added
|
|
187
|
-
- **Dedicated Plugins Documentation (`docs/plugins/`)**:
|
|
188
|
-
- Comprehensive documentation suite covering all built-in AI provider and domain plugins, architecture, and developer authoring guides.
|
|
189
|
-
- Added `docs/plugins/README.md` detailing scoped plugin isolation, member repo synchronization, decoupled cross-plugin asset discovery, two-level configuration, delimited instruction merging, CLI command reference, and custom plugin authoring specifications.
|
|
190
|
-
- Added dedicated documentation pages: `copilot.md`, `claude.md`, `gemini.md`, `cursor.md`, `windsurf.md`, and `karpathy-llm.md`.
|
|
191
|
-
|
|
192
|
-
## [0.5.10] - 2026-10-10
|
|
193
|
-
|
|
194
|
-
### Changed
|
|
195
|
-
- Removed redundant `CLAUDE.md` in favor of standard `AGENTS.md`.
|
|
196
|
-
|
|
197
|
-
## [0.5.9] - 2026-10-10
|
|
198
|
-
|
|
199
|
-
### Changed
|
|
200
|
-
- **Modular POSIX Shell Codebase Architecture (`lib/`)**:
|
|
201
|
-
- Decomposed the monolithic 3,700+ line `rnex` script into an extensible, modular architecture with dedicated libraries and command modules under `lib/`.
|
|
202
|
-
- Streamlined `rnex` launcher to 110 lines focused on symlink-aware script path resolution (`RNEX_LIB_DIR`), core library discovery, and CLI dispatch.
|
|
203
|
-
- Extracted core utilities and workspace operations into specialized modules: `lib/core.sh`, `lib/workspace.sh`, `lib/yaml.sh`, `lib/repos.sh`, `lib/plugins.sh`, `lib/ai.sh`, `lib/hooks.sh`.
|
|
204
|
-
- Extracted CLI commands into dedicated modules under `lib/commands/`: `init.sh`, `repo.sh`, `status.sh`, `fix.sh`, `plugin.sh`, `completion.sh`, `system.sh`.
|
|
205
|
-
- Maintained 100% backward compatibility, pure POSIX `/bin/sh` compliance, and zero external runtime dependencies.
|
|
206
|
-
|
|
207
|
-
## [0.5.8] - 2026-10-10
|
|
208
|
-
|
|
209
|
-
### Added
|
|
210
|
-
- Unified agent mirroring and cross-provider configuration.
|
|
211
|
-
|
|
212
|
-
## [0.5.7] - 2026-10-10
|
|
213
|
-
|
|
214
|
-
### Added
|
|
215
|
-
- **AI Provider Plugins for Claude, Gemini, Cursor, and Windsurf**:
|
|
216
|
-
- Built-in provider plugins (`toolkit/plugins/claude/`, `toolkit/plugins/gemini/`, `toolkit/plugins/cursor/`, `toolkit/plugins/windsurf/`) alongside `copilot`.
|
|
217
|
-
- Native instructions synthesis and sync for each provider: `CLAUDE.md`, `GEMINI.md`, `.cursorrules` (and `.cursor/rules/repo-nexus.mdc`), and `.windsurfrules`.
|
|
218
|
-
- Standardized prompt mirroring to `.claude/commands/`, `.gemini/prompts/`, `.cursor/prompts/`, and `.windsurf/prompts/`.
|
|
219
|
-
- Added `--claude`, `--gemini`, `--cursor`, and `--windsurf` initialization flags to `rnex init`.
|
|
220
|
-
- **Unified Single-Process Workspace Reconcile & Upgrade (`rnex fix`)**:
|
|
221
|
-
- Merged configuration version updates directly into `rnex fix` as a single, idempotent process.
|
|
222
|
-
- `rnex update` and `rnex upgrade` maintained as clean aliases pointing directly to `rnex fix`.
|
|
223
|
-
|
|
224
|
-
### Changed
|
|
225
|
-
- Removed legacy `ai_instructions` configuration key in favor of AI provider plugins.
|
|
226
|
-
|
|
227
|
-
## [0.5.6] - 2026-10-09
|
|
228
|
-
|
|
229
|
-
### Added
|
|
230
|
-
- **Modular GitHub Copilot Plugin & Extensible Provider Sync (`plugins: copilot: ...`)**:
|
|
231
|
-
- Encapsulated GitHub Copilot integration as a built-in Repo Nexus plugin (`copilot`) located in `toolkit/plugins/copilot/`.
|
|
232
|
-
- Extensible configuration options per provider under `plugins:` in `rnex.yaml` and `.local.rnex.yaml` (`prompts`, `skills`, `instructions`, `agents`).
|
|
233
|
-
- Decoupled cross-plugin asset discovery: `copilot` provider inspects all active plugins (e.g. `karpathy-llm`) and mirrors their prompts, workflows, skills, agents, and guidelines without introducing plugin dependencies.
|
|
234
|
-
- CLI management via `rnex plugin enable [--local] copilot`, `rnex plugin disable [--local] copilot`, and `rnex plugin info copilot`.
|
|
235
|
-
- Added `--copilot` initialization flag to `rnex init`.
|
|
236
|
-
|
|
237
|
-
### Fixed
|
|
238
|
-
- Surgical non-destructive cleanup of skills, agents, and prompts during provider deactivation or reconciliation.
|
|
239
|
-
|
|
240
|
-
## [0.5.5] - 2026-10-09
|
|
241
|
-
|
|
242
|
-
### Changed
|
|
243
|
-
- **Track Workspace `.rnex/` in Version Control**:
|
|
244
|
-
- Removed `.rnex/` from `.gitignore` templates and generation.
|
|
245
|
-
- `reconcile_gitignore` and `rnex fix` actively strip legacy `.rnex/` ignore rules from `.gitignore` so that team prompts, plugins, and hooks are tracked in git.
|
|
246
|
-
- Updated `rnex status` to expect `.rnex/` to remain tracked by git.
|
|
247
|
-
|
|
248
|
-
### Fixed
|
|
249
|
-
- Resolved hook self-rewrite bug where `rnex hooks run post-merge` invoked `cmd_fix`, which truncated and replaced `.rnex/hooks/post-merge` while actively executing it.
|
|
250
|
-
|
|
251
|
-
## [0.5.4] - 2026-10-09
|
|
252
|
-
|
|
253
|
-
### Fixed
|
|
254
|
-
- **Git Hooks Self-Rewrite Prevention & Wrapper Preservation**:
|
|
255
|
-
- Added in-hook execution guard (`_RNEX_INSIDE_HOOK=1`) preventing hook script regeneration during active hook dispatch.
|
|
256
|
-
- Preserved custom / repository-owned wrappers in `.rnex/hooks/` that are not auto-managed by `rnex`.
|
|
257
|
-
- Added `cmp -s` check before writing hook files to eliminate unnecessary file churn and in-place overwrites.
|
|
258
|
-
- Automatically chain to existing repository-owned `.githooks/` scripts if present.
|
|
259
|
-
|
|
260
|
-
## [0.5.3] - 2026-10-09
|
|
261
|
-
|
|
262
|
-
### Added
|
|
263
|
-
- **Explicit `git_hooks` Workspace Configuration (`rnex.yaml` & `.local.rnex.yaml`)**:
|
|
264
|
-
- Top-level `git_hooks: true|false` setting establishes the workspace configuration as the single source of truth for automated Git hooks.
|
|
265
|
-
- Two-level configuration support allowing per-workstation overrides in `.local.rnex.yaml`.
|
|
266
|
-
- `rnex hooks install [--local]` and `rnex hooks uninstall [--local]` record preference directly to `rnex.yaml` or `.local.rnex.yaml`.
|
|
267
|
-
- `rnex fix` (and `rnex sync`) automatically reconciles Git's `core.hooksPath` against the resolved `git_hooks` configuration.
|
|
268
|
-
- Interactive `rnex init` determines and records `git_hooks` preference upfront in new workspaces.
|
|
269
|
-
|
|
270
|
-
## [0.5.2] - 2026-10-08
|
|
271
|
-
|
|
272
|
-
### Fixed
|
|
273
|
-
- Dynamic version matching in test suite (`tests/test_cli.sh`) resolving hardcoded version assertion on `package.json` bumps.
|
|
274
|
-
|
|
275
|
-
## [0.5.1] - 2026-10-08
|
|
276
|
-
|
|
277
|
-
### Added
|
|
278
|
-
- Comprehensive CLI Reference Manual (`docs/CLI.md`) documenting all workspace lifecycle commands, member repository operations, automated Git hooks, scoped plugins, standardized prompts catalog, and shell completion recipes.
|
|
279
|
-
|
|
280
|
-
### Fixed
|
|
281
|
-
- Dynamic version matching in test suite (`tests/test_cli.sh`, Test 26) resolving hardcoded version assertion on `package.json` bumps.
|
|
282
|
-
- Default version fallback in `rnex` CLI aligned with `package.json`.
|
|
283
|
-
|
|
284
|
-
## [0.5.0] - 2026-10-08
|
|
285
|
-
|
|
286
|
-
### Added
|
|
287
|
-
- **Version-Aware Upgrade System (`rnex update` / `rnex upgrade` and `rnex fix`)**:
|
|
288
|
-
- Automatically compares workspace configuration against the running CLI version using semantic versioning.
|
|
289
|
-
- Interactive upgrade prompt (`[y/N]`, bypassable with `-y` or `--yes`).
|
|
290
|
-
- Non-destructively inserts missing schema keys (`version`, `ai_instructions`, `code_workspace`) while preserving comments and repo mappings.
|
|
291
|
-
- Updates routing instructions in `AGENTS.md`, `CLAUDE.md`, and other detected AI assistant instruction files.
|
|
292
|
-
- **Config-Driven Automated Git Hooks (`rnex hooks`)**:
|
|
293
|
-
- Native Git hooks managed under `.rnex/hooks/` via `git config core.hooksPath .rnex/hooks`.
|
|
294
|
-
- Dynamic dispatchers for `post-merge`, `post-commit`, `pre-commit`, and `pre-push` that evaluate workspace triggers defined in `rnex.yaml` and `.local.rnex.yaml`.
|
|
295
|
-
- Automated `post-merge` hook runs `rnex fix -y --quiet` to keep member clones and plugin scopes in sync after pulling team changes.
|
|
296
|
-
- Subcommands: `rnex hooks install`, `rnex hooks uninstall`, and `rnex hooks status`.
|
|
297
|
-
- Interactive hooks setup prompt during `rnex init` (controllable via `--hooks` and `--no-hooks` flags).
|
|
298
|
-
- Health check integrated into `rnex status` reporting active hooks and triggers.
|
|
299
|
-
- **Standardized Prompts Suite & Master Catalog (`toolkit/prompts/`)**:
|
|
300
|
-
- Master index catalog at `toolkit/prompts/index.md` (synced to `.rnex/prompts/index.md`).
|
|
301
|
-
- New workflow prompts:
|
|
302
|
-
- `rnex-cross-repo-feature.md`: Multi-repository feature planning and contract implementation.
|
|
303
|
-
- `rnex-workspace-audit.md`: Multi-repo status, branch tracking, and configuration validation.
|
|
304
|
-
- `rnex-wiki-ingest.md`: Autonomous intake decomposition into atomic Karpathy LLM Wiki pages.
|
|
305
|
-
- `rnex-wiki-lint.md`: Graph integrity validation, backlink recalculation, and index rebuilding.
|
|
306
|
-
- `rnex-setup-karpathy-wiki.md`: Deterministic knowledge base scaffolding.
|
|
307
|
-
- Workspace `AGENTS.md` and `CLAUDE.md` maintain a minimal 1-line pointer to `.rnex/prompts/index.md` to conserve agent context.
|
|
308
|
-
- **Mandatory Session Startup Protocol**:
|
|
309
|
-
- Enforced hard-gate instruction block in `AGENTS.md` and `CLAUDE.md` requiring AI coding assistants to inspect configuration (`.local.rnex.yaml`, `rnex.yaml`), plugin guidelines, and orientation notes (`wiki/hot.md` and `wiki/index.md`) before taking task actions.
|
|
310
|
-
|
|
311
|
-
## [0.4.7] - 2026-10-06
|
|
312
|
-
|
|
313
|
-
### Fixed
|
|
314
|
-
- Quoted variable expansion in parameter pattern removal (`_repos_rel="${REPOS_DIR#"$NEXUS_DIR"/}"`) resolving ShellCheck SC2295.
|
|
315
|
-
|
|
316
|
-
## [0.4.6] - 2026-10-06
|
|
317
|
-
|
|
318
|
-
### Added
|
|
319
|
-
- **Configurable AI Instructions Routing** (`ai_instructions` in `rnex.yaml`):
|
|
320
|
-
- Support custom instruction files (e.g. `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, defaulting to `AGENTS.md`).
|
|
321
|
-
- `rnex status` detects and highlights missing instruction files.
|
|
322
|
-
- `rnex init` supports `--ai <file>` flag.
|
|
323
|
-
- **VS Code & Cursor Multi-Root Workspace Support** (`code_workspace` in `rnex.yaml`):
|
|
324
|
-
- Automatically generates and synchronizes `.code-workspace` files mapping the workspace root and active member repositories.
|
|
325
|
-
- `rnex init` supports `--code-workspace [file]` flag.
|
|
326
|
-
|
|
327
|
-
## [0.4.5] - 2026-10-06
|
|
328
|
-
|
|
329
|
-
### Fixed
|
|
330
|
-
- Guaranteed deterministic workspace initialization by tracking `repos/.gitkeep`.
|
|
331
|
-
- Prevented empty member directory creation during init.
|
|
332
|
-
|
|
333
|
-
## [0.4.4] - 2026-10-06
|
|
334
|
-
|
|
335
|
-
### Documentation
|
|
336
|
-
- Standardized deterministic Karpathy LLM Wiki initialization in `toolkit/plugins/karpathy-llm/`.
|
|
337
|
-
|
|
338
|
-
## [0.4.3] - 2026-10-05
|
|
339
|
-
|
|
340
|
-
### Refactored
|
|
341
|
-
- Separated behavioral rules (`rules/behavioral.md`) from architectural specifications (`instructions/wiki-architecture.md`) in `karpathy-llm` plugin.
|
|
342
|
-
|
|
343
|
-
## [0.4.2] - 2026-10-05
|
|
344
|
-
|
|
345
|
-
### Fixed
|
|
346
|
-
- Updated automated CLI test suite to dynamically inspect version from `package.json`.
|
|
347
|
-
|
|
348
|
-
## [0.4.1] - 2026-10-05
|
|
349
|
-
|
|
350
|
-
### Added
|
|
351
|
-
- Streamlined delimited routing protocol in `AGENTS.md` (`<!-- REPO-NEXUS:START -->` / `<!-- REPO-NEXUS:END -->`).
|
|
352
|
-
- Automated `.gitignore` reconciliation stripping legacy counters and ensuring `.rnex/` encapsulation.
|
|
353
|
-
- Purged legacy symlink mechanics in favor of physical autonomy.
|
|
354
|
-
|
|
355
|
-
## [0.4.0] - 2026-10-05
|
|
356
|
-
|
|
357
|
-
### Added
|
|
358
|
-
- **Virtual Meta-Repo 2.0**:
|
|
359
|
-
- Physical member repository clones in `./repos/<name>` with complete Git isolation (no submodules).
|
|
360
|
-
- Two-level configuration (`rnex.yaml` team manifest and `.local.rnex.yaml` machine overrides).
|
|
361
|
-
- Cross-repository batch execution (`rnex exec <command...>`).
|
|
362
|
-
- Member repository state management (`rnex enable`, `rnex disable`, `rnex list`, `rnex remove`).
|
|
363
|
-
- Scoped workspace plugins (`.rnex/plugins/<plugin-name>/`).
|
package/docs/.gitkeep
DELETED
|
File without changes
|