agent-switchboard 0.2.3 → 0.3.1

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.
Files changed (104) hide show
  1. package/README.md +29 -28
  2. package/dist/agents/registry.d.ts +0 -6
  3. package/dist/agents/registry.js +0 -13
  4. package/dist/agents/registry.js.map +1 -1
  5. package/dist/commands/distribution.d.ts +3 -4
  6. package/dist/commands/distribution.js +18 -116
  7. package/dist/commands/distribution.js.map +1 -1
  8. package/dist/config/application-config.d.ts +1 -1
  9. package/dist/config/application-config.js +2 -10
  10. package/dist/config/application-config.js.map +1 -1
  11. package/dist/config/mcp-config.js +1 -3
  12. package/dist/config/mcp-config.js.map +1 -1
  13. package/dist/config/paths.d.ts +11 -7
  14. package/dist/config/paths.js +29 -9
  15. package/dist/config/paths.js.map +1 -1
  16. package/dist/config/schemas.d.ts +331 -43
  17. package/dist/config/schemas.js +109 -15
  18. package/dist/config/schemas.js.map +1 -1
  19. package/dist/config/switchboard-config.js +0 -1
  20. package/dist/config/switchboard-config.js.map +1 -1
  21. package/dist/extensions/api.d.ts +49 -0
  22. package/dist/extensions/api.js +41 -0
  23. package/dist/extensions/api.js.map +1 -0
  24. package/dist/extensions/loader.d.ts +17 -0
  25. package/dist/extensions/loader.js +73 -0
  26. package/dist/extensions/loader.js.map +1 -0
  27. package/dist/hooks/distribution.js +1 -16
  28. package/dist/hooks/distribution.js.map +1 -1
  29. package/dist/index.js +77 -123
  30. package/dist/index.js.map +1 -1
  31. package/dist/library/distribute-bundle.js +1 -19
  32. package/dist/library/distribute-bundle.js.map +1 -1
  33. package/dist/library/fs.d.ts +12 -0
  34. package/dist/library/fs.js +81 -0
  35. package/dist/library/fs.js.map +1 -1
  36. package/dist/library/sources.d.ts +6 -1
  37. package/dist/library/sources.js +73 -16
  38. package/dist/library/sources.js.map +1 -1
  39. package/dist/rules/agents.d.ts +0 -4
  40. package/dist/rules/agents.js +0 -10
  41. package/dist/rules/agents.js.map +1 -1
  42. package/dist/rules/distribution.d.ts +1 -2
  43. package/dist/rules/distribution.js +20 -79
  44. package/dist/rules/distribution.js.map +1 -1
  45. package/dist/skills/distribution.d.ts +0 -22
  46. package/dist/skills/distribution.js +70 -185
  47. package/dist/skills/distribution.js.map +1 -1
  48. package/dist/skills/importer.js +2 -33
  49. package/dist/skills/importer.js.map +1 -1
  50. package/dist/subagents/codex-distribute.d.ts +13 -0
  51. package/dist/subagents/codex-distribute.js +273 -0
  52. package/dist/subagents/codex-distribute.js.map +1 -0
  53. package/dist/subagents/distribution.d.ts +3 -4
  54. package/dist/subagents/distribution.js +30 -410
  55. package/dist/subagents/distribution.js.map +1 -1
  56. package/dist/targets/builtin/claude-code.d.ts +2 -0
  57. package/dist/targets/builtin/claude-code.js +73 -0
  58. package/dist/targets/builtin/claude-code.js.map +1 -0
  59. package/dist/targets/builtin/claude-desktop.d.ts +2 -0
  60. package/dist/targets/builtin/claude-desktop.js +14 -0
  61. package/dist/targets/builtin/claude-desktop.js.map +1 -0
  62. package/dist/targets/builtin/codex.d.ts +3 -0
  63. package/dist/targets/builtin/codex.js +57 -0
  64. package/dist/targets/builtin/codex.js.map +1 -0
  65. package/dist/targets/builtin/common.d.ts +22 -0
  66. package/dist/targets/builtin/common.js +55 -0
  67. package/dist/targets/builtin/common.js.map +1 -0
  68. package/dist/targets/builtin/cursor.d.ts +2 -0
  69. package/dist/targets/builtin/cursor.js +95 -0
  70. package/dist/targets/builtin/cursor.js.map +1 -0
  71. package/dist/targets/builtin/gemini.d.ts +2 -0
  72. package/dist/targets/builtin/gemini.js +62 -0
  73. package/dist/targets/builtin/gemini.js.map +1 -0
  74. package/dist/targets/builtin/index.d.ts +10 -0
  75. package/dist/targets/builtin/index.js +19 -0
  76. package/dist/targets/builtin/index.js.map +1 -0
  77. package/dist/targets/builtin/opencode.d.ts +2 -0
  78. package/dist/targets/builtin/opencode.js +67 -0
  79. package/dist/targets/builtin/opencode.js.map +1 -0
  80. package/dist/targets/builtin/trae.d.ts +3 -0
  81. package/dist/targets/builtin/trae.js +56 -0
  82. package/dist/targets/builtin/trae.js.map +1 -0
  83. package/dist/targets/dsl/compiler.d.ts +13 -0
  84. package/dist/targets/dsl/compiler.js +215 -0
  85. package/dist/targets/dsl/compiler.js.map +1 -0
  86. package/dist/targets/dsl/index.d.ts +2 -0
  87. package/dist/targets/dsl/index.js +3 -0
  88. package/dist/targets/dsl/index.js.map +1 -0
  89. package/dist/targets/dsl/transforms.d.ts +77 -0
  90. package/dist/targets/dsl/transforms.js +159 -0
  91. package/dist/targets/dsl/transforms.js.map +1 -0
  92. package/dist/targets/init.d.ts +14 -0
  93. package/dist/targets/init.js +28 -0
  94. package/dist/targets/init.js.map +1 -0
  95. package/dist/targets/registry.d.ts +38 -0
  96. package/dist/targets/registry.js +101 -0
  97. package/dist/targets/registry.js.map +1 -0
  98. package/dist/targets/types.d.ts +93 -0
  99. package/dist/targets/types.js +28 -0
  100. package/dist/targets/types.js.map +1 -0
  101. package/dist/ui/plugin-ui.d.ts +1 -1
  102. package/dist/ui/plugin-ui.js +5 -12
  103. package/dist/ui/plugin-ui.js.map +1 -1
  104. package/package.json +1 -1
@@ -7,7 +7,7 @@ import { execFileSync } from 'node:child_process';
7
7
  import fs from 'node:fs';
8
8
  import path from 'node:path';
9
9
  import { updateConfigLayer } from '../config/layered-config.js';
10
- import { getSourceCacheDir } from '../config/paths.js';
10
+ import { getPluginsDir, getSourceCacheDir } from '../config/paths.js';
11
11
  import { loadSwitchboardConfig } from '../config/switchboard-config.js';
12
12
  // ── Git utilities ──────────────────────────────────────────────────
13
13
  function runGit(args, options) {
@@ -103,13 +103,30 @@ function getRawSources() {
103
103
  const config = loadSwitchboardConfig();
104
104
  return config.plugins.sources;
105
105
  }
106
+ /**
107
+ * Resolve the effective local path for a plugin source.
108
+ * - Remote sources (object): resolve to cache dir
109
+ * - Absolute paths: used as-is
110
+ * - Bare names (no `/`, no `~`): resolve to `~/.asb/plugins/<name>/`
111
+ * - Other relative paths: resolve relative to CWD (legacy)
112
+ */
106
113
  function resolveEffectivePath(namespace, value) {
107
- if (typeof value === 'string')
114
+ if (typeof value !== 'string') {
115
+ let effectivePath = getSourceCacheDir(namespace);
116
+ if (value.subdir)
117
+ effectivePath = path.join(effectivePath, value.subdir);
118
+ return effectivePath;
119
+ }
120
+ if (path.isAbsolute(value))
108
121
  return value;
109
- let effectivePath = getSourceCacheDir(namespace);
110
- if (value.subdir)
111
- effectivePath = path.join(effectivePath, value.subdir);
112
- return effectivePath;
122
+ if (value.startsWith('~/')) {
123
+ const home = process.env.HOME ?? process.env.USERPROFILE ?? '';
124
+ return path.join(home, value.slice(2));
125
+ }
126
+ if (!value.includes('/')) {
127
+ return path.join(getPluginsDir(), value);
128
+ }
129
+ return path.resolve(value);
113
130
  }
114
131
  // ── Validation helpers ─────────────────────────────────────────────
115
132
  function validateNamespace(namespace) {
@@ -118,38 +135,76 @@ function validateNamespace(namespace) {
118
135
  }
119
136
  }
120
137
  function ensureNamespaceAvailable(namespace) {
121
- if (hasSource(namespace)) {
138
+ if (namespace in getRawSources()) {
122
139
  throw new Error(`Source "${namespace}" already exists. Use a different name or remove it first.`);
123
140
  }
124
141
  }
142
+ // ── Auto-discovery ─────────────────────────────────────────────────
143
+ /**
144
+ * Discover plugin sources from `~/.asb/plugins/`.
145
+ * Each immediate subdirectory (excluding dotfiles) is treated as a source
146
+ * whose namespace equals the directory name.
147
+ */
148
+ function discoverLocalSources() {
149
+ const pluginsDir = getPluginsDir();
150
+ if (!fs.existsSync(pluginsDir))
151
+ return {};
152
+ const result = {};
153
+ for (const entry of fs.readdirSync(pluginsDir, { withFileTypes: true })) {
154
+ if (entry.name.startsWith('.'))
155
+ continue;
156
+ const isDir = entry.isDirectory() ||
157
+ (entry.isSymbolicLink() && fs.statSync(path.join(pluginsDir, entry.name)).isDirectory());
158
+ if (!isDir)
159
+ continue;
160
+ result[entry.name] = path.join(pluginsDir, entry.name);
161
+ }
162
+ return result;
163
+ }
125
164
  // ── Public API ─────────────────────────────────────────────────────
165
+ /**
166
+ * Get all plugin sources: auto-discovered from `~/.asb/plugins/` merged
167
+ * with explicitly configured `[plugins.<name>] source = "..."` entries. Explicit entries win on conflict.
168
+ */
126
169
  export function getSources() {
170
+ const discovered = discoverLocalSources();
127
171
  const raw = getRawSources();
128
- return Object.entries(raw).map(([namespace, value]) => {
129
- const effectivePath = resolveEffectivePath(namespace, value);
130
- if (typeof value === 'string') {
131
- return { namespace, path: effectivePath };
172
+ const merged = new Map();
173
+ for (const [ns, effectivePath] of Object.entries(discovered)) {
174
+ merged.set(ns, { path: effectivePath });
175
+ }
176
+ for (const [ns, value] of Object.entries(raw)) {
177
+ merged.set(ns, { value, path: resolveEffectivePath(ns, value) });
178
+ }
179
+ return [...merged.entries()].map(([namespace, entry]) => {
180
+ if (entry.value && typeof entry.value !== 'string') {
181
+ return { namespace, path: entry.path, remote: entry.value };
132
182
  }
133
- return { namespace, path: effectivePath, remote: value };
183
+ return { namespace, path: entry.path };
134
184
  });
135
185
  }
136
186
  /**
137
187
  * Get sources as namespace -> effective local path.
138
- * Remote sources are transparently resolved to their cache directory.
188
+ * Merges auto-discovered and explicitly configured sources.
139
189
  */
140
190
  export function getSourcesRecord() {
191
+ const result = discoverLocalSources();
141
192
  const raw = getRawSources();
142
- const result = {};
143
193
  for (const [namespace, value] of Object.entries(raw)) {
144
194
  result[namespace] = resolveEffectivePath(namespace, value);
145
195
  }
146
196
  return result;
147
197
  }
148
198
  export function hasSource(namespace) {
149
- return namespace in getRawSources();
199
+ const raw = getRawSources();
200
+ if (namespace in raw)
201
+ return true;
202
+ const discovered = discoverLocalSources();
203
+ return namespace in discovered;
150
204
  }
151
205
  /**
152
206
  * Add a local directory source.
207
+ * If the path is inside `~/.asb/plugins/<namespace>/`, stores the short name only.
153
208
  */
154
209
  export function addLocalSource(namespace, libraryPath) {
155
210
  const resolvedPath = path.resolve(libraryPath);
@@ -161,13 +216,15 @@ export function addLocalSource(namespace, libraryPath) {
161
216
  }
162
217
  validateNamespace(namespace);
163
218
  ensureNamespaceAvailable(namespace);
219
+ const pluginsChild = path.join(getPluginsDir(), namespace);
220
+ const configValue = resolvedPath === pluginsChild ? namespace : resolvedPath;
164
221
  updateConfigLayer((layer) => ({
165
222
  ...layer,
166
223
  plugins: {
167
224
  ...layer.plugins,
168
225
  sources: {
169
226
  ...(layer.plugins?.sources ?? {}),
170
- [namespace]: resolvedPath,
227
+ [namespace]: configValue,
171
228
  },
172
229
  },
173
230
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/library/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAexE,sEAAsE;AAEtE,SAAS,MAAM,CAAC,IAAc,EAAE,OAA0B;IACxD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,GAAG,OAAO;YACV,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,KAAqC,CAAC;QACxD,MAAM,MAAM,GACV,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YAClC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,SAAiB,EAAE,GAAY;IAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,sEAAsE;AAEtE,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAC3B,8EAA8E,CAC/E,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAmD;YAC7D,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM;YAC1B,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;SAClB,CAAC;QACF,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACpF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,sEAAsE;AAEtE,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,KAAkB;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM;QAAE,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,sEAAsE;AAEtE,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,yDAAyD,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAiB;IACjD,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,4DAA4D,CACjF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;QACpD,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,SAAS,IAAI,aAAa,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,WAAmB;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAEpC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,OAAO,EAAE;gBACP,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBACjC,CAAC,SAAS,CAAC,EAAE,YAAY;aAC1B;SACF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAoB;IACrE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAiB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IACtD,IAAI,MAAM,CAAC,GAAG;QAAE,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM;QAAE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAEtD,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,OAAO,EAAE;gBACP,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBACjC,CAAC,SAAS,CAAC,EAAE,WAAW;aACzB;SACF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7B,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,OAAO,EAAE,UAAU;aACpB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AASD,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAMpD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC1F,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAExC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/library/sources.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
- /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md / .mdc) */
2
- export declare const RULE_SUPPORTED_AGENTS: readonly ["claude-code", "codex", "cursor", "gemini", "opencode", "trae", "trae-cn"];
3
1
  /** Agents that receive individual per-rule files */
4
2
  export declare const RULE_PER_FILE_AGENTS: readonly [];
5
3
  export declare const RULE_INDIRECT_AGENTS: readonly [];
6
4
  export declare const RULE_UNSUPPORTED_AGENTS: readonly ["claude-desktop"];
7
- export type RuleSupportedAgent = (typeof RULE_SUPPORTED_AGENTS)[number];
8
- export type RulePerFileAgent = (typeof RULE_PER_FILE_AGENTS)[number];
@@ -1,13 +1,3 @@
1
- /** Agents that receive a single composed rules file (CLAUDE.md / AGENTS.md / .mdc) */
2
- export const RULE_SUPPORTED_AGENTS = [
3
- 'claude-code',
4
- 'codex',
5
- 'cursor',
6
- 'gemini',
7
- 'opencode',
8
- 'trae',
9
- 'trae-cn',
10
- ];
11
1
  /** Agents that receive individual per-rule files */
12
2
  export const RULE_PER_FILE_AGENTS = [];
13
3
  export const RULE_INDIRECT_AGENTS = [];
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/rules/agents.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa;IACb,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;CACD,CAAC;AAEX,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/rules/agents.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,CAAU,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { ConfigScope } from '../config/scope.js';
2
- import { RULE_SUPPORTED_AGENTS } from './agents.js';
3
2
  import type { ComposedRules } from './composer.js';
4
3
  export type DistributionStatus = 'written' | 'skipped' | 'error';
5
4
  export interface DistributionResult {
@@ -20,5 +19,5 @@ export declare function distributeRules(_composed?: ComposedRules, options?: Dis
20
19
  export declare function listUnsupportedAgents(): string[];
21
20
  export declare function listIndirectAgents(): string[];
22
21
  export declare function listPerFileAgents(): string[];
23
- export declare function resolveRuleFilePath(agent: (typeof RULE_SUPPORTED_AGENTS)[number], scope?: ConfigScope): string;
22
+ export declare function resolveRuleFilePath(agent: string, scope?: ConfigScope): string;
24
23
  export {};
@@ -1,77 +1,25 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- import { getAgentsHome, getClaudeDir, getCodexDir, getCursorDir, getGeminiDir, getOpencodePath, getProjectCursorDir, getProjectTraeDir, getTraeDataDir, } from '../config/paths.js';
4
- import { RULE_INDIRECT_AGENTS, RULE_PER_FILE_AGENTS, RULE_SUPPORTED_AGENTS, RULE_UNSUPPORTED_AGENTS, } from './agents.js';
3
+ import { filterInstalled, getTargetsForSection } from '../targets/registry.js';
4
+ import { RULE_INDIRECT_AGENTS, RULE_PER_FILE_AGENTS, RULE_UNSUPPORTED_AGENTS } from './agents.js';
5
5
  import { composeActiveRulesForApplication } from './composer.js';
6
6
  import { loadRuleLibrary } from './library.js';
7
7
  import { updateRuleState } from './state.js';
8
- function resolveRuleFile(agent, scope) {
9
- const home = getAgentsHome();
10
- const projectRoot = scope?.project?.trim();
11
- switch (agent) {
12
- case 'claude-code':
13
- // Project-level supported conventionally under .claude/CLAUDE.md, else user-level
14
- if (projectRoot && projectRoot.length > 0) {
15
- return path.join(path.resolve(projectRoot), '.claude', 'CLAUDE.md');
16
- }
17
- return path.join(getClaudeDir(), 'CLAUDE.md');
18
- case 'codex':
19
- // Codex supports project-root AGENTS.md; otherwise use CODEX_HOME
20
- if (projectRoot && projectRoot.length > 0) {
21
- return path.join(path.resolve(projectRoot), 'AGENTS.md');
22
- }
23
- return path.join(getCodexDir(), 'AGENTS.md');
24
- case 'gemini':
25
- // Gemini uses AGENTS.md
26
- if (projectRoot && projectRoot.length > 0) {
27
- return path.join(path.resolve(projectRoot), 'AGENTS.md');
28
- }
29
- return path.join(getGeminiDir(), 'AGENTS.md');
30
- case 'cursor':
31
- if (projectRoot && projectRoot.length > 0) {
32
- return path.join(getProjectCursorDir(projectRoot), 'rules', 'asb-rules.mdc');
33
- }
34
- return path.join(getCursorDir(), 'rules', 'asb-rules.mdc');
35
- case 'opencode':
36
- // OpenCode supports project-level AGENTS.md at repository root; otherwise use global.
37
- if (projectRoot && projectRoot.length > 0) {
38
- return path.join(path.resolve(projectRoot), 'AGENTS.md');
39
- }
40
- return getOpencodePath('AGENTS.md');
41
- case 'trae':
42
- case 'trae-cn':
43
- if (projectRoot && projectRoot.length > 0) {
44
- return path.join(getProjectTraeDir(projectRoot), 'rules', 'asb-rules.md');
45
- }
46
- return path.join(getTraeDataDir(agent), 'user_rules', 'asb-rules.md');
47
- default:
48
- return path.join(home, agent, 'AGENTS.md');
49
- }
50
- }
51
8
  function ensureDirectory(filePath) {
52
9
  const dir = path.dirname(filePath);
53
10
  if (!fs.existsSync(dir)) {
54
11
  fs.mkdirSync(dir, { recursive: true });
55
12
  }
56
13
  }
57
- function wrapMdcFrontmatter(body) {
58
- const lines = ['---', 'description: Agent Switchboard Rules', 'alwaysApply: true', '---', ''];
59
- if (body.length > 0) {
60
- lines.push(body);
61
- }
62
- return lines.join('\n');
63
- }
64
14
  const CURSOR_SINGLE_FILE = 'asb-rules.mdc';
65
15
  /**
66
16
  * Remove legacy per-rule .mdc files left by the old Cursor distribution scheme.
67
- * Only deletes files whose basename (minus .mdc) matches a known rule library ID,
68
- * leaving user-created .mdc files and the new single-file untouched.
69
17
  */
70
18
  function cleanupLegacyCursorMdcFiles(scope) {
71
- const projectRoot = scope?.project?.trim();
72
- const targetDir = projectRoot && projectRoot.length > 0
73
- ? path.join(getProjectCursorDir(projectRoot), 'rules')
74
- : path.join(getCursorDir(), 'rules');
19
+ const cursorTarget = getTargetsForSection('rules').find((t) => t.id === 'cursor');
20
+ if (!cursorTarget?.rules)
21
+ return;
22
+ const targetDir = path.dirname(cursorTarget.rules.resolveFilePath(scope));
75
23
  if (!fs.existsSync(targetDir))
76
24
  return;
77
25
  const libraryIds = new Set(loadRuleLibrary().map((r) => r.id));
@@ -94,18 +42,17 @@ export function distributeRules(_composed, options, scope) {
94
42
  const timestamp = new Date().toISOString();
95
43
  const forceRewrite = options?.force === true;
96
44
  const agentSyncUpdates = new Map();
97
- // Track the first composed document for return value (backwards compatibility)
98
45
  let firstComposed = null;
99
- for (const agent of RULE_SUPPORTED_AGENTS) {
100
- // Compose rules for this specific agent (applies per-agent overrides)
46
+ const targets = filterInstalled(getTargetsForSection('rules'));
47
+ for (const target of targets) {
48
+ const handler = target.rules;
49
+ const agent = target.id;
101
50
  const document = composeActiveRulesForApplication(agent, scope);
102
51
  if (!firstComposed) {
103
52
  firstComposed = document;
104
53
  }
105
- const filePath = resolveRuleFile(agent, scope);
106
- const finalContent = agent === 'cursor' || agent === 'trae' || agent === 'trae-cn'
107
- ? wrapMdcFrontmatter(document.content)
108
- : document.content;
54
+ const filePath = handler.resolveFilePath(scope);
55
+ const finalContent = handler.render(document.content);
109
56
  let existingContent = null;
110
57
  try {
111
58
  if (fs.existsSync(filePath)) {
@@ -118,12 +65,7 @@ export function distributeRules(_composed, options, scope) {
118
65
  const hadExistingFile = existingContent !== null;
119
66
  const contentMatches = existingContent !== null && existingContent === finalContent;
120
67
  if (!forceRewrite && contentMatches) {
121
- results.push({
122
- agent,
123
- filePath,
124
- status: 'skipped',
125
- reason: 'up-to-date',
126
- });
68
+ results.push({ agent, filePath, status: 'skipped', reason: 'up-to-date' });
127
69
  agentSyncUpdates.set(agent, { hash: document.hash, updatedAt: timestamp });
128
70
  continue;
129
71
  }
@@ -139,8 +81,6 @@ export function distributeRules(_composed, options, scope) {
139
81
  results.push({ agent, filePath, status: 'error', error: message });
140
82
  }
141
83
  }
142
- // Clean up legacy per-rule .mdc files from the old Cursor distribution scheme.
143
- // The new approach writes a single asb-rules.mdc; old <ruleId>.mdc files are orphans.
144
84
  cleanupLegacyCursorMdcFiles(scope);
145
85
  if (agentSyncUpdates.size > 0) {
146
86
  updateRuleState((current) => {
@@ -148,10 +88,7 @@ export function distributeRules(_composed, options, scope) {
148
88
  for (const [agent, update] of agentSyncUpdates.entries()) {
149
89
  agentSync[agent] = update;
150
90
  }
151
- return {
152
- ...current,
153
- agentSync,
154
- };
91
+ return { ...current, agentSync };
155
92
  }, scope);
156
93
  }
157
94
  return {
@@ -160,7 +97,7 @@ export function distributeRules(_composed, options, scope) {
160
97
  };
161
98
  }
162
99
  // ---------------------------------------------------------------------------
163
- // Public helpers
100
+ // Public helpers (backward compatible)
164
101
  // ---------------------------------------------------------------------------
165
102
  export function listUnsupportedAgents() {
166
103
  return [...RULE_UNSUPPORTED_AGENTS];
@@ -172,6 +109,10 @@ export function listPerFileAgents() {
172
109
  return [...RULE_PER_FILE_AGENTS];
173
110
  }
174
111
  export function resolveRuleFilePath(agent, scope) {
175
- return resolveRuleFile(agent, scope);
112
+ const target = getTargetsForSection('rules').find((t) => t.id === agent);
113
+ if (!target?.rules) {
114
+ throw new Error(`No rules handler for agent: ${agent}`);
115
+ }
116
+ return target.rules.resolveFilePath(scope);
176
117
  }
177
118
  //# sourceMappingURL=distribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/rules/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/rules/distribution.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,14 @@
1
1
  import type { ConfigScope } from '../config/scope.js';
2
2
  import { type BundleDistributionResult } from '../library/distribute-bundle.js';
3
- export type SkillPlatform = 'claude-code' | 'codex' | 'gemini' | 'opencode' | 'cursor' | 'trae' | 'trae-cn';
4
- export declare const SKILL_PLATFORMS: SkillPlatform[];
5
3
  export type SkillTarget = 'claude-code' | 'agents';
6
- export declare const SKILL_TARGETS: SkillTarget[];
7
- /**
8
- * Resolve target directory for a skill on a specific target.
9
- */
10
4
  export declare function resolveSkillTargetDir(target: string, id: string, scope?: ConfigScope): string;
11
5
  export interface SkillDistributionOutcome {
12
6
  results: BundleDistributionResult<string>[];
13
- /** Targets where skills were successfully distributed */
14
7
  successTargets: string[];
15
- /** Total skills written */
16
8
  totalWritten: number;
17
- /** Total skills skipped (up-to-date) */
18
9
  totalSkipped: number;
19
- /** Total errors */
20
10
  totalErrors: number;
21
11
  }
22
- /**
23
- * Distribute active skills to supported targets.
24
- *
25
- * When `useAgentsDir` is true (2-target mode):
26
- * - `claude-code`: uses Claude Code's per-agent active skills
27
- * - `agents`: uses the union of active skills across Codex, Gemini, and OpenCode
28
- * - Legacy platform-specific paths (gemini, opencode) are cleaned up
29
- *
30
- * When `useAgentsDir` is false (default, 4-target mode):
31
- * - Distributes to each platform individually: claude-code, codex, gemini, opencode
32
- * - Only cleans up OpenCode's legacy plural `skills/` path
33
- */
34
12
  export declare function distributeSkills(scope?: ConfigScope, options?: {
35
13
  useAgentsDir?: boolean;
36
14
  }): SkillDistributionOutcome;