repo-nexus 0.5.6 → 0.5.7

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
@@ -8,6 +8,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  ## [Unreleased]
9
9
 
10
10
  ### Added
11
+ - **AI Provider Plugins for Claude, Gemini, Cursor, and Windsurf**:
12
+ - Built-in provider plugins (`toolkit/plugins/claude/`, `toolkit/plugins/gemini/`, `toolkit/plugins/cursor/`, `toolkit/plugins/windsurf/`) alongside `copilot`.
13
+ - Native instructions synthesis and sync for each provider: `CLAUDE.md`, `GEMINI.md`, `.cursorrules` (and `.cursor/rules/repo-nexus.mdc`), and `.windsurfrules`.
14
+ - Standardized prompt mirroring to `.claude/commands/`, `.gemini/prompts/`, `.cursor/prompts/`, and `.windsurf/prompts/`.
15
+ - Skill mirroring to `.claude/skills/`, `.gemini/skills/`, `.cursor/skills/`, and `.windsurf/skills/`.
16
+ - Granular configuration options per plugin (`instructions: true|false`, `prompts: true|false`, `skills: true|false`).
17
+ - Added `--claude`, `--gemini`, `--cursor`, and `--windsurf` initialization flags to `rnex init`.
18
+ - Diagnostics and configurable provider options displayed in `rnex status`.
19
+ - **Unified Single-Process Workspace Reconcile & Upgrade (`rnex fix`)**:
20
+ - Merged configuration version updates directly into `rnex fix` as a single, idempotent process.
21
+ - Automatically migrates older workspace manifests to the current CLI version on `rnex fix` without requiring separate update commands.
22
+ - `rnex update` and `rnex upgrade` are maintained as clean aliases pointing directly to `rnex fix`.
11
23
  - **Explicit `git_hooks` Workspace Configuration (`rnex.yaml` & `.local.rnex.yaml`)**:
12
24
  - Top-level `git_hooks: true|false` setting establishes the workspace configuration as the single source of truth for automated Git hooks.
13
25
  - 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`).
@@ -30,6 +42,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
30
42
  - 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.
31
43
  - Diagnostics and configurable options reporting integrated into `rnex status`.
32
44
 
45
+ ### Changed
46
+ - **Removed `ai_instructions` Configuration in Favor of AI Provider Plugins**:
47
+ - Removed the legacy `ai_instructions` configuration key. `AGENTS.md` is now the workspace standard.
48
+ - Users choosing provider-specific files (`CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `.windsurfrules`) enable the respective AI provider plugin (`claude`, `gemini`, `cursor`, `windsurf`).
49
+ - 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.
50
+ - 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`.
51
+
52
+ ### Fixed
53
+ - **Variable Shadowing and Directory Creation in Hook / Init Synchronization**:
54
+ - Fixed variable name shadowing (`_target_dir`) across `cmd_init` and provider sync routines in POSIX shell.
55
+ - Ensured target directories are created before moving temporary hook files in `_create_hook_script`.
56
+
33
57
  ### Fixed
34
58
  - **Git Hooks Self-Rewrite & Wrapper Preservation**:
35
59
  - 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.
package/README.md CHANGED
@@ -188,7 +188,7 @@ rnex list
188
188
  # Inspect workspace health, active repos, and plugin status
189
189
  rnex status
190
190
 
191
- # Reconcile workspace, plugins, and member .rnex/ directories (alias: sync)
191
+ # Reconcile workspace, sync plugins, and upgrade config in a single pass (aliases: sync, update, upgrade)
192
192
  rnex fix
193
193
 
194
194
  # Unregister and delete a repository
@@ -233,7 +233,63 @@ The `copilot` plugin provides GitHub Copilot integration, automatically mirrorin
233
233
  agents: true # mirror custom agents to .github/agents/*.agent.md (default: true)
234
234
  ```
235
235
 
236
- #### 2. `karpathy-llm`
236
+ #### 2. `claude`
237
+ The `claude` plugin integrates Anthropic's Claude Code and Claude CLI:
238
+ * **Instructions (`CLAUDE.md`)**: Manages the root `CLAUDE.md` routing context, replacing `AGENTS.md`.
239
+ * **Slash Commands (`.claude/commands/*.md`)**: Standardized commands (`/rnex-cross-repo-feature`, etc.) for Claude Code.
240
+ * **Agent Skills (`.claude/skills/<name>/SKILL.md`)**: Mirrored tool skills and workflows.
241
+ * **Configurable Options**:
242
+ ```yaml
243
+ plugins:
244
+ claude:
245
+ instructions: true # maintain CLAUDE.md (default: true)
246
+ prompts: true # mirror slash commands to .claude/commands/ (default: true)
247
+ skills: true # mirror skills to .claude/skills/ (default: true)
248
+ ```
249
+
250
+ #### 3. `gemini`
251
+ The `gemini` plugin integrates Google Gemini CLI and Gemini Code Assist:
252
+ * **Instructions (`GEMINI.md`)**: Manages root `GEMINI.md` context, replacing `AGENTS.md`.
253
+ * **Prompts (`.gemini/prompts/*.prompt.md`)**: Standardized prompts formatted with YAML frontmatter.
254
+ * **Skills (`.gemini/skills/<name>/SKILL.md`)**: Mirrored tool skills for Gemini agents.
255
+ * **Configurable Options**:
256
+ ```yaml
257
+ plugins:
258
+ gemini:
259
+ instructions: true # maintain GEMINI.md (default: true)
260
+ prompts: true # mirror prompts to .gemini/prompts/ (default: true)
261
+ skills: true # mirror skills to .gemini/skills/ (default: true)
262
+ ```
263
+
264
+ #### 4. `cursor`
265
+ The `cursor` plugin integrates the Cursor IDE:
266
+ * **Instructions (`.cursorrules` & `.cursor/rules/repo-nexus.mdc`)**: Synchronizes project routing rules.
267
+ * **Prompts (`.cursor/prompts/*.md`)**: Mirrored prompt files.
268
+ * **Skills (`.cursor/skills/<name>/SKILL.md`)**: Mirrored agent skills.
269
+ * **Configurable Options**:
270
+ ```yaml
271
+ plugins:
272
+ cursor:
273
+ instructions: true # maintain .cursorrules and MDC rule (default: true)
274
+ prompts: true # mirror prompts to .cursor/prompts/ (default: true)
275
+ skills: true # mirror skills to .cursor/skills/ (default: true)
276
+ ```
277
+
278
+ #### 5. `windsurf`
279
+ The `windsurf` plugin integrates the Codeium Windsurf IDE:
280
+ * **Instructions (`.windsurfrules`)**: Synchronizes project routing rules.
281
+ * **Prompts (`.windsurf/prompts/*.md`)**: Mirrored prompt files.
282
+ * **Skills (`.windsurf/skills/<name>/SKILL.md`)**: Mirrored agent skills.
283
+ * **Configurable Options**:
284
+ ```yaml
285
+ plugins:
286
+ windsurf:
287
+ instructions: true # maintain .windsurfrules (default: true)
288
+ prompts: true # mirror prompts to .windsurf/prompts/ (default: true)
289
+ skills: true # mirror skills to .windsurf/skills/ (default: true)
290
+ ```
291
+
292
+ #### 6. `karpathy-llm`
237
293
  The `karpathy-llm` plugin packages Andrej Karpathy's verified LLM agent design patterns, context engineering principles, and the autonomous **Karpathy LLM Wiki** architecture:
238
294
  * **The 4 Cardinal Agent Rules** (`.rnex/plugins/karpathy-llm/rules/behavioral.md`):
239
295
  1. *Think Before Coding:* Formulate explicit assumptions, boundary checks, and trade-offs before writing code.
package/docs/CLI.md CHANGED
@@ -68,33 +68,35 @@ rnex init [options] [directory]
68
68
  #### Arguments & Options
69
69
  - `directory` *(optional)*: Target directory to initialize. Defaults to current working directory (`$PWD`).
70
70
  - `-y`, `--yes`: Non-interactive mode. Accepts all defaults automatically without prompting.
71
- - `--ai <filename>`, `--instructions <filename>`: Name of the primary AI instructions file (e.g. `CLAUDE.md`, `GEMINI.md`, `.cursorrules`). Default: `AGENTS.md`.
72
71
  - `--code-workspace [filename]`: Enable VS Code / Cursor multi-root workspace file generation. Defaults to `<directory-name>.code-workspace` if omitted.
73
72
  - `--hooks`: Force-enable automated Git hooks setup during initialization.
74
73
  - `--no-hooks`: Skip Git hooks configuration during initialization.
75
74
  - `--copilot`: Enable GitHub Copilot integration plugin (mirrors prompts, skills, agents, and instructions to `.github/`).
76
- - `--no-copilot`: Skip GitHub Copilot plugin (default).
75
+ - `--claude`: Enable Anthropic Claude Code plugin (maintains `CLAUDE.md`, mirrors prompts/skills to `.claude/`).
76
+ - `--gemini`: Enable Google Gemini & Antigravity plugin (maintains `GEMINI.md`, mirrors prompts/skills to `.gemini/`).
77
+ - `--cursor`: Enable Cursor IDE plugin (maintains `.cursorrules` / `.cursor/rules/`, mirrors prompts/skills to `.cursor/`).
78
+ - `--windsurf`: Enable Windsurf IDE plugin (maintains `.windsurfrules`, mirrors prompts/skills to `.windsurf/`).
77
79
 
78
80
  #### What it does:
79
81
  1. Creates `rnex.yaml` with schema versioning (`version: <version>`), `repos_dir: ./repos`, and configured defaults.
80
- 2. Merges Repo Nexus routing instructions (`<!-- REPO-NEXUS:START -->` ... `<!-- REPO-NEXUS:END -->`) into the target AI instructions file.
82
+ 2. Merges Repo Nexus routing instructions (`<!-- REPO-NEXUS:START -->` ... `<!-- REPO-NEXUS:END -->`) into `AGENTS.md` (or the respective provider file if a provider plugin flag was specified).
81
83
  3. Creates `./repos/` directory with a tracked `.gitkeep`.
82
84
  4. Creates `.rnex/`, `.rnex/plugins/`, and copies standardized prompts to `.rnex/prompts/`.
83
85
  5. Reconciles `.gitignore` to ensure `repos/` and `.local.rnex.yaml` are never tracked by the meta-repo (while keeping `.rnex/` tracked).
84
86
  6. Generates a multi-root `.code-workspace` file if configured.
85
87
  7. Prompts to configure automated workspace Git hooks (`core.hooksPath = .rnex/hooks`) if inside a Git repository.
86
- 8. Configures enabled plugins (including `copilot` if requested).
88
+ 8. Configures and syncs enabled plugins.
87
89
 
88
90
  #### Examples:
89
91
  ```sh
90
- # Initialize in current directory with interactive prompts
92
+ # Initialize in current directory with interactive prompts (creates AGENTS.md)
91
93
  rnex init
92
94
 
93
95
  # Non-interactive initialization for CI or automated setup
94
96
  rnex init -y
95
97
 
96
- # Initialize for Anthropic Claude Code with automated Git hooks
97
- rnex init -y --ai CLAUDE.md --hooks
98
+ # Initialize for Anthropic Claude Code with automated Git hooks (creates CLAUDE.md)
99
+ rnex init -y --claude --hooks
98
100
 
99
101
  # Initialize with VS Code multi-root workspace support
100
102
  rnex init --code-workspace my-team.code-workspace
@@ -147,15 +149,16 @@ rnex fix [options]
147
149
 
148
150
  ### `rnex update` (alias: `upgrade`)
149
151
 
150
- Safely updates an existing workspace's configuration schema and routing instructions to match the currently installed CLI version.
152
+ Safely updates an existing workspace's configuration schema and routing instructions to match the currently installed CLI version as part of the unified `rnex fix` reconciliation process.
151
153
 
152
154
  ```sh
153
155
  rnex update [-y]
154
156
  ```
155
157
 
156
158
  - Compares `version:` in `rnex.yaml` with the running `rnex` CLI version.
157
- - Non-destructively updates the `version:` key and inserts newly introduced schema keys (`ai_instructions`, `code_workspace`) while strictly preserving existing comments, indentation, and repository declarations.
158
- - Reconciles AI instructions in `AGENTS.md` / `CLAUDE.md` to the newest standard.
159
+ - Non-destructively upgrades the configuration schema and inserts newly introduced keys while strictly preserving existing comments, indentation, and repository declarations.
160
+ - Reconciles AI instructions, active provider plugins, and workspace routing in a single execution.
161
+ - `rnex update` and `rnex upgrade` are aliases that invoke the unified `rnex fix` workflow.
159
162
 
160
163
  ---
161
164
 
@@ -31,19 +31,6 @@ version: 0.5.0
31
31
 
32
32
  repos_dir: ./repos
33
33
 
34
- # ------------------------------------------------------------------------------
35
- # ai_instructions — Main AI instructions routing file
36
- # ------------------------------------------------------------------------------
37
- # Main instructions file created and managed by Repo Nexus.
38
- # Default: AGENTS.md (recognized by modern AI coding assistants)
39
- #
40
- # Examples:
41
- # ai_instructions: AGENTS.md # default standard
42
- # ai_instructions: CLAUDE.md # for Anthropic Claude Code CLI
43
- # ai_instructions: GEMINI.md # for Google Gemini / Antigravity CLI
44
- #
45
- ai_instructions: AGENTS.md
46
-
47
34
  # ------------------------------------------------------------------------------
48
35
  # code_workspace — VS Code / Cursor multi-root workspace file
49
36
  # ------------------------------------------------------------------------------
@@ -88,6 +75,14 @@ git_hooks: true
88
75
  # Built-in plugins:
89
76
  # copilot — GitHub Copilot integration: mirrors operational prompts, skills,
90
77
  # agents, and synthesized instructions into .github/
78
+ # claude — Anthropic Claude Code integration: maintains CLAUDE.md instructions
79
+ # and mirrors commands, prompts, and skills into .claude/
80
+ # gemini — Google Gemini / Antigravity integration: maintains GEMINI.md instructions
81
+ # and mirrors prompts and skills into .gemini/
82
+ # cursor — Cursor IDE integration: maintains .cursorrules / .cursor/rules/
83
+ # and mirrors prompts and skills into .cursor/
84
+ # windsurf — Windsurf IDE integration: maintains .windsurfrules
85
+ # and mirrors prompts and skills into .windsurf/
91
86
  # karpathy-llm — Andrej Karpathy's agent behavioral principles,
92
87
  # context engineering guidelines, and LLM Wiki architecture
93
88
 
@@ -97,6 +92,22 @@ plugins:
97
92
  # skills: true # mirror skills to .github/skills/<name>/SKILL.md (default: true)
98
93
  # instructions: true # mirror instructions to .github/copilot-instructions.md (default: true)
99
94
  # agents: true # mirror custom agents to .github/agents/*.agent.md (default: true)
95
+ # claude:
96
+ # instructions: true # maintain routing in CLAUDE.md (default: true)
97
+ # prompts: true # mirror commands & prompts to .claude/commands/ (default: true)
98
+ # skills: true # mirror skills to .claude/skills/ (default: true)
99
+ # gemini:
100
+ # instructions: true # maintain routing in GEMINI.md (default: true)
101
+ # prompts: true # mirror prompts to .gemini/prompts/ (default: true)
102
+ # skills: true # mirror skills to .gemini/skills/ (default: true)
103
+ # cursor:
104
+ # instructions: true # maintain routing in .cursorrules & .cursor/rules/ (default: true)
105
+ # prompts: true # mirror prompts to .cursor/prompts/ (default: true)
106
+ # skills: true # mirror skills to .cursor/skills/ (default: true)
107
+ # windsurf:
108
+ # instructions: true # maintain routing in .windsurfrules (default: true)
109
+ # prompts: true # mirror prompts to .windsurf/prompts/ (default: true)
110
+ # skills: true # mirror skills to .windsurf/skills/ (default: true)
100
111
  # karpathy-llm: {}
101
112
 
102
113
  # ------------------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-nexus",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
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",