specweave 1.0.488 → 1.0.490

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 (151) hide show
  1. package/README.md +1 -1
  2. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts +13 -5
  3. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +28 -26
  5. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js.map +1 -1
  6. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +14 -0
  7. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -1
  8. package/dist/plugins/specweave-ado/lib/ado-client.js +29 -1
  9. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -1
  10. package/dist/plugins/specweave-ado/lib/ado-pull-sync.d.ts +35 -0
  11. package/dist/plugins/specweave-ado/lib/ado-pull-sync.d.ts.map +1 -0
  12. package/dist/plugins/specweave-ado/lib/ado-pull-sync.js +53 -0
  13. package/dist/plugins/specweave-ado/lib/ado-pull-sync.js.map +1 -0
  14. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.d.ts +46 -0
  15. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.d.ts.map +1 -0
  16. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.js +65 -0
  17. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.js.map +1 -0
  18. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +7 -1
  19. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  20. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +25 -1
  21. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  22. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +17 -1
  23. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -1
  24. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +51 -9
  25. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -1
  26. package/dist/plugins/specweave-github/lib/github-client-v2.js +1 -1
  27. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  28. package/dist/plugins/specweave-github/lib/github-push-sync.d.ts.map +1 -1
  29. package/dist/plugins/specweave-github/lib/github-push-sync.js +15 -3
  30. package/dist/plugins/specweave-github/lib/github-push-sync.js.map +1 -1
  31. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +31 -1
  32. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  33. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +170 -97
  34. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  35. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +36 -1
  36. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  37. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +185 -82
  38. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  39. package/dist/src/adapters/adapter-loader.d.ts.map +1 -1
  40. package/dist/src/adapters/adapter-loader.js +8 -2
  41. package/dist/src/adapters/adapter-loader.js.map +1 -1
  42. package/dist/src/adapters/codex/adapter.d.ts.map +1 -1
  43. package/dist/src/adapters/codex/adapter.js +1 -0
  44. package/dist/src/adapters/codex/adapter.js.map +1 -1
  45. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -1
  46. package/dist/src/adapters/cursor/adapter.js +1 -0
  47. package/dist/src/adapters/cursor/adapter.js.map +1 -1
  48. package/dist/src/adapters/generic/adapter.d.ts +6 -3
  49. package/dist/src/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/src/adapters/generic/adapter.js +53 -47
  51. package/dist/src/adapters/generic/adapter.js.map +1 -1
  52. package/dist/src/adapters/kimi/adapter.d.ts +21 -0
  53. package/dist/src/adapters/kimi/adapter.d.ts.map +1 -0
  54. package/dist/src/adapters/kimi/adapter.js +57 -0
  55. package/dist/src/adapters/kimi/adapter.js.map +1 -0
  56. package/dist/src/adapters/opencode/adapter.d.ts +24 -0
  57. package/dist/src/adapters/opencode/adapter.d.ts.map +1 -0
  58. package/dist/src/adapters/opencode/adapter.js +71 -0
  59. package/dist/src/adapters/opencode/adapter.js.map +1 -0
  60. package/dist/src/adapters/registry.yaml +59 -0
  61. package/dist/src/adapters/trae/adapter.d.ts +21 -0
  62. package/dist/src/adapters/trae/adapter.d.ts.map +1 -0
  63. package/dist/src/adapters/trae/adapter.js +64 -0
  64. package/dist/src/adapters/trae/adapter.js.map +1 -0
  65. package/dist/src/cli/commands/init.d.ts.map +1 -1
  66. package/dist/src/cli/commands/init.js +156 -5
  67. package/dist/src/cli/commands/init.js.map +1 -1
  68. package/dist/src/cli/commands/update-instructions.d.ts.map +1 -1
  69. package/dist/src/cli/commands/update-instructions.js +10 -0
  70. package/dist/src/cli/commands/update-instructions.js.map +1 -1
  71. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  72. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  73. package/dist/src/cli/helpers/init/index.js +2 -0
  74. package/dist/src/cli/helpers/init/index.js.map +1 -1
  75. package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
  76. package/dist/src/cli/helpers/init/next-steps.js +52 -0
  77. package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
  78. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts +24 -0
  79. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts.map +1 -0
  80. package/dist/src/cli/helpers/init/skill-creator-installer.js +54 -0
  81. package/dist/src/cli/helpers/init/skill-creator-installer.js.map +1 -0
  82. package/dist/src/core/ado-description-updater.d.ts +22 -0
  83. package/dist/src/core/ado-description-updater.d.ts.map +1 -0
  84. package/dist/src/core/ado-description-updater.js +46 -0
  85. package/dist/src/core/ado-description-updater.js.map +1 -0
  86. package/dist/src/core/closure-dispatcher.d.ts +96 -0
  87. package/dist/src/core/closure-dispatcher.d.ts.map +1 -0
  88. package/dist/src/core/closure-dispatcher.js +116 -0
  89. package/dist/src/core/closure-dispatcher.js.map +1 -0
  90. package/dist/src/core/config/types.d.ts +2 -0
  91. package/dist/src/core/config/types.d.ts.map +1 -1
  92. package/dist/src/core/config/types.js.map +1 -1
  93. package/dist/src/core/errors/sync-error.d.ts +12 -0
  94. package/dist/src/core/errors/sync-error.d.ts.map +1 -0
  95. package/dist/src/core/errors/sync-error.js +19 -0
  96. package/dist/src/core/errors/sync-error.js.map +1 -0
  97. package/dist/src/core/skill-gen/rule-collector.d.ts +28 -0
  98. package/dist/src/core/skill-gen/rule-collector.d.ts.map +1 -0
  99. package/dist/src/core/skill-gen/rule-collector.js +112 -0
  100. package/dist/src/core/skill-gen/rule-collector.js.map +1 -0
  101. package/dist/src/core/skill-gen/signal-collector.d.ts +2 -1
  102. package/dist/src/core/skill-gen/signal-collector.d.ts.map +1 -1
  103. package/dist/src/core/skill-gen/signal-collector.js +21 -5
  104. package/dist/src/core/skill-gen/signal-collector.js.map +1 -1
  105. package/dist/src/core/sync/persistent-circuit-breaker.d.ts +22 -0
  106. package/dist/src/core/sync/persistent-circuit-breaker.d.ts.map +1 -0
  107. package/dist/src/core/sync/persistent-circuit-breaker.js +65 -0
  108. package/dist/src/core/sync/persistent-circuit-breaker.js.map +1 -0
  109. package/dist/src/core/sync/retry-wrapper.d.ts +13 -0
  110. package/dist/src/core/sync/retry-wrapper.d.ts.map +1 -0
  111. package/dist/src/core/sync/retry-wrapper.js +37 -0
  112. package/dist/src/core/sync/retry-wrapper.js.map +1 -0
  113. package/dist/src/importers/ac-parser.d.ts +27 -0
  114. package/dist/src/importers/ac-parser.d.ts.map +1 -0
  115. package/dist/src/importers/ac-parser.js +47 -0
  116. package/dist/src/importers/ac-parser.js.map +1 -0
  117. package/dist/src/sync/types.d.ts +8 -0
  118. package/dist/src/sync/types.d.ts.map +1 -1
  119. package/dist/src/sync/types.js +12 -0
  120. package/dist/src/sync/types.js.map +1 -1
  121. package/package.json +1 -1
  122. package/plugins/specweave/PLUGIN.md +1 -0
  123. package/plugins/specweave/hooks/v2/guards/increment-existence-guard.sh +9 -3
  124. package/plugins/specweave/skills/code-reviewer/SKILL.md +401 -0
  125. package/plugins/specweave/skills/code-reviewer/agents/reviewer-silent-failures.md +65 -0
  126. package/plugins/specweave/skills/code-reviewer/agents/reviewer-spec-compliance.md +83 -0
  127. package/plugins/specweave/skills/code-reviewer/agents/reviewer-types.md +68 -0
  128. package/plugins/specweave/skills/skill-gen/SKILL.md +20 -3
  129. package/plugins/specweave/skills/team-lead/SKILL.md +155 -4
  130. package/plugins/specweave/skills/team-lead/agents/architect.md +52 -0
  131. package/plugins/specweave/skills/team-lead/agents/pm.md +50 -0
  132. package/plugins/specweave/skills/team-lead/agents/researcher.md +64 -0
  133. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +23 -21
  134. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts +37 -29
  135. package/plugins/specweave-ado/lib/ado-client.js +27 -1
  136. package/plugins/specweave-ado/lib/ado-client.ts +37 -2
  137. package/plugins/specweave-ado/lib/ado-pull-sync.js +35 -0
  138. package/plugins/specweave-ado/lib/ado-pull-sync.ts +74 -0
  139. package/plugins/specweave-ado/lib/ado-rate-limiter.js +56 -0
  140. package/plugins/specweave-ado/lib/ado-rate-limiter.ts +86 -0
  141. package/plugins/specweave-ado/lib/ado-spec-sync.js +25 -1
  142. package/plugins/specweave-ado/lib/ado-spec-sync.ts +32 -2
  143. package/plugins/specweave-ado/lib/ado-status-sync.js +52 -14
  144. package/plugins/specweave-ado/lib/ado-status-sync.ts +64 -16
  145. package/plugins/specweave-github/lib/github-client-v2.ts +1 -1
  146. package/plugins/specweave-github/lib/github-push-sync.js +11 -3
  147. package/plugins/specweave-github/lib/github-push-sync.ts +16 -3
  148. package/plugins/specweave-jira/lib/jira-spec-sync.js +60 -1
  149. package/plugins/specweave-jira/lib/jira-spec-sync.ts +93 -1
  150. package/plugins/specweave-jira/lib/jira-status-sync.js +151 -109
  151. package/plugins/specweave-jira/lib/jira-status-sync.ts +161 -39
@@ -109,24 +109,23 @@ Ready to build with SpecWeave using ANY AI tool!
109
109
  /**
110
110
  * Compile and install a plugin for Generic adapter
111
111
  *
112
- * Appends plugin content to AGENTS.md for manual copy-paste workflows
113
- *
114
- * NEW: Injects system prompts for non-English languages
112
+ * 1. Writes individual skill files to .agents/skills/ via base class helper
113
+ * 2. Appends a concise skills INDEX to AGENTS.md (not full content)
115
114
  *
116
115
  * @param plugin Plugin to install
117
116
  */
118
117
  async compilePlugin(plugin) {
119
118
  const projectPath = process.cwd();
120
119
  const agentsMdPath = path.join(projectPath, 'AGENTS.md');
121
- console.log(`\nšŸ“¦ Adding plugin to AGENTS.md: ${plugin.manifest.name}`);
122
- // Get language configuration for system prompt injection
123
- const language = await this.getLanguageConfig();
124
- if (language !== 'en') {
125
- console.log(` 🌐 Language: ${language} (system prompts will be injected)`);
126
- }
120
+ const skillsDir = '.agents/skills';
121
+ console.log(`\nšŸ“¦ Installing plugin: ${plugin.manifest.name}`);
127
122
  if (!(await fs.pathExists(agentsMdPath))) {
128
123
  throw new Error('AGENTS.md not found. Run specweave init first.');
129
124
  }
125
+ // 1. Write individual skill files to .agents/skills/
126
+ await this.writeSkillFiles(plugin, skillsDir);
127
+ console.log(` āœ“ ${plugin.skills.length} skill(s) written to ${skillsDir}/`);
128
+ // 2. Append concise index to AGENTS.md
130
129
  let agentsMd = await fs.readFile(agentsMdPath, 'utf-8');
131
130
  const pluginMarker = `<!-- Plugin: ${plugin.manifest.name} -->`;
132
131
  if (agentsMd.includes(pluginMarker)) {
@@ -137,47 +136,47 @@ Ready to build with SpecWeave using ANY AI tool!
137
136
  pluginSection += `# Plugin: ${plugin.manifest.name}\n\n`;
138
137
  pluginSection += `${plugin.manifest.description}\n\n`;
139
138
  if (plugin.skills.length > 0) {
140
- pluginSection += `## Skills\n\n`;
139
+ pluginSection += `## Available Skills\n\n`;
140
+ pluginSection += `| Skill | Description |\n`;
141
+ pluginSection += `|-------|-------------|\n`;
141
142
  for (const skill of plugin.skills) {
142
- const skillContent = await fs.readFile(path.join(skill.path, 'SKILL.md'), 'utf-8');
143
- const contentWithoutFrontmatter = skillContent.replace(/^---\n[\s\S]+?\n---\n/, '');
144
- // Inject system prompt if needed
145
- const modifiedContent = this.injectSystemPrompt(contentWithoutFrontmatter, language);
146
- pluginSection += `### ${skill.name}\n\n${modifiedContent}\n\n`;
147
- }
148
- }
149
- if (plugin.agents.length > 0) {
150
- pluginSection += `## Agents\n\n`;
151
- for (const agent of plugin.agents) {
152
- const agentContent = await fs.readFile(path.join(agent.path, 'AGENT.md'), 'utf-8');
153
- // Inject system prompt if needed
154
- const modifiedContent = this.injectSystemPrompt(agentContent, language);
155
- pluginSection += `### ${agent.name}\n\n${modifiedContent}\n\n`;
156
- }
157
- }
158
- if (plugin.commands.length > 0) {
159
- pluginSection += `## Workflows (Manual)\n\n`;
160
- for (const command of plugin.commands) {
161
- const commandContent = await fs.readFile(command.path, 'utf-8');
162
- const contentWithoutFrontmatter = commandContent.replace(/^---\n[\s\S]+?\n---\n/, '');
163
- // Inject system prompt if needed
164
- const modifiedContent = this.injectSystemPrompt(contentWithoutFrontmatter, language);
165
- pluginSection += `### ${command.name.replace('specweave.', '')}\n\n${modifiedContent}\n\n`;
143
+ const desc = skill.description || skill.name;
144
+ pluginSection += `| ${skill.name} | ${desc} |\n`;
166
145
  }
146
+ pluginSection += `\n`;
167
147
  }
148
+ pluginSection += `## CLI Commands\n\n`;
149
+ pluginSection += `All workflows are available via the \`specweave\` CLI:\n\n`;
150
+ pluginSection += `| Command | Description |\n`;
151
+ pluginSection += `|---------|-------------|\n`;
152
+ pluginSection += `| \`specweave create-increment\` | Create a new feature increment |\n`;
153
+ pluginSection += `| \`specweave status\` | Check current progress |\n`;
154
+ pluginSection += `| \`specweave validate\` | Run quality checks |\n`;
155
+ pluginSection += `| \`specweave complete\` | Close an increment |\n`;
156
+ pluginSection += `| \`specweave sync-living-docs\` | Sync documentation |\n`;
157
+ pluginSection += `\n`;
158
+ pluginSection += `## Skill Files\n\n`;
159
+ pluginSection += `Individual skill instructions are installed at \`.agents/skills/\`.\n`;
160
+ pluginSection += `Reference these files when you need detailed workflow instructions.\n\n`;
168
161
  pluginSection += `<!-- End Plugin: ${plugin.manifest.name} -->\n`;
169
162
  agentsMd += pluginSection;
170
163
  await fs.writeFile(agentsMdPath, agentsMd, 'utf-8');
171
- console.log(` āœ“ Added to AGENTS.md (copy-paste workflows)`);
172
- console.log(`\nāœ… Plugin ${plugin.manifest.name} available for manual use!`);
164
+ console.log(` āœ“ Skills index added to AGENTS.md`);
165
+ console.log(`\nāœ… Plugin ${plugin.manifest.name} installed!`);
173
166
  }
174
167
  /**
175
168
  * Unload a plugin from Generic adapter
169
+ *
170
+ * Removes both the AGENTS.md index section and individual skill files.
176
171
  */
177
172
  async unloadPlugin(pluginName) {
178
173
  const projectPath = process.cwd();
179
174
  const agentsMdPath = path.join(projectPath, 'AGENTS.md');
180
- console.log(`\nšŸ—‘ļø Removing plugin from AGENTS.md: ${pluginName}`);
175
+ console.log(`\nšŸ—‘ļø Removing plugin: ${pluginName}`);
176
+ // 1. Remove skill files from .agents/skills/
177
+ await this.removeSkillFiles(pluginName, '.agents/skills');
178
+ console.log(` āœ“ Removed skill files from .agents/skills/`);
179
+ // 2. Remove index section from AGENTS.md
181
180
  if (!(await fs.pathExists(agentsMdPath))) {
182
181
  console.warn(`āš ļø AGENTS.md not found`);
183
182
  return;
@@ -197,26 +196,33 @@ Ready to build with SpecWeave using ANY AI tool!
197
196
  }
198
197
  agentsMd = agentsMd.slice(0, startIndex) + agentsMd.slice(endIndex + endMarker.length);
199
198
  await fs.writeFile(agentsMdPath, agentsMd, 'utf-8');
200
- console.log(` āœ“ Removed from AGENTS.md`);
199
+ console.log(` āœ“ Removed index from AGENTS.md`);
201
200
  console.log(`\nāœ… Plugin ${pluginName} removed!`);
202
201
  }
203
202
  /**
204
203
  * Get list of installed plugins for Generic adapter
204
+ *
205
+ * Checks both AGENTS.md markers and .agents/skills/ directory.
205
206
  */
206
207
  async getInstalledPlugins() {
208
+ const plugins = new Set();
209
+ // 1. Check AGENTS.md markers
207
210
  const projectPath = process.cwd();
208
211
  const agentsMdPath = path.join(projectPath, 'AGENTS.md');
209
- if (!(await fs.pathExists(agentsMdPath))) {
210
- return [];
212
+ if (await fs.pathExists(agentsMdPath)) {
213
+ const agentsMd = await fs.readFile(agentsMdPath, 'utf-8');
214
+ const pluginMarkerRegex = /<!-- Plugin: (specweave-[a-z0-9-]+) -->/g;
215
+ const matches = agentsMd.matchAll(pluginMarkerRegex);
216
+ for (const match of matches) {
217
+ plugins.add(match[1]);
218
+ }
211
219
  }
212
- const agentsMd = await fs.readFile(agentsMdPath, 'utf-8');
213
- const pluginMarkerRegex = /<!-- Plugin: (specweave-[a-z0-9-]+) -->/g;
214
- const matches = agentsMd.matchAll(pluginMarkerRegex);
215
- const plugins = [];
216
- for (const match of matches) {
217
- plugins.push(match[1]);
220
+ // 2. Check .agents/skills/ directory
221
+ const dirPlugins = await this.listInstalledPluginsInDir('.agents/skills');
222
+ for (const p of dirPlugins) {
223
+ plugins.add(p);
218
224
  }
219
- return plugins;
225
+ return Array.from(plugins);
220
226
  }
221
227
  }
222
228
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,qFAAqF,CAAC;QACpG,oBAAe,GAAG,QAAiB,CAAC;IA4OtC,CAAC;IA1OC;;;;;OAKG;IACH,KAAK,CAAC,MAAM;QACV,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAEtE,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwCN,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAExE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,oCAAoC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,YAAY,GAAG,gBAAgB,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,OAAO,YAAY,MAAM,CAAC;QAC9C,aAAa,IAAI,aAAa,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACzD,aAAa,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC;QAEtD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,IAAI,eAAe,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACpF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACrF,aAAa,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,eAAe,MAAM,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,IAAI,eAAe,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACxE,aAAa,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,eAAe,MAAM,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,aAAa,IAAI,2BAA2B,CAAC;YAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChE,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACtF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACrF,aAAa,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,eAAe,MAAM,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,aAAa,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAElE,QAAQ,IAAI,aAAa,CAAC;QAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,gBAAgB,UAAU,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,oBAAoB,UAAU,MAAM,CAAC;QAEvD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,yBAAyB,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,oBAAoB,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACvF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,0CAA0C,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAErD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Kimi CLI Adapter
3
+ */
4
+ import { AdapterBase } from '../adapter-base.js';
5
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
6
+ import type { Plugin } from '../../core/types/plugin.js';
7
+ export declare class KimiAdapter extends AdapterBase {
8
+ name: string;
9
+ description: string;
10
+ automationLevel: "semi";
11
+ detect(): Promise<boolean>;
12
+ getFiles(): AdapterFile[];
13
+ install(options: AdapterOptions): Promise<void>;
14
+ supportsPlugins(): boolean;
15
+ compilePlugin(plugin: Plugin): Promise<void>;
16
+ unloadPlugin(pluginName: string): Promise<void>;
17
+ getInstalledPlugins(): Promise<string[]>;
18
+ postInstall(options: AdapterOptions): Promise<void>;
19
+ getInstructions(): string;
20
+ }
21
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/kimi/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,qBAAa,WAAY,SAAQ,WAAW;IAC1C,IAAI,SAAU;IACd,WAAW,SAA0D;IACrE,eAAe,EAAG,MAAM,CAAU;IAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,QAAQ,IAAI,WAAW,EAAE;IAInB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,eAAe,IAAI,OAAO;IAIpB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,eAAe,IAAI,MAAM;CAQ1B"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Kimi CLI Adapter
3
+ */
4
+ import * as path from 'path';
5
+ import * as fs from '../../utils/fs-native.js';
6
+ import { AdapterBase } from '../adapter-base.js';
7
+ export class KimiAdapter extends AdapterBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'kimi';
11
+ this.description = 'Kimi CLI adapter — skills installed in .kimi/skills/';
12
+ this.automationLevel = 'semi';
13
+ }
14
+ async detect() {
15
+ return await this.commandExists('kimi') || await this.fileExists('.kimi');
16
+ }
17
+ getFiles() {
18
+ return [];
19
+ }
20
+ async install(options) {
21
+ console.log('\nšŸ“¦ Installing Kimi CLI Adapter\n');
22
+ await fs.ensureDir(path.join(options.projectPath, '.kimi/skills'));
23
+ console.log('\n✨ Kimi CLI adapter installed!');
24
+ console.log(' Run `specweave refresh-plugins` to install skills.');
25
+ }
26
+ supportsPlugins() {
27
+ return true;
28
+ }
29
+ async compilePlugin(plugin) {
30
+ const skillsDir = '.kimi/skills';
31
+ console.log(`\nšŸ“¦ Installing plugin skills for Kimi: ${plugin.manifest.name}`);
32
+ await this.writeSkillFiles(plugin, skillsDir);
33
+ console.log(` āœ“ ${plugin.skills.length} skill(s) written to ${skillsDir}/`);
34
+ console.log(`\nāœ… Plugin ${plugin.manifest.name} installed for Kimi!`);
35
+ }
36
+ async unloadPlugin(pluginName) {
37
+ console.log(`\nšŸ—‘ļø Unloading plugin from Kimi: ${pluginName}`);
38
+ await this.removeSkillFiles(pluginName, '.kimi/skills');
39
+ console.log(` āœ“ Removed from .kimi/skills/`);
40
+ console.log(`\nāœ… Plugin ${pluginName} unloaded!`);
41
+ }
42
+ async getInstalledPlugins() {
43
+ return await this.listInstalledPluginsInDir('.kimi/skills');
44
+ }
45
+ async postInstall(options) {
46
+ console.log(this.getInstructions());
47
+ }
48
+ getInstructions() {
49
+ return `
50
+ Kimi CLI Adapter
51
+
52
+ Skills installed in .kimi/skills/.
53
+ Run: specweave refresh-plugins
54
+ `;
55
+ }
56
+ }
57
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/kimi/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,OAAO,WAAY,SAAQ,WAAW;IAA5C;;QACE,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,sDAAsD,CAAC;QACrE,oBAAe,GAAG,MAAe,CAAC;IAoDpC,CAAC;IAlDC,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,SAAS,GAAG,cAAc,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,wBAAwB,SAAS,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO;;;;;KAKN,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * OpenCode Adapter
3
+ *
4
+ * Adapter for OpenCode AI coding tool.
5
+ * Writes skills to .opencode/skills/ for AI discovery.
6
+ */
7
+ import { AdapterBase } from '../adapter-base.js';
8
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
9
+ import type { Plugin } from '../../core/types/plugin.js';
10
+ export declare class OpenCodeAdapter extends AdapterBase {
11
+ name: string;
12
+ description: string;
13
+ automationLevel: "semi";
14
+ detect(): Promise<boolean>;
15
+ getFiles(): AdapterFile[];
16
+ install(options: AdapterOptions): Promise<void>;
17
+ supportsPlugins(): boolean;
18
+ compilePlugin(plugin: Plugin): Promise<void>;
19
+ unloadPlugin(pluginName: string): Promise<void>;
20
+ getInstalledPlugins(): Promise<string[]>;
21
+ postInstall(options: AdapterOptions): Promise<void>;
22
+ getInstructions(): string;
23
+ }
24
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/opencode/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,IAAI,SAAc;IAClB,WAAW,SAA8D;IACzE,eAAe,EAAG,MAAM,CAAU;IAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,QAAQ,IAAI,WAAW,EAAE;IAInB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,eAAe,IAAI,OAAO;IAIpB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,eAAe,IAAI,MAAM;CAmB1B"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * OpenCode Adapter
3
+ *
4
+ * Adapter for OpenCode AI coding tool.
5
+ * Writes skills to .opencode/skills/ for AI discovery.
6
+ */
7
+ import * as path from 'path';
8
+ import * as fs from '../../utils/fs-native.js';
9
+ import { AdapterBase } from '../adapter-base.js';
10
+ export class OpenCodeAdapter extends AdapterBase {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.name = 'opencode';
14
+ this.description = 'OpenCode adapter — skills installed in .opencode/skills/';
15
+ this.automationLevel = 'semi';
16
+ }
17
+ async detect() {
18
+ return await this.commandExists('opencode') || await this.fileExists('.opencode');
19
+ }
20
+ getFiles() {
21
+ return [];
22
+ }
23
+ async install(options) {
24
+ console.log('\nšŸ“¦ Installing OpenCode Adapter\n');
25
+ await fs.ensureDir(path.join(options.projectPath, '.opencode/skills'));
26
+ console.log('\n✨ OpenCode adapter installed!');
27
+ console.log(' Skills will be written to .opencode/skills/');
28
+ }
29
+ supportsPlugins() {
30
+ return true;
31
+ }
32
+ async compilePlugin(plugin) {
33
+ const skillsDir = '.opencode/skills';
34
+ console.log(`\nšŸ“¦ Installing plugin skills for OpenCode: ${plugin.manifest.name}`);
35
+ await this.writeSkillFiles(plugin, skillsDir);
36
+ console.log(` āœ“ ${plugin.skills.length} skill(s) written to ${skillsDir}/`);
37
+ console.log(`\nāœ… Plugin ${plugin.manifest.name} installed for OpenCode!`);
38
+ }
39
+ async unloadPlugin(pluginName) {
40
+ console.log(`\nšŸ—‘ļø Unloading plugin from OpenCode: ${pluginName}`);
41
+ await this.removeSkillFiles(pluginName, '.opencode/skills');
42
+ console.log(` āœ“ Removed from .opencode/skills/`);
43
+ console.log(`\nāœ… Plugin ${pluginName} unloaded!`);
44
+ }
45
+ async getInstalledPlugins() {
46
+ return await this.listInstalledPluginsInDir('.opencode/skills');
47
+ }
48
+ async postInstall(options) {
49
+ console.log(this.getInstructions());
50
+ }
51
+ getInstructions() {
52
+ return `
53
+ OpenCode Adapter
54
+
55
+ Skills installed in .opencode/skills/.
56
+ AGENTS.md contains workflow reference.
57
+
58
+ Quick Start:
59
+ 1. Open your project in OpenCode
60
+ 2. Say: "Create increment for [feature]"
61
+ 3. Use specweave CLI commands for workflow automation
62
+
63
+ Available CLI commands:
64
+ specweave create-increment Create a new increment
65
+ specweave status Check progress
66
+ specweave validate Run quality checks
67
+ specweave complete Close an increment
68
+ `;
69
+ }
70
+ }
71
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/opencode/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAAhD;;QACE,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,0DAA0D,CAAC;QACzE,oBAAe,GAAG,MAAe,CAAC;IA+DpC,CAAC;IA7DC,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACpF,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,+CAA+C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,wBAAwB,SAAS,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;KAgBN,CAAC;IACJ,CAAC;CACF"}
@@ -161,6 +161,21 @@ adapters:
161
161
  market_share: 10%
162
162
  priority: P1
163
163
 
164
+ - name: opencode
165
+ description: "OpenCode adapter - Skills installed in .opencode/skills/"
166
+ automation_level: semi
167
+ status: active
168
+ directory: opencode
169
+ features:
170
+ - .opencode/skills/*.md skill files auto-loaded by OpenCode
171
+ - MCP support for extensibility
172
+ - CLI-based AI coding tool
173
+ requirements:
174
+ - OpenCode CLI installed
175
+ - Node.js >= 18.0.0
176
+ market_share: 5%
177
+ priority: P2
178
+
164
179
  - name: zed
165
180
  description: "Zed adapter - Skills installed in .rules/"
166
181
  automation_level: semi
@@ -231,6 +246,35 @@ adapters:
231
246
  market_share: 5%
232
247
  priority: P2
233
248
 
249
+ - name: kimi
250
+ description: "Kimi CLI adapter - Skills installed in .kimi/skills/"
251
+ automation_level: semi
252
+ status: active
253
+ directory: kimi
254
+ features:
255
+ - .kimi/skills/*.md skill files
256
+ - Moonshot AI coding assistant
257
+ requirements:
258
+ - Kimi CLI installed
259
+ - Node.js >= 18.0.0
260
+ market_share: 5%
261
+ priority: P2
262
+
263
+ - name: trae
264
+ description: "Trae adapter - Skills installed in .trae/rules/"
265
+ automation_level: semi
266
+ status: active
267
+ directory: trae
268
+ features:
269
+ - .trae/rules/*.md skill files
270
+ - ByteDance AI coding assistant
271
+ - MCP support
272
+ requirements:
273
+ - Trae installed
274
+ - Node.js >= 18.0.0
275
+ market_share: 5%
276
+ priority: P2
277
+
234
278
  # Future adapters (P2/P3)
235
279
  future_adapters: []
236
280
 
@@ -245,11 +289,14 @@ capabilities:
245
289
  windsurf: via_rules_folder
246
290
  continue: via_rules_folder
247
291
  cline: via_rules_folder
292
+ opencode: via_rules_folder
248
293
  zed: via_rules_folder
249
294
  amazonq: via_rules_folder
250
295
  jetbrains: via_rules_folder
251
296
  aider: via_rules_folder
252
297
  tabnine: via_rules_folder
298
+ kimi: via_rules_folder
299
+ trae: via_rules_folder
253
300
  generic: via_rules_folder
254
301
 
255
302
  agents:
@@ -261,11 +308,14 @@ capabilities:
261
308
  windsurf: via_agents_md
262
309
  continue: via_agents_md
263
310
  cline: via_agents_md
311
+ opencode: via_agents_md
264
312
  zed: via_agents_md
265
313
  amazonq: via_agents_md
266
314
  jetbrains: via_agents_md
267
315
  aider: via_agents_md
268
316
  tabnine: via_agents_md
317
+ kimi: via_agents_md
318
+ trae: via_agents_md
269
319
  generic: via_agents_md
270
320
 
271
321
  hooks:
@@ -277,11 +327,14 @@ capabilities:
277
327
  windsurf: none
278
328
  continue: none
279
329
  cline: none
330
+ opencode: none
280
331
  zed: none
281
332
  amazonq: none
282
333
  jetbrains: none
283
334
  aider: none
284
335
  tabnine: none
336
+ kimi: none
337
+ trae: none
285
338
  generic: none
286
339
 
287
340
  instruction_file:
@@ -293,11 +346,14 @@ capabilities:
293
346
  windsurf: .windsurf/rules/
294
347
  continue: .continue/rules/
295
348
  cline: .cline/rules/
349
+ opencode: .opencode/skills/
296
350
  zed: .rules/
297
351
  amazonq: .amazonq/rules/
298
352
  jetbrains: .aiassistant/rules/
299
353
  aider: .aider/
300
354
  tabnine: .tabnine/guidelines/
355
+ kimi: .kimi/skills/
356
+ trae: .trae/rules/
301
357
  generic: AGENTS.md
302
358
 
303
359
  context_manifests:
@@ -309,11 +365,14 @@ capabilities:
309
365
  windsurf: manual_reference
310
366
  continue: manual_reference
311
367
  cline: manual_reference
368
+ opencode: manual_reference
312
369
  zed: manual_reference
313
370
  amazonq: manual_reference
314
371
  jetbrains: manual_reference
315
372
  aider: manual_reference
316
373
  tabnine: manual_reference
374
+ kimi: manual_reference
375
+ trae: manual_reference
317
376
  generic: manual_copy_paste
318
377
 
319
378
  # Target market coverage
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Trae Adapter (ByteDance)
3
+ */
4
+ import { AdapterBase } from '../adapter-base.js';
5
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
6
+ import type { Plugin } from '../../core/types/plugin.js';
7
+ export declare class TraeAdapter extends AdapterBase {
8
+ name: string;
9
+ description: string;
10
+ automationLevel: "semi";
11
+ detect(): Promise<boolean>;
12
+ getFiles(): AdapterFile[];
13
+ install(options: AdapterOptions): Promise<void>;
14
+ supportsPlugins(): boolean;
15
+ compilePlugin(plugin: Plugin): Promise<void>;
16
+ unloadPlugin(pluginName: string): Promise<void>;
17
+ getInstalledPlugins(): Promise<string[]>;
18
+ postInstall(options: AdapterOptions): Promise<void>;
19
+ getInstructions(): string;
20
+ }
21
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/trae/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,qBAAa,WAAY,SAAQ,WAAW;IAC1C,IAAI,SAAU;IACd,WAAW,SAAqD;IAChE,eAAe,EAAG,MAAM,CAAU;IAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUhC,QAAQ,IAAI,WAAW,EAAE;IAInB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,eAAe,IAAI,OAAO;IAIpB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,eAAe,IAAI,MAAM;CAQ1B"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Trae Adapter (ByteDance)
3
+ */
4
+ import * as path from 'path';
5
+ import * as fs from '../../utils/fs-native.js';
6
+ import { AdapterBase } from '../adapter-base.js';
7
+ export class TraeAdapter extends AdapterBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'trae';
11
+ this.description = 'Trae adapter — skills installed in .trae/rules/';
12
+ this.automationLevel = 'semi';
13
+ }
14
+ async detect() {
15
+ try {
16
+ const { execSync } = await import('child_process');
17
+ execSync('which trae', { stdio: 'ignore' });
18
+ return true;
19
+ }
20
+ catch {
21
+ return await this.fileExists('.trae');
22
+ }
23
+ }
24
+ getFiles() {
25
+ return [];
26
+ }
27
+ async install(options) {
28
+ console.log('\nšŸ“¦ Installing Trae Adapter\n');
29
+ await fs.ensureDir(path.join(options.projectPath, '.trae/rules'));
30
+ console.log('\n✨ Trae adapter installed!');
31
+ console.log(' Run `specweave refresh-plugins` to install skills.');
32
+ }
33
+ supportsPlugins() {
34
+ return true;
35
+ }
36
+ async compilePlugin(plugin) {
37
+ const rulesDir = '.trae/rules';
38
+ console.log(`\nšŸ“¦ Installing plugin skills for Trae: ${plugin.manifest.name}`);
39
+ await this.writeSkillFiles(plugin, rulesDir);
40
+ console.log(` āœ“ ${plugin.skills.length} skill(s) written to ${rulesDir}/`);
41
+ console.log(`\nāœ… Plugin ${plugin.manifest.name} installed for Trae!`);
42
+ }
43
+ async unloadPlugin(pluginName) {
44
+ console.log(`\nšŸ—‘ļø Unloading plugin from Trae: ${pluginName}`);
45
+ await this.removeSkillFiles(pluginName, '.trae/rules');
46
+ console.log(` āœ“ Removed from .trae/rules/`);
47
+ console.log(`\nāœ… Plugin ${pluginName} unloaded!`);
48
+ }
49
+ async getInstalledPlugins() {
50
+ return await this.listInstalledPluginsInDir('.trae/rules');
51
+ }
52
+ async postInstall(options) {
53
+ console.log(this.getInstructions());
54
+ }
55
+ getInstructions() {
56
+ return `
57
+ Trae Adapter
58
+
59
+ Skills installed in .trae/rules/.
60
+ Run: specweave refresh-plugins
61
+ `;
62
+ }
63
+ }
64
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/trae/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,OAAO,WAAY,SAAQ,WAAW;IAA5C;;QACE,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,iDAAiD,CAAC;QAChE,oBAAe,GAAG,MAAe,CAAC;IA0DpC,CAAC;IAxDC,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,wBAAwB,QAAQ,GAAG,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO;;;;;KAKN,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EACL,KAAK,WAAW,EAoBjB,MAAM,0BAA0B,CAAC;AASlC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,CAU7E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAubf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,EACL,KAAK,WAAW,EAqBjB,MAAM,0BAA0B,CAAC;AASlC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,CAU7E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAuef"}