repo-nexus 0.6.7 → 0.6.9

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/CHANGELOG.md CHANGED
@@ -7,16 +7,77 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+ - **Modular Test Suite Architecture**:
12
+ - Decomposed monolithic `tests/test_cli.sh` (996 lines, 36 tests) into modular, single-responsibility test suites under `tests/suites/`:
13
+ - `01_core_cli.sh`: Workspace initialization, member repository lifecycle (`add`, `exec`, `enable`, `disable`, `clone`, `remove`), version inspection, and shell completion generators.
14
+ - `02_plugins_basic.sh`: Plugin discovery, inspection, activation, scoping under `.rnex/plugins/`, and delimited `AGENTS.md` routing.
15
+ - `03_config_workspace.sh`: Two-level configuration (`.local.rnex.yaml`), Git ignore reconciliation, status reporting, multi-root workspace generation, version-aware upgrade engine, and standardized skills/workflows synchronization.
16
+ - `04_git_hooks.sh`: Automated Git hooks installation, runtime status, workspace-level `git_hooks` configuration, execution dispatch, custom wrapper preservation, and repository `.githooks/` chaining.
17
+ - `05_ai_providers.sh`: AI provider plugins synchronization and surgical non-destructive cleanup across Copilot, Claude, Gemini, Cursor, and Windsurf.
18
+ - `06_plugins_advanced.sh`: Deterministic plugin updates, Karpathy LLM Wiki configurable paths (`wiki_dir`, `raw_dir`), and complete plugin deactivation with prompt cleanup.
19
+ - Shared test harness `tests/test_helper.sh` provides dynamic repository root resolution, isolated workspace scaffolding, standardized assertion helpers (`run_test`, `pass`, `fail`), and standalone execution detection.
20
+ - Backward-compatible runner `tests/test_cli.sh` executes all 36 tests sequentially and supports running individual suites by name or numeric prefix (e.g. `./tests/test_cli.sh 06`).
21
+
22
+ ## [0.6.7] - 2026-10-12
23
+
24
+ ### Documentation
25
+ - Updated project logo image.
26
+
27
+ ## [0.6.6] - 2026-10-12
28
+
29
+ ### Changed
30
+ - Streamlined `README.md` and `package.json` keywords for better documentation layout.
31
+
32
+ ## [0.6.5] - 2026-10-12
33
+
10
34
  ### Added
11
35
  - **Dynamic AI Instructions & Complete Plugin Deactivation in `rnex fix`**:
12
- - [`get_rnex_instructions()`](file:///Users/admin/Projects/ai/repo-nexus/lib/ai.sh) 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`](file:///Users/admin/Projects/ai/repo-nexus/AGENTS.md) and native provider instructions.
36
+ - `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.
13
37
  - `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.
14
- - Provider prompt mirrors across all supported assistants (`.github/prompts`, `.claude/commands`, `.claude/prompts`, `.gemini/prompts`, `.cursor/prompts`, `.windsurf/prompts`) are cleaned of prompts and workflows belonging to disabled plugins, while preserving base prompts and active plugin prompts.
38
+ - 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.
15
39
  - 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.
16
40
  - User-authored content in wiki and intake directories is strictly preserved during plugin deactivation.
41
+
42
+ ## [0.6.4] - 2026-10-12
43
+
44
+ ### Documentation
45
+ - Switched documentation logo and favicon to `logo.png`.
46
+
47
+ ## [0.6.3] - 2026-10-12
48
+
49
+ ### Documentation
50
+ - Updated documentation logo asset to `logo.jpg`.
51
+
52
+ ## [0.6.2] - 2026-10-12
53
+
54
+ ### Documentation
55
+ - Switched branding to PNG logo and refined landing page copy.
56
+
57
+ ## [0.6.1] - 2026-10-12
58
+
59
+ ### Added
60
+ - **Mandatory Wiki Routing Protocol for AI Assistants**:
61
+ - 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.
62
+ - Added forbidden startup actions prohibiting blind searches across `repos/` and tree exploration.
63
+ - Updated logo asset to JPEG.
64
+
65
+ ## [0.6.0] - 2026-10-11
66
+
67
+ ### Changed
68
+ - 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.
69
+ - Refined documentation site logo, branding, and tagline.
70
+
71
+ ## [0.5.19] - 2026-10-11
72
+
73
+ ### Documentation
74
+ - Consolidated FAQ and CLI documentation pages and updated project configuration.
75
+
76
+ ## [0.5.18] - 2026-10-11
77
+
78
+ ### Added
17
79
  - **Universal `AGENTS.md` & Native Provider Instructions Architecture**:
18
- - Maintained [`AGENTS.md`](file:///Users/admin/Projects/ai/repo-nexus/AGENTS.md) at the workspace root as the universal, cross-tool standard for workspace routing instructions.
19
- - 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.
80
+ - 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.
20
81
  - 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.
21
82
  - **Self-Contained Skills, Workflows, Rules, and Subagents under `.rnex/`**:
22
83
  - Tools and autonomous agents operate directly on `.rnex/skills/`, `.rnex/workflows/`, `.rnex/rules/`, `.rnex/instructions/`, and active plugin scopes under `.rnex/plugins/<plugin-name>/`.
@@ -24,105 +85,129 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
24
85
  - **Prompts-Only AI Provider Synchronization**:
25
86
  - 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`).
26
87
  - Purged internal prompts from `.rnex/prompts/` and plugin directories.
27
- - Simplified provider plugin options: `copilot` uses `prompts: true|false` and `workflows: true|false` (no `instructions:` needed as Copilot reads `AGENTS.md`); `claude`, `gemini`, `cursor`, and `windsurf` use `instructions: true|false`, `prompts: true|false`, and `workflows: true|false`.
88
+ - 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`.
28
89
  - Surgical cleanup during `rnex fix` purges legacy mirrored skills and agents while preserving user-authored custom files.
90
+
91
+ ## [0.5.17] - 2026-10-11
92
+
93
+ ### Fixed
94
+ - Guarded variable expansion in `rm -rf` calls across POSIX shell scripts (resolving ShellCheck SC2115).
95
+
96
+ ## [0.5.16] - 2026-10-11
97
+
98
+ ### Added
29
99
  - **Configurable Karpathy LLM Wiki Directories**:
30
100
  - 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`.
31
101
  - Workflows, templates, and Git hooks dynamically resolve configured paths.
32
102
  - **Standardized `rnex-` Asset Naming**:
33
- - All workspace prompts, workflows, skills, and agents consistently start with `rnex-` prefix.
103
+ - Standardized all workspace prompts, workflows, skills, and agents to consistently start with `rnex-` prefix.
104
+
105
+ ## [0.5.15] - 2026-10-11
106
+
107
+ ### Changed
108
+ - Updated author username and organization references from nu-nenoi to unoxen.
109
+
110
+ ## [0.5.14] - 2026-10-11
111
+
112
+ ### Added
113
+ - Comprehensive documentation site built with VitePress.
114
+ - Updated AI prompt synchronization logic and documentation recipes.
115
+
116
+ ## [0.5.13] - 2026-10-10
117
+
118
+ ### Documentation
119
+ - Fixed relative links across plugin guides and removed FAQ badge.
120
+
121
+ ## [0.5.12] - 2026-10-10
122
+
123
+ ### Added
34
124
  - **Dedicated Plugins Documentation (`docs/plugins/`)**:
35
125
  - Comprehensive documentation suite covering all built-in AI provider and domain plugins, architecture, and developer authoring guides.
36
126
  - 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.
37
- - Added dedicated documentation pages for each built-in plugin:
38
- - `docs/plugins/copilot.md`: GitHub Copilot prompt mirroring, skills, custom agents, and synthesized `.github/copilot-instructions.md`.
39
- - `docs/plugins/claude.md`: Anthropic Claude Code & Desktop instructions (`CLAUDE.md`), slash commands (`.claude/commands/`), prompts, skills, and agents.
40
- - `docs/plugins/gemini.md`: Google Gemini & Antigravity instructions (`GEMINI.md`), prompts, skills, and agents.
41
- - `docs/plugins/cursor.md`: Cursor IDE instructions (`.cursorrules` & `.cursor/rules/repo-nexus.mdc`), prompts, skills, and agents.
42
- - `docs/plugins/windsurf.md`: Windsurf IDE instructions (`.windsurfrules`), prompts, skills, and agents.
43
- - `docs/plugins/karpathy-llm.md`: Karpathy LLM 4 Cardinal Principles, context engineering, autonomous LLM Wiki (`raw/`, `wiki/`), workflows (`wiki-ingest`, `wiki-lint`), and automated Git hooks integration.
44
- - Linked the new documentation guides from `README.md` and `docs/CLI.md`.
127
+ - Added dedicated documentation pages: `copilot.md`, `claude.md`, `gemini.md`, `cursor.md`, `windsurf.md`, and `karpathy-llm.md`.
128
+
129
+ ## [0.5.10] - 2026-10-10
130
+
131
+ ### Changed
132
+ - Removed redundant `CLAUDE.md` in favor of standard `AGENTS.md`.
133
+
134
+ ## [0.5.9] - 2026-10-10
135
+
136
+ ### Changed
137
+ - **Modular POSIX Shell Codebase Architecture (`lib/`)**:
138
+ - Decomposed the monolithic 3,700+ line `rnex` script into an extensible, modular architecture with dedicated libraries and command modules under `lib/`.
139
+ - Streamlined `rnex` launcher to 110 lines focused on symlink-aware script path resolution (`RNEX_LIB_DIR`), core library discovery, and CLI dispatch.
140
+ - 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`.
141
+ - Extracted CLI commands into dedicated modules under `lib/commands/`: `init.sh`, `repo.sh`, `status.sh`, `fix.sh`, `plugin.sh`, `completion.sh`, `system.sh`.
142
+ - Maintained 100% backward compatibility, pure POSIX `/bin/sh` compliance, and zero external runtime dependencies.
143
+
144
+ ## [0.5.8] - 2026-10-10
145
+
146
+ ### Added
147
+ - Unified agent mirroring and cross-provider configuration.
148
+
149
+ ## [0.5.7] - 2026-10-10
150
+
151
+ ### Added
45
152
  - **AI Provider Plugins for Claude, Gemini, Cursor, and Windsurf**:
46
153
  - Built-in provider plugins (`toolkit/plugins/claude/`, `toolkit/plugins/gemini/`, `toolkit/plugins/cursor/`, `toolkit/plugins/windsurf/`) alongside `copilot`.
47
154
  - Native instructions synthesis and sync for each provider: `CLAUDE.md`, `GEMINI.md`, `.cursorrules` (and `.cursor/rules/repo-nexus.mdc`), and `.windsurfrules`.
48
155
  - Standardized prompt mirroring to `.claude/commands/`, `.gemini/prompts/`, `.cursor/prompts/`, and `.windsurf/prompts/`.
49
- - Skill mirroring to `.claude/skills/`, `.gemini/skills/`, `.cursor/skills/`, and `.windsurf/skills/`.
50
- - Granular configuration options per plugin (`instructions: true|false`, `prompts: true|false`, `skills: true|false`).
51
156
  - Added `--claude`, `--gemini`, `--cursor`, and `--windsurf` initialization flags to `rnex init`.
52
- - Diagnostics and configurable provider options displayed in `rnex status`.
53
157
  - **Unified Single-Process Workspace Reconcile & Upgrade (`rnex fix`)**:
54
158
  - Merged configuration version updates directly into `rnex fix` as a single, idempotent process.
55
- - Automatically migrates older workspace manifests to the current CLI version on `rnex fix` without requiring separate update commands.
56
- - `rnex update` and `rnex upgrade` are maintained as clean aliases pointing directly to `rnex fix`.
57
- - **Explicit `git_hooks` Workspace Configuration (`rnex.yaml` & `.local.rnex.yaml`)**:
58
- - Top-level `git_hooks: true|false` setting establishes the workspace configuration as the single source of truth for automated Git hooks.
59
- - Two-level configuration support allowing per-workstation overrides in `.local.rnex.yaml` (e.g. keeping hooks globally enabled in `rnex.yaml` while disabling locally via `rnex hooks uninstall --local`).
60
- - `rnex hooks install [--local]` and `rnex hooks uninstall [--local]` record preference directly to `rnex.yaml` or `.local.rnex.yaml`.
61
- - `rnex fix` (and `rnex sync`) automatically reconciles Git's `core.hooksPath` against the resolved `git_hooks` configuration.
62
- - Interactive `rnex init` determines and records `git_hooks` preference upfront in new workspaces.
63
- - Workspace schema migration in `rnex update` and `rnex fix -y` non-destructively inserts `git_hooks` into older configurations.
64
- - `rnex status` and `rnex hooks status` display configuration state alongside runtime Git hooks status.
159
+ - `rnex update` and `rnex upgrade` maintained as clean aliases pointing directly to `rnex fix`.
160
+
161
+ ### Changed
162
+ - Removed legacy `ai_instructions` configuration key in favor of AI provider plugins.
163
+
164
+ ## [0.5.6] - 2026-10-09
165
+
166
+ ### Added
65
167
  - **Modular GitHub Copilot Plugin & Extensible Provider Sync (`plugins: copilot: ...`)**:
66
168
  - Encapsulated GitHub Copilot integration as a built-in Repo Nexus plugin (`copilot`) located in `toolkit/plugins/copilot/`.
67
- - Extensible configuration options per provider under `plugins:` in `rnex.yaml` and `.local.rnex.yaml`:
68
- - `prompts: true|false`: Syncs operational prompts into `.github/prompts/*.prompt.md` with YAML frontmatter for VS Code Copilot Chat prompt picker & slash commands.
69
- - `skills: true|false`: Syncs agent skills into `.github/skills/<name>/SKILL.md` for Copilot Agent mode & `gh skill`.
70
- - `instructions: true|false`: Synthesizes workspace routing and active plugin guidelines into `.github/copilot-instructions.md`, preserving manual user instructions outside `<!-- REPO-NEXUS -->` markers.
71
- - `agents: true|false`: Syncs active plugin custom agents into `.github/agents/*.agent.md` and Copilot skills.
72
- - `enabled: false`: Allows local machine overrides in `.local.rnex.yaml` without altering team configuration.
169
+ - Extensible configuration options per provider under `plugins:` in `rnex.yaml` and `.local.rnex.yaml` (`prompts`, `skills`, `instructions`, `agents`).
73
170
  - 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.
74
171
  - CLI management via `rnex plugin enable [--local] copilot`, `rnex plugin disable [--local] copilot`, and `rnex plugin info copilot`.
75
- - Added `--copilot` initialization flag to `rnex init` enabling the plugin in newly generated workspaces.
76
- - Clean reconciliation in `rnex fix`: safely removes `.github/prompts/`, `.github/skills/`, `.github/agents/`, and `.github/copilot-instructions.md` when disabled or when specific target options are toggled off.
77
- - Diagnostics and configurable options reporting integrated into `rnex status`.
172
+ - Added `--copilot` initialization flag to `rnex init`.
173
+
174
+ ### Fixed
175
+ - Surgical non-destructive cleanup of skills, agents, and prompts during provider deactivation or reconciliation.
176
+
177
+ ## [0.5.5] - 2026-10-09
78
178
 
79
179
  ### Changed
80
- - **Modular POSIX Shell Codebase Architecture (`lib/`)**:
81
- - Decomposed the monolithic 3,700+ line `rnex` script into an extensible, modular architecture with dedicated libraries and command modules under `lib/`.
82
- - Streamlined `rnex` launcher to 110 lines focused on symlink-aware script path resolution (`RNEX_LIB_DIR`), core library discovery, and CLI dispatch.
83
- - Extracted core utilities and workspace operations into specialized modules:
84
- - `lib/core.sh`: ANSI colors, logging utilities (`log_ok`, `log_warn`, `log_err`, `log_info`, `log_dim`, `die`), version comparator (`version_cmp`), and symlink path resolution (`resolve_script_path`).
85
- - `lib/workspace.sh`: Workspace directory detection, configuration file loaders (`_init_local_yaml`, `_load_workspace_version`, `_load_repos_dir`, `_load_code_workspace`, `_load_git_hooks`), and automatic version migration routines.
86
- - `lib/yaml.sh`: Pure POSIX/awk YAML manipulation engine for member repos, plugins, and workspace configuration without third-party dependencies.
87
- - `lib/repos.sh`: Member repository path resolution, workspace cloning, directory creation, and `.rnex/` member isolation.
88
- - `lib/plugins.sh`: Plugin engine discovery, manifest parsing, and scoped workspace asset synchronization.
89
- - `lib/ai.sh`: Delimited AI instructions merging (`<!-- REPO-NEXUS -->`), provider integration sync (Copilot, Claude, Gemini, Cursor, Windsurf), prompt mirroring, skill syncing, multi-root workspace generation, and `.gitignore` reconciliation.
90
- - `lib/hooks.sh`: Automated Git hook script generator (`_create_hook_script`), hook installation, uninstallation, status diagnostics, and execution dispatching.
91
- - Extracted CLI commands into dedicated modules under `lib/commands/`:
92
- - `lib/commands/init.sh`: Interactive and headless workspace initialization (`cmd_init`).
93
- - `lib/commands/repo.sh`: Member repository lifecycle management (`add`, `clone`, `remove`, `list`, `exec`, `enable`, `disable`, `show`, `hide`).
94
- - `lib/commands/status.sh`: Workspace health diagnostics and plugin status reporting (`cmd_status`).
95
- - `lib/commands/fix.sh`: Unified idempotent workspace repair, sync, and config upgrade (`cmd_fix`, `cmd_sync`, `cmd_update`, `cmd_upgrade`).
96
- - `lib/commands/plugin.sh`: Plugin lifecycle commands (`list`, `info`, `enable`, `disable`, `rnex-dir`).
97
- - `lib/commands/completion.sh`: Autocompletion generators for Bash, Zsh, and Fish.
98
- - `lib/commands/system.sh`: Package installation helper, version reporter, and help display.
99
- - Maintained 100% backward compatibility, pure POSIX `/bin/sh` compliance, and zero external runtime dependencies.
100
- - Updated `package.json` files array to distribute the `lib/` directory in npm packages.
101
- - Enhanced automated test suite (`tests/test_cli.sh`) to support modular library resolution across isolated temporary workspaces.
102
- - **Removed `ai_instructions` Configuration in Favor of AI Provider Plugins**:
103
- - Removed the legacy `ai_instructions` configuration key. `AGENTS.md` is now the workspace standard.
104
- - Users choosing provider-specific files (`CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `.windsurfrules`) enable the respective AI provider plugin (`claude`, `gemini`, `cursor`, `windsurf`).
105
- - When an AI provider plugin is enabled, `rnex fix` does not enforce or force-recreate `AGENTS.md`. If all provider plugins are disabled, `AGENTS.md` is cleanly restored as the fallback default.
106
- - Older configurations specifying `ai_instructions: CLAUDE.md | GEMINI.md | .cursorrules` are automatically migrated to enable the respective plugin and stripped of the legacy key during `rnex fix`.
180
+ - **Track Workspace `.rnex/` in Version Control**:
181
+ - Removed `.rnex/` from `.gitignore` templates and generation.
182
+ - `reconcile_gitignore` and `rnex fix` actively strip legacy `.rnex/` ignore rules from `.gitignore` so that team prompts, plugins, and hooks are tracked in git.
183
+ - Updated `rnex status` to expect `.rnex/` to remain tracked by git.
184
+
185
+ ### Fixed
186
+ - 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.
187
+
188
+ ## [0.5.4] - 2026-10-09
107
189
 
108
190
  ### Fixed
109
- - **Surgical Non-Destructive Cleanup of Skills, Agents, and Prompts**:
110
- - Replaced destructive `rm -rf` on `.github/skills`, `.github/agents`, and provider directories with targeted cleanup (`clean_provider_skills`, `clean_provider_prompts`, `clean_copilot_agents`).
111
- - Only Repo Nexus base prompts (`rnex-*`) and active plugin-generated skills/agents/prompts are removed during disable or reconciliation.
112
- - User-authored custom skills in `.github/skills/`, custom agents in `.github/agents/`, and custom prompts are now safely preserved regardless of whether a provider plugin is enabled or disabled.
113
- - **Variable Shadowing and Directory Creation in Hook / Init Synchronization**:
114
- - Fixed variable name shadowing (`_target_dir`) across `cmd_init` and provider sync routines in POSIX shell.
115
- - Ensured target directories are created before moving temporary hook files in `_create_hook_script`.
116
- - **Git Hooks Self-Rewrite & Wrapper Preservation**:
117
- - Resolved self-rewrite bug where `rnex hooks run post-merge` invoked `cmd_fix`, which truncated and replaced `.rnex/hooks/post-merge` while the shell interpreter was actively executing it.
191
+ - **Git Hooks Self-Rewrite Prevention & Wrapper Preservation**:
118
192
  - Added in-hook execution guard (`_RNEX_INSIDE_HOOK=1`) preventing hook script regeneration during active hook dispatch.
119
193
  - Preserved custom / repository-owned wrappers in `.rnex/hooks/` that are not auto-managed by `rnex`.
120
194
  - Added `cmp -s` check before writing hook files to eliminate unnecessary file churn and in-place overwrites.
121
195
  - Automatically chain to existing repository-owned `.githooks/` scripts if present.
122
- - **Track Workspace `.rnex/` in Version Control**:
123
- - Removed `.rnex/` from `.gitignore` templates and generation.
124
- - `reconcile_gitignore` and `rnex fix` actively strip legacy `.rnex/` ignore rules from `.gitignore` so that team prompts (`.rnex/prompts/`), plugins (`.rnex/plugins/`), and hooks (`.rnex/hooks/`) are tracked in git.
125
- - Updated `rnex status` to expect `.rnex/` to remain tracked by git.
196
+
197
+ ## [0.5.3] - 2026-10-09
198
+
199
+ ### Added
200
+ - **Explicit `git_hooks` Workspace Configuration (`rnex.yaml` & `.local.rnex.yaml`)**:
201
+ - Top-level `git_hooks: true|false` setting establishes the workspace configuration as the single source of truth for automated Git hooks.
202
+ - Two-level configuration support allowing per-workstation overrides in `.local.rnex.yaml`.
203
+ - `rnex hooks install [--local]` and `rnex hooks uninstall [--local]` record preference directly to `rnex.yaml` or `.local.rnex.yaml`.
204
+ - `rnex fix` (and `rnex sync`) automatically reconciles Git's `core.hooksPath` against the resolved `git_hooks` configuration.
205
+ - Interactive `rnex init` determines and records `git_hooks` preference upfront in new workspaces.
206
+
207
+ ## [0.5.2] - 2026-10-08
208
+
209
+ ### Fixed
210
+ - Dynamic version matching in test suite (`tests/test_cli.sh`) resolving hardcoded version assertion on `package.json` bumps.
126
211
 
127
212
  ## [0.5.1] - 2026-10-08
128
213
 
package/README.md CHANGED
@@ -12,7 +12,7 @@ A **simple, lightweight Virtual Meta-Repo companion** for multi-repo workspaces
12
12
  - **No Git Submodules or Nested Git Collisions**: Member repositories are physically cloned into `./repos/` and strictly ignored by workspace Git. Each repository maintains its own standalone history, remotes, branches, and commits with zero submodule friction.
13
13
  - **Unified Workspace for AI Coding Assistants**: Open one root folder to give Cursor, Claude Code, GitHub Copilot, Codex, or Antigravity complete cross-service visibility.
14
14
  - **Two-Level Configuration as Source of Truth**: Shared team manifest in `rnex.yaml` with machine-specific overrides in `.local.rnex.yaml` (highest priority).
15
- - **OneCommand Team Onboarding**: Teammates clone the meta-repo and run `rnex clone` to clone and configure all member repos in seconds.
15
+ - **One Command Team Onboarding**: Teammates clone the meta-repo and run `rnex clone` to clone and configure all member repos in seconds.
16
16
  - **Cross-Repo Batch Operations**: Run arbitrary commands across all active repositories with `rnex exec <command>`.
17
17
  - **Scoped Plugins & Context Packs**: Modular plugin packages scoped under `.rnex/plugins/<plugin-name>/` with support for domain directories (e.g. `raw/` and `wiki/` for `karpathy-llm`).
18
18
  - **Zero Dependencies**: Pure POSIX shell CLI (`rnex`). Works out of the box across macOS, Linux, and Windows (WSL/Git Bash).
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-nexus",
3
- "version": "0.6.7",
3
+ "version": "0.6.9",
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",