repo-nexus 0.5.6 → 0.5.8
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 +28 -0
- package/README.md +58 -2
- package/docs/CLI.md +13 -10
- package/docs/rnex.example.yaml +28 -13
- package/package.json +1 -1
- package/rnex +781 -399
- package/toolkit/plugins/claude/README.md +34 -0
- package/toolkit/plugins/claude/instructions/claude-integration.md +27 -0
- package/toolkit/plugins/claude/plugin.yaml +7 -0
- package/toolkit/plugins/cursor/README.md +34 -0
- package/toolkit/plugins/cursor/instructions/cursor-integration.md +27 -0
- package/toolkit/plugins/cursor/plugin.yaml +7 -0
- package/toolkit/plugins/gemini/README.md +34 -0
- package/toolkit/plugins/gemini/instructions/gemini-integration.md +27 -0
- package/toolkit/plugins/gemini/plugin.yaml +7 -0
- package/toolkit/plugins/windsurf/README.md +34 -0
- package/toolkit/plugins/windsurf/instructions/windsurf-integration.md +26 -0
- package/toolkit/plugins/windsurf/plugin.yaml +7 -0
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,22 @@ 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
|
+
- **Surgical Non-Destructive Cleanup of Skills, Agents, and Prompts**:
|
|
54
|
+
- Replaced destructive `rm -rf` on `.github/skills`, `.github/agents`, and provider directories with targeted cleanup (`clean_provider_skills`, `clean_provider_prompts`, `clean_copilot_agents`).
|
|
55
|
+
- Only Repo Nexus base prompts (`rnex-*`) and active plugin-generated skills/agents/prompts are removed during disable or reconciliation.
|
|
56
|
+
- 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.
|
|
57
|
+
- **Variable Shadowing and Directory Creation in Hook / Init Synchronization**:
|
|
58
|
+
- Fixed variable name shadowing (`_target_dir`) across `cmd_init` and provider sync routines in POSIX shell.
|
|
59
|
+
- Ensured target directories are created before moving temporary hook files in `_create_hook_script`.
|
|
60
|
+
|
|
33
61
|
### Fixed
|
|
34
62
|
- **Git Hooks Self-Rewrite & Wrapper Preservation**:
|
|
35
63
|
- 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
|
|
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. `
|
|
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
|
-
- `--
|
|
75
|
+
- `--claude`: Enable Anthropic Claude Code plugin (maintains `CLAUDE.md`, mirrors prompts/skills/agents to `.claude/`).
|
|
76
|
+
- `--gemini`: Enable Google Gemini & Antigravity plugin (maintains `GEMINI.md`, mirrors prompts/skills/agents to `.gemini/`).
|
|
77
|
+
- `--cursor`: Enable Cursor IDE plugin (maintains `.cursorrules` / `.cursor/rules/`, mirrors prompts/skills/agents to `.cursor/`).
|
|
78
|
+
- `--windsurf`: Enable Windsurf IDE plugin (maintains `.windsurfrules`, mirrors prompts/skills/agents 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
|
|
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
|
|
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 --
|
|
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
|
|
158
|
-
- Reconciles AI instructions
|
|
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
|
|
package/docs/rnex.example.yaml
CHANGED
|
@@ -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, skills, and agents into .claude/
|
|
80
|
+
# gemini — Google Gemini / Antigravity integration: maintains GEMINI.md instructions
|
|
81
|
+
# and mirrors prompts, skills, and agents into .gemini/
|
|
82
|
+
# cursor — Cursor IDE integration: maintains .cursorrules / .cursor/rules/
|
|
83
|
+
# and mirrors prompts, skills, and agents into .cursor/
|
|
84
|
+
# windsurf — Windsurf IDE integration: maintains .windsurfrules
|
|
85
|
+
# and mirrors prompts, skills, and agents 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,26 @@ 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
|
+
# agents: true # mirror custom agents to .claude/agents/ (default: true)
|
|
100
|
+
# gemini:
|
|
101
|
+
# instructions: true # maintain routing in GEMINI.md (default: true)
|
|
102
|
+
# prompts: true # mirror prompts to .gemini/prompts/ (default: true)
|
|
103
|
+
# skills: true # mirror skills to .gemini/skills/ (default: true)
|
|
104
|
+
# agents: true # mirror custom agents to .gemini/agents/ (default: true)
|
|
105
|
+
# cursor:
|
|
106
|
+
# instructions: true # maintain routing in .cursorrules & .cursor/rules/ (default: true)
|
|
107
|
+
# prompts: true # mirror prompts to .cursor/prompts/ (default: true)
|
|
108
|
+
# skills: true # mirror skills to .cursor/skills/ (default: true)
|
|
109
|
+
# agents: true # mirror custom agents to .cursor/agents/ (default: true)
|
|
110
|
+
# windsurf:
|
|
111
|
+
# instructions: true # maintain routing in .windsurfrules (default: true)
|
|
112
|
+
# prompts: true # mirror prompts to .windsurf/prompts/ (default: true)
|
|
113
|
+
# skills: true # mirror skills to .windsurf/skills/ (default: true)
|
|
114
|
+
# agents: true # mirror custom agents to .windsurf/agents/ (default: true)
|
|
100
115
|
# karpathy-llm: {}
|
|
101
116
|
|
|
102
117
|
# ------------------------------------------------------------------------------
|
package/package.json
CHANGED