repo-nexus 0.2.11 → 0.3.0

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/README.md CHANGED
@@ -50,32 +50,23 @@ A **simple, lightweight companion tool** for multi-repo workflows. It links mult
50
50
 
51
51
  ---
52
52
 
53
- ## How It Works: The Two Symlink Flows
53
+ ## How It Works: Zero-Touch Multi-Repo Architecture
54
54
 
55
55
  ```
56
56
  ┌─────────────────────────────────────────────────────────────┐
57
- │ 1. SCOPE IN — Bring member repos INTO Repo Nexus │
57
+ │ Repo Nexus Workspace Root │
58
58
  │ │
59
59
  │ my-workspace/ │
60
60
  │ repos/ │
61
61
  │ backend/ ──(symlink)──> ~/code/backend-api │
62
62
  │ frontend/ ──(symlink)──> ~/code/web-app │
63
- │ AGENTS.md (universal AI instructions) │
64
- │ rnex.yaml (manifest: AI files + repos) │
63
+ │ AGENTS.md (root universal AI instructions) │
64
+ │ .rnex/ (plugins, rules, and workflows) │
65
+ │ rnex.yaml (manifest: repos_dir, plugins, repos) │
65
66
  │ │
66
- │ Agent opens workspace → sees all repos in one place. │
67
- │ Edits through symlinks modify the original files directly. │
68
- └─────────────────────────────────────────────────────────────┘
69
-
70
- ┌─────────────────────────────────────────────────────────────┐
71
- │ 2. INJECT OUT — Auto-sync AI context INTO member repos │
72
- │ │
73
- │ ~/code/backend-api/ │
74
- │ AGENTS.md ──(symlink)──> my-workspace/AGENTS.md │
75
- │ src/ (real codebase) │
76
- │ │
77
- │ Open backend-api standalone → AI tools automatically see │
78
- │ shared instructions as if they were local files. │
67
+ │ • Agent opens workspace → sees all repos in one tree. │
68
+ │ • Edits through symlinks modify original files directly. │
69
+ │ • Member repositories remain 100% clean and untouched. │
79
70
  └─────────────────────────────────────────────────────────────┘
80
71
  ```
81
72
 
@@ -89,10 +80,13 @@ A **simple, lightweight companion tool** for multi-repo workflows. It links mult
89
80
  2. **Symlink Write-Through**:
90
81
  Symlinks are transparent pointers resolved by your OS. When you or an AI agent edit `repos/backend/src/index.ts`, the OS resolves the link and writes directly to the source repository on disk.
91
82
 
92
- 3. **Single Source of Truth for AI Context**:
93
- Edit `AGENTS.md` once in Repo Nexus, and changes immediately reflect across all member repositories.
83
+ 3. **Clean Member Repositories & Dedicated `.rnex/` Scope**:
84
+ Member repository roots remain clean and unpolluted. By default, `rnex` creates a dedicated `.rnex/` directory in each member repo (`repos/<name>/.rnex/`) to isolate all Repo Nexus documents, instructions, rules, workflows, and scripts. This setting is configurable per repository (`rnex_dir: true|false`) and can be disabled to leave a member repo 100% untouched.
85
+
86
+ 4. **Multi-Repo AI Context Discovery**:
87
+ Root `AGENTS.md` and `.rnex/` govern workspace-wide AI assistant behavior, while AI tools operating at the workspace level inspect `repos/<name>/.rnex/` for member-specific instructions without cluttering root codebases.
94
88
 
95
- 4. **Dynamic Workspace Scope**:
89
+ 5. **Dynamic Workspace Scope**:
96
90
  Easily show or hide member repos from the active workspace without modifying disk contents.
97
91
 
98
92
  ---
@@ -157,25 +151,32 @@ During `rnex init`, the CLI automatically scans for existing AI configuration fi
157
151
  ## Everyday Usage
158
152
 
159
153
  ```bash
160
- # Register a repository (links into scope & auto-injects AI context)
154
+ # Register a repository (links into scope & initializes member .rnex/ directory)
161
155
  rnex add my-app ~/code/my-app
162
156
 
163
- # Inspect workspace status & linked AI files
157
+ # Register a repository with .rnex/ disabled (100% untouched)
158
+ rnex add --no-rnex-dir my-app ~/code/my-app
159
+
160
+ # Inspect workspace health, active repos, and .rnex status
164
161
  rnex status
165
162
 
166
- # List all registered repositories
163
+ # List all registered repositories with scope and .rnex status
167
164
  rnex list
168
165
 
166
+ # Toggle .rnex directory integration for a member repo
167
+ rnex rnex-dir disable my-app
168
+ rnex rnex-dir enable my-app
169
+
169
170
  # Temporarily hide a repo from active indexing/agent scope
170
171
  rnex hide my-app
171
172
 
172
173
  # Restore a hidden repo back to active scope
173
174
  rnex show my-app
174
175
 
175
- # Reconcile/repair all symlinks across all repos (idempotent)
176
+ # Reconcile all scope links, plugins, and member .rnex/ directories
176
177
  rnex sync
177
178
 
178
- # Unregister a repository (removes scope link & cleans up injected AI files)
179
+ # Unregister a repository (removes scope link & member .rnex assets)
179
180
  rnex remove my-app
180
181
  ```
181
182
 
@@ -223,19 +224,12 @@ The `karpathy-llm` plugin packages Andrej Karpathy's verified LLM agent design p
223
224
 
224
225
  ## Workspace Configuration (`rnex.yaml`)
225
226
 
226
- The configuration file defines repo symlink directory, AI context files to sync, enabled plugins, and registered repositories:
227
+ The configuration file defines repo symlink directory, enabled plugins, and registered repositories:
227
228
 
228
229
  ```yaml
229
230
  # Directory for repository symlinks (relative or absolute)
230
231
  repos_dir: ./repos
231
232
 
232
- # AI context files to automatically sync into every member repo
233
- ai_files:
234
- - AGENTS.md
235
- - .github/copilot-instructions.md
236
- # - .cursorrules
237
- # - CLAUDE.md
238
-
239
233
  # Workspace plugins
240
234
  plugins:
241
235
  karpathy-llm:
@@ -246,15 +240,18 @@ repos:
246
240
  backend:
247
241
  path: /Users/dev/code/backend-api
248
242
  scope: visible
243
+ rnex_dir: true # default: true (creates repos/backend/.rnex/)
249
244
  frontend:
250
245
  path: ../web-app
251
246
  scope: visible
247
+ rnex_dir: true
252
248
  analytics:
253
249
  path: /Users/dev/code/analytics
254
250
  scope: hidden
251
+ rnex_dir: false # disabled: leaves analytics repo 100% untouched
255
252
  ```
256
253
 
257
- > See [`docs/rnex.example.yaml`](docs/rnex.example.yaml) for a comprehensive example with all options and supported AI tool configs.
254
+ > See [`docs/rnex.example.yaml`](docs/rnex.example.yaml) for a comprehensive example with all options.
258
255
  > For common questions and architecture details, see the [Frequently Asked Questions (FAQ)](docs/FAQ.md).
259
256
 
260
257
  ---
@@ -273,15 +270,14 @@ repos:
273
270
  |:---|:---|
274
271
  | `rnex init [dir]` | Initialize a new workspace in current (or target) directory |
275
272
  | `rnex install [dir]` | Install `rnex` & `repo-nexus` globally into `~/.local/bin` (or custom dir) |
276
- | `rnex add [-y] <name> <path>` | Register repo, create scope symlink, and sync AI context (prompts to extend existing files) |
277
- | `rnex remove <name>` | Unregister repo, unlink from scope, and clean up injected AI files |
278
- | `rnex list` | List all registered repos and visibility scopes |
279
- | `rnex status` | Display status of AI context files, active member repos, and paths |
273
+ | `rnex add [--no-rnex-dir] <name> <path>` | Register repo, create scope link, and configure member `.rnex/` |
274
+ | `rnex remove <name>` | Unregister repo, unlink scope, and clean up member `.rnex/` assets |
275
+ | `rnex list` | List all registered repos, visibility scopes, and `.rnex` status |
276
+ | `rnex status` | Display status of workspace AI context, active plugins, and member repos |
277
+ | `rnex rnex-dir <enable\|disable> <name>` | Toggle `.rnex/` directory integration for a member repository |
280
278
  | `rnex show <name>` | Make a hidden repo visible in workspace |
281
279
  | `rnex hide <name>` | Hide a repo from active workspace indexing |
282
- | `rnex sync` | Reconcile all scope symlinks and AI context files from config |
283
-
284
- > **Note on Existing AI Files**: Pre-existing files in member repositories are never overwritten. When adding a new repo, `rnex` prompts whether to update existing files and safely extends them with workspace context between managed markers. Pass `-y` / `--yes` to auto-confirm.
280
+ | `rnex sync` | Reconcile all scope symlinks, plugins, and member `.rnex/` directories |
285
281
 
286
282
  ---
287
283
 
@@ -301,28 +297,6 @@ Any command executed with an explicit config file operates within the directory
301
297
 
302
298
  ---
303
299
 
304
- ## Supported AI Configuration Files
305
-
306
- `rnex init` auto-detects these files and includes them in your workspace config:
307
-
308
- | File / Directory | AI Tool |
309
- |:---|:---|
310
- | `AGENTS.md` | Universal AI agent instructions |
311
- | `CLAUDE.md` | Claude Code |
312
- | `.cursorrules` | Cursor |
313
- | `.cursor/rules/` | Cursor (directory) |
314
- | `.windsurfrules` | Windsurf / Codeium |
315
- | `.windsurf/rules/` | Windsurf (directory) |
316
- | `.github/copilot-instructions.md` | GitHub Copilot |
317
- | `.aider.conf.yml` | Aider |
318
- | `CONVENTIONS.md` | Coding conventions |
319
- | `.clinerules` | Cline / Roo Code |
320
- | `CODEX.md` | Codex |
321
- | `.continue/` | Continue.dev |
322
- | `SKILL.md` | Skills (emerging standard) |
323
-
324
- ---
325
-
326
300
  ## Project Structure
327
301
 
328
302
  ```
@@ -338,7 +312,7 @@ repo-nexus/
338
312
  │ ├── workflows/ci.yml # GitHub Actions CI workflow
339
313
  │ └── ISSUE_TEMPLATE/ # Bug report and feature request templates
340
314
  ├── tests/
341
- │ └── test_cli.sh # Automated CLI test suite (21 tests)
315
+ │ └── test_cli.sh # Automated CLI test suite (20 tests)
342
316
  ├── toolkit/ # Shared prompts, scripts, templates
343
317
  ├── package.json # npm package manifest
344
318
  ├── LICENSE # MIT License
@@ -6,5 +6,6 @@ This workspace operates as a **Repo Nexus** linking multiple independent reposit
6
6
 
7
7
  1. **Symlink Write-Through**: Files edited under `repos/<name>/` directly modify the target repository.
8
8
  2. **Repo Boundaries**: Each repository is isolated. Do not introduce cross-repo imports unless explicitly architected.
9
- 3. **Shared Context**: This file is symlinked across member repositories. Keep instructions universal. Use local instructions for repo-specific rules.
10
- 4. **Git Operations**: Commit and push changes directly within the respective member repository root.
9
+ 3. **Shared Context**: This file governs AI assistant behavior across all member repositories. Keep instructions universal. Use local instructions for repo-specific rules.
10
+ 4. **Member Repo RNEX Context**: Member repositories may contain an `.rnex/` directory (accessible via `repos/<name>/.rnex/`) containing repository-specific documents, instructions, rules, workflows, and scripts managed by Repo Nexus. AI assistants operating at the workspace level MUST inspect `repos/<name>/.rnex/` for member-specific context, guidelines, and commands.
11
+ 5. **Git Operations**: Commit and push changes directly within the respective member repository root.
package/docs/FAQ.md CHANGED
@@ -15,7 +15,7 @@ This document answers common questions about **Repo Nexus (`rnex`)**, why it exi
15
15
  - [Why not just use a monorepo or Git submodules?](#why-not-just-use-a-monorepo-or-git-submodules)
16
16
  - [Architecture & Mechanics](#architecture--mechanics)
17
17
  - [How does rnex work without copying files?](#how-does-rnex-work-without-copying-files)
18
- - [What is "Scope In" vs. "Inject Out"?](#what-is-scope-in-vs-inject-out)
18
+ - [How does rnex connect repositories? (Zero-Touch Architecture)](#how-does-rnex-connect-repositories-zero-touch-architecture)
19
19
  - [Can I use Git commands (pull, push, commit) on symlinked repos?](#can-i-use-git-commands-pull-push-commit-on-symlinked-repos)
20
20
  - [Can AI agents create and modify files inside member repos via symlinks?](#can-ai-agents-create-and-modify-files-inside-member-repos-via-symlinks)
21
21
  - [Will rnex interfere with Git branches, remotes, or commit histories?](#will-rnex-interfere-with-git-branches-remotes-or-commit-histories)
@@ -23,10 +23,11 @@ This document answers common questions about **Repo Nexus (`rnex`)**, why it exi
23
23
  - [How does it optimize workspaces for IDEs?](#how-does-it-optimize-workspaces-for-ides)
24
24
  - [How does it support accurate AI context?](#how-does-it-support-accurate-ai-context)
25
25
  - [What is the risk of tool lock-in?](#what-is-the-risk-of-tool-lock-in)
26
- - [Do I need rnex to inject symlinks into my member repos?](#do-i-need-rnex-to-inject-symlinks-into-my-member-repos)
27
- - [How should AI instructions be structured across repos? (Committed files vs. symlinks)](#how-should-ai-instructions-be-structured-across-repos-committed-files-vs-symlinks)
28
- - [What happens if a member repository already has an existing AI configuration file?](#what-happens-if-a-member-repository-already-has-an-existing-ai-configuration-file)
29
- - [Which AI assistants and configuration files are supported?](#which-ai-assistants-and-configuration-files-are-supported)
26
+ - [Does rnex modify or inject loose files into member repositories?](#does-rnex-modify-or-inject-loose-files-into-member-repositories)
27
+ - [What is the member repository .rnex/ directory and how do AI tools use it?](#what-is-the-member-repository-rnex-directory-and-how-do-ai-tools-use-it)
28
+ - [How should AI instructions be structured across repos? (Committed files vs. workspace context)](#how-should-ai-instructions-be-structured-across-repos-committed-files-vs-workspace-context)
29
+ - [Can member repositories maintain their own AI configuration files?](#can-member-repositories-maintain-their-own-ai-configuration-files)
30
+ - [Which AI assistants are supported?](#which-ai-assistants-are-supported)
30
31
  - [How do I prevent AI agents from running out of context or token bloat?](#how-do-i-prevent-ai-agents-from-running-out-of-context-or-token-bloat)
31
32
  - [Platforms & Setup](#platforms--setup)
32
33
  - [What are the system requirements? Does it work on Windows?](#what-are-the-system-requirements-does-it-work-on-windows)
@@ -85,7 +86,7 @@ This creates two major frictions:
85
86
  | :--- | :--- | :--- |
86
87
  | **Git Monorepo** | Heavy migration effort, combined CI/CD pipelines, complex permission management, slow Git checkouts. | **Zero migration**: Repositories remain completely independent with their own remotes, histories, and deployment pipelines. |
87
88
  | **Git Submodules** | Detached HEAD states, tricky merge conflicts, complex multi-step commits, rigid parent-child coupling. | **No Git friction**: Member repositories are linked via filesystem symlinks. Git never tracks other repos as submodules. |
88
- | **Manual Copy-Paste** | AI configuration files rapidly drift out of sync across repositories. | **Auto-synced**: Edit `AGENTS.md` once in the workspace; changes immediately reflect across all member repositories. |
89
+ | **Manual Copy-Paste** | AI configuration files and rules rapidly drift out of sync across repositories. | **Centralized AI Context**: Define instructions once in workspace `AGENTS.md` and `.rnex/`; coding assistants apply them across all linked projects. |
89
90
 
90
91
  ---
91
92
 
@@ -97,14 +98,16 @@ This creates two major frictions:
97
98
 
98
99
  ---
99
100
 
100
- ### What is "Scope In" vs. "Inject Out"?
101
+ ### How does rnex connect repositories? (Zero-Touch Architecture)
101
102
 
102
- `rnex` offers two complementary symlink flows:
103
+ `rnex` uses a clean **Zero-Touch** symlink architecture:
103
104
 
104
- 1. **Scope In (Repos into Workspace)**:
105
- When you run `rnex add <name> <path>`, a symlink is created at `repos/<name>` pointing to the source project directory. Opening the workspace directory in your editor gives you (and your AI assistant) full access to all linked repositories in a single file tree.
106
- 2. **Inject Out (AI Context into Member Repos)**:
107
- Shared configuration files defined in `rnex.yaml` (such as `AGENTS.md`) can be symlinked from the workspace into the root of every member repository. Opening a repository standalone allows standalone IDE windows to discover the shared rules as local files.
105
+ 1. **Workspace Root**:
106
+ When you run `rnex add <name> <path>`, a single symlink is created at `repos/<name>` inside the workspace, pointing directly to the target project directory on disk.
107
+ 2. **Zero Pollution in Member Repos**:
108
+ `rnex` never injects symlinks, modifies existing files, or alters `.gitignore` in your member repositories. Member repositories remain 100% clean and pristine.
109
+ 3. **Unified AI Context**:
110
+ When opening the Repo Nexus workspace in your editor, your AI assistant sees all member repositories under `repos/` in a single file tree, guided by the workspace-level `AGENTS.md` and `.rnex/` configuration.
108
111
 
109
112
  ---
110
113
 
@@ -142,7 +145,7 @@ By defining your multi-repo structure through repo-nexus, it bridges the gap acr
142
145
 
143
146
  ### How does it support accurate AI context?
144
147
 
145
- It serves as an informational metadata layer across repositories. It allows you to synchronize and propagate AI rule parameters, prompt setups, and documentation frameworks (like `.cursorrules`, `AGENTS.md`, or `CLAUDE.md`) globally so that coding assistants see the entire multi-repo architecture as one coherent context.
148
+ It serves as an informational metadata layer across repositories. It allows you to define shared AI rule parameters, guidelines, and documentation frameworks (like `AGENTS.md`, plugin packs, and `.rnex/` instructions) at the workspace level so that coding assistants see the entire multi-repo architecture as one coherent context.
146
149
 
147
150
  ---
148
151
 
@@ -152,61 +155,66 @@ Zero. Because repo-nexus only overlays structural configuration metadata rather
152
155
 
153
156
  ---
154
157
 
155
- ### Do I need rnex to inject symlinks into my member repos?
158
+ ### Does rnex modify or inject loose files into member repositories?
156
159
 
157
- **Not necessarily.** If your primary workflow is opening the Nexus workspace root (or relying on global workstation AI configs), you do **not** need `rnex` to inject symlinks into member repos.
160
+ **No.** Member repository roots remain clean and unpolluted:
161
+ - No loose symlinks, wrapper scripts, or markers are injected into member repository roots.
162
+ - Existing repository files (such as `AGENTS.md` or `.cursorrules`) are never overwritten or altered.
163
+ - No `.gitignore` files inside member repos are touched or modified.
164
+ - All workspace-related documents, rules, workflows, and scripts are strictly encapsulated within a dedicated `.rnex/` directory inside the member repo.
158
165
 
159
- Running in **Zero-Touch Mode** (`ai_files: []` in `rnex.yaml`):
160
- - Keeps member repositories 100% pristine.
161
- - Prevents temporary symlinks or `.gitignore` modifications inside member repos.
162
- - The AI agent will read `AGENTS.md` directly from the workspace root and apply it across all linked projects.
166
+ ---
167
+
168
+ ### What is the member repository .rnex/ directory and how do AI tools use it?
163
169
 
164
- "Inject Out" is only needed if you frequently open individual member repositories standalone in an editor without opening the Nexus workspace, yet still want that standalone window to pick up shared rules.
170
+ By default, Repo Nexus initializes an `.rnex/` folder inside each member repository (`repos/<name>/.rnex/`):
171
+ - **Encapsulated Workspace Data**: Stores documents, instructions, rules, workflows, and scripts related to Repo Nexus for this member repository, preventing any root pollution.
172
+ - **AI Tool Awareness**: AI coding assistants (such as Antigravity, Claude Code, Cursor, Copilot) operating at the Repo Nexus workspace level are instructed via root `AGENTS.md` to inspect `repos/<name>/.rnex/` for repository-specific context, guidelines, and commands.
173
+ - **Enabled by Default**: If `rnex_dir` is omitted for a repository, it evaluates to `true` (enabled by default).
174
+ - **Configurable per repo**: You can enable or disable this setting at any time using `rnex_dir: true|false` in `rnex.yaml`, or via the CLI:
175
+ ```bash
176
+ rnex add --no-rnex-dir <name> <path> # Register repo without .rnex/
177
+ rnex rnex-dir disable <name> # Disable and clean .rnex/
178
+ rnex rnex-dir enable <name> # Re-enable and sync .rnex/
179
+ ```
180
+ When disabled, the member repository is left 100% untouched.
165
181
 
166
182
  ---
167
183
 
168
- ### How should AI instructions be structured across repos? (Committed files vs. symlinks)
184
+ ### How should AI instructions be structured across repos? (Committed files vs. workspace context)
169
185
 
170
186
  The cleanest architecture separates concerns into two distinct layers:
171
187
 
172
188
  1. **Workspace Level (Nexus Root)**:
173
- Contains multi-repo context, cross-service orchestrations, and workspace-wide rules in `AGENTS.md`.
189
+ Contains multi-repo context, cross-service orchestrations, and workspace-wide rules in `AGENTS.md` and `.rnex/`.
174
190
  2. **Member Repo Level (Committed Files)**:
175
- Individual repositories can maintain their own domain-specific AI instructions (e.g., repository `.cursorrules`, `CLAUDE.md`, or component conventions) as **real, first-class files committed to Git**.
191
+ Individual repositories maintain their own domain-specific AI instructions (e.g., repository `.cursorrules`, `CLAUDE.md`, or component conventions) as **real, first-class files committed to Git**.
176
192
 
177
- **Why real committed files are better than injected symlinks for member repos**:
193
+ **Why real committed files are best for member repos**:
178
194
  - **Shared with the Team**: Anyone on the team who clones the repo immediately gets the rules without needing `rnex` or symlinks.
179
195
  - **No Path Fragility**: Symlinks pointing back to an external workspace break if cloned on another computer or Windows. Committed files never break.
180
196
  - **Repository Autonomy**: Each project remains self-documenting and independent.
181
197
 
182
198
  ---
183
199
 
184
- ### What happens if a member repository already has an existing AI configuration file?
200
+ ### Can member repositories maintain their own AI configuration files?
185
201
 
186
- `rnex` will **never replace or overwrite** existing AI files in a member repository.
202
+ **Yes.** Individual repositories can maintain their own domain-specific AI instructions (such as `.cursorrules`, `CLAUDE.md`, or repository-level `AGENTS.md`) as standard, first-class files committed to their own Git history.
187
203
 
188
- When you run `rnex add <name> <path>`, `rnex` detects any pre-existing AI context files (such as `AGENTS.md` or `.cursorrules`) and prompts you whether to update them. If confirmed, `rnex` **extends** the existing file by appending the workspace context enclosed within clearly demarcated markers (`# --- REPO-NEXUS AI CONTEXT ---`).
189
-
190
- This preserves all repository-specific rules while layering universal workspace guidelines on top. Subsequent `rnex sync` calls keep the extended block synchronized without duplicating content or modifying the repository's custom instructions. Pass `-y` / `--yes` to `rnex add` to auto-confirm updating existing files.
204
+ `rnex` never overwrites, modifies, or touches these files. When you add a repository to Repo Nexus, its local configuration remains completely intact.
191
205
 
192
206
  ---
193
207
 
194
- ### Which AI assistants and configuration files are supported?
195
-
196
- `rnex` is tool-agnostic and auto-detects or syncs standard configuration files for:
208
+ ### Which AI assistants are supported?
197
209
 
198
- - **Universal Agents**: `AGENTS.md`
199
- - **Claude Code**: `CLAUDE.md`
200
- - **Cursor**: `.cursorrules`, `.cursor/rules/`
201
- - **Windsurf / Codeium**: `.windsurfrules`, `.windsurf/rules/`
202
- - **GitHub Copilot**: `.github/copilot-instructions.md`
203
- - **Aider**: `.aider.conf.yml`, `CONVENTIONS.md`
204
- - **Cline / Roo Code**: `.clinerules`
205
- - **Codex**: `CODEX.md`
206
- - **Continue.dev**: `.continue/`
207
- - **Skills Standards**: `SKILL.md`
210
+ `rnex` is tool-agnostic. Any AI coding assistant that can open a workspace folder will work seamlessly with Repo Nexus, including:
208
211
 
209
- You can add any custom file or prompt template to the `ai_files` list in `rnex.yaml`.
212
+ - **Universal Agents & Antigravity**: reads root `AGENTS.md`
213
+ - **Claude Code**: reads workspace instructions
214
+ - **Cursor**: indexes all member repositories under `repos/`
215
+ - **Windsurf / Codeium**: indexes active repository symlinks
216
+ - **GitHub Copilot**: provides multi-file completions across linked repositories
217
+ - **Cline / Roo Code / Aider / Codex**: navigates across member repos via `repos/<name>/`
210
218
 
211
219
  ---
212
220
 
@@ -254,7 +262,7 @@ If you move a repository, clone a workspace on a new machine, or notice missing
254
262
  rnex sync
255
263
  ```
256
264
 
257
- This command reconciles all symlinks for member repositories and AI context files defined in `rnex.yaml`, repairing broken links and ensuring your workspace is healthy. To inspect the current status, run:
265
+ This command reconciles all scope symlinks, active plugins, and member `.rnex/` directories defined in `rnex.yaml`, repairing broken links and ensuring your workspace is healthy. To inspect the current status, run:
258
266
 
259
267
  ```bash
260
268
  rnex status
@@ -19,53 +19,16 @@
19
19
 
20
20
  repos_dir: ./repos
21
21
 
22
- # ------------------------------------------------------------------------------
23
- # ai_files — AI context files to auto-sync into member repositories
24
- # ------------------------------------------------------------------------------
25
- # Each file listed here is synced from the workspace root into every
26
- # registered member repository. If a member repository already contains an
27
- # existing file, it is extended (never replaced) with workspace context.
28
- # When adding a new repository, rnex prompts whether to update existing files.
29
- # This keeps AI instructions consistent across all your projects.
30
- #
31
- # Paths are relative to the workspace root (where this config file lives).
32
- # Both files and directories are supported.
33
- #
34
- # Well-known AI configuration files by tool:
35
- # AGENTS.md — Universal AI agent instructions
36
- # CLAUDE.md — Claude Code project instructions
37
- # .cursorrules — Cursor editor rules
38
- # .cursor/rules/ — Cursor rules directory
39
- # .windsurfrules — Windsurf / Codeium rules
40
- # .windsurf/rules/ — Windsurf rules directory
41
- # .github/copilot-instructions.md — GitHub Copilot custom instructions
42
- # .aider.conf.yml — Aider configuration
43
- # CONVENTIONS.md — Coding conventions (Aider / general)
44
- # .clinerules — Cline / Roo Code rules
45
- # CODEX.md — Codex project instructions
46
- # .continue/ — Continue.dev configuration directory
47
- # SKILL.md — Skills definition (emerging standard)
48
-
49
- ai_files:
50
- - AGENTS.md
51
- - .github/copilot-instructions.md
52
- # - .cursorrules
53
- # - CLAUDE.md
54
- # - .windsurfrules
55
- # - CONVENTIONS.md
56
- # - toolkit/prompts/review-checklist.md
57
-
58
22
  # ------------------------------------------------------------------------------
59
23
  # plugins — Workspace plugins and AI instruction packs
60
24
  # ------------------------------------------------------------------------------
61
25
  # Plugins extend your workspace with curated AI guidelines, context rules,
62
- # and scaffolding templates. When enabled, plugin context files are automatically
63
- # synchronized into all registered member repositories during `rnex sync`.
26
+ # and scaffolding templates within the `.rnex/` workspace root directory.
64
27
  #
65
28
  # Manage plugins with:
66
29
  # rnex plugin list # View available and active plugins
67
- # rnex plugin enable <name> # Enable and sync into member repos
68
- # rnex plugin disable <name> # Disable and clean up
30
+ # rnex plugin enable <name> # Enable plugin in workspace
31
+ # rnex plugin disable <name> # Disable plugin from workspace
69
32
  #
70
33
  # Built-in plugins:
71
34
  # karpathy-llm — Andrej Karpathy's agent behavioral principles,
@@ -81,34 +44,43 @@ plugins:
81
44
  # repos — Member repositories managed by Repo Nexus
82
45
  # ------------------------------------------------------------------------------
83
46
  # Each repo has:
84
- # path: Absolute or relative path to the repository on disk.
85
- # Relative paths are resolved relative to this config file.
86
- # scope: "visible" (default) creates a symlink in repos_dir.
87
- # "hidden" removes the symlink but keeps the registration.
47
+ # path: Absolute or relative path to the repository on disk.
48
+ # Relative paths are resolved relative to this config file.
49
+ # scope: "visible" (default) creates a symlink in repos_dir.
50
+ # "hidden" removes the symlink but keeps the registration.
51
+ # rnex_dir: true (default) creates an .rnex/ directory inside the member repo
52
+ # for storing rnex-related documents, rules, workflows, and scripts.
53
+ # Set to false to disable and leave the repository completely untouched.
88
54
  #
89
55
  # Examples with absolute paths:
90
56
  # backend-api:
91
57
  # path: /Users/dev/projects/backend-api
92
58
  # scope: visible
59
+ # rnex_dir: true
93
60
  #
94
61
  # Examples with relative paths:
95
62
  # frontend:
96
63
  # path: ../frontend-app
97
64
  # scope: visible
65
+ # rnex_dir: true
98
66
  #
99
67
  # shared-lib:
100
68
  # path: ../../libs/shared
101
69
  # scope: hidden
70
+ # rnex_dir: false
102
71
 
103
72
  repos:
104
73
  # backend-api:
105
74
  # path: /Users/dev/projects/backend-api
106
75
  # scope: visible
76
+ # rnex_dir: true
107
77
  #
108
78
  # frontend-app:
109
79
  # path: ../frontend-app
110
80
  # scope: visible
81
+ # rnex_dir: true
111
82
  #
112
83
  # analytics:
113
84
  # path: /Users/dev/projects/analytics-service
114
85
  # scope: hidden
86
+ # rnex_dir: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-nexus",
3
- "version": "0.2.11",
3
+ "version": "0.3.0",
4
4
  "description": "Lightweight, zero-dependency companion tool for multi-repo workspaces and shared AI context via symlinks (no git submodules)",
5
5
  "bin": {
6
6
  "repo-nexus": "rnex",