agentinit 1.6.0 → 1.8.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.
Files changed (173) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +220 -114
  3. package/dist/agents/Agent.d.ts +44 -0
  4. package/dist/agents/Agent.d.ts.map +1 -1
  5. package/dist/agents/Agent.js +111 -22
  6. package/dist/agents/Agent.js.map +1 -1
  7. package/dist/agents/AiderAgent.d.ts +9 -0
  8. package/dist/agents/AiderAgent.d.ts.map +1 -0
  9. package/dist/agents/AiderAgent.js +135 -0
  10. package/dist/agents/AiderAgent.js.map +1 -0
  11. package/dist/agents/ClaudeAgent.d.ts +4 -0
  12. package/dist/agents/ClaudeAgent.d.ts.map +1 -1
  13. package/dist/agents/ClaudeAgent.js +33 -18
  14. package/dist/agents/ClaudeAgent.js.map +1 -1
  15. package/dist/agents/ClaudeDesktopAgent.d.ts +5 -0
  16. package/dist/agents/ClaudeDesktopAgent.d.ts.map +1 -1
  17. package/dist/agents/ClaudeDesktopAgent.js +31 -1
  18. package/dist/agents/ClaudeDesktopAgent.js.map +1 -1
  19. package/dist/agents/ClineAgent.d.ts +8 -0
  20. package/dist/agents/ClineAgent.d.ts.map +1 -0
  21. package/dist/agents/ClineAgent.js +42 -0
  22. package/dist/agents/ClineAgent.js.map +1 -0
  23. package/dist/agents/CodexCliAgent.d.ts +4 -0
  24. package/dist/agents/CodexCliAgent.d.ts.map +1 -1
  25. package/dist/agents/CodexCliAgent.js +38 -8
  26. package/dist/agents/CodexCliAgent.js.map +1 -1
  27. package/dist/agents/CopilotAgent.d.ts +9 -0
  28. package/dist/agents/CopilotAgent.d.ts.map +1 -0
  29. package/dist/agents/CopilotAgent.js +131 -0
  30. package/dist/agents/CopilotAgent.js.map +1 -0
  31. package/dist/agents/CursorAgent.d.ts +4 -4
  32. package/dist/agents/CursorAgent.d.ts.map +1 -1
  33. package/dist/agents/CursorAgent.js +32 -43
  34. package/dist/agents/CursorAgent.js.map +1 -1
  35. package/dist/agents/DroidAgent.d.ts +5 -0
  36. package/dist/agents/DroidAgent.d.ts.map +1 -1
  37. package/dist/agents/DroidAgent.js +37 -18
  38. package/dist/agents/DroidAgent.js.map +1 -1
  39. package/dist/agents/GeminiCliAgent.d.ts +4 -0
  40. package/dist/agents/GeminiCliAgent.d.ts.map +1 -1
  41. package/dist/agents/GeminiCliAgent.js +37 -8
  42. package/dist/agents/GeminiCliAgent.js.map +1 -1
  43. package/dist/agents/MarkdownRulesAgent.d.ts +13 -0
  44. package/dist/agents/MarkdownRulesAgent.d.ts.map +1 -0
  45. package/dist/agents/MarkdownRulesAgent.js +53 -0
  46. package/dist/agents/MarkdownRulesAgent.js.map +1 -0
  47. package/dist/agents/RooCodeAgent.d.ts +9 -0
  48. package/dist/agents/RooCodeAgent.d.ts.map +1 -0
  49. package/dist/agents/RooCodeAgent.js +131 -0
  50. package/dist/agents/RooCodeAgent.js.map +1 -0
  51. package/dist/agents/WindsurfAgent.d.ts +9 -0
  52. package/dist/agents/WindsurfAgent.d.ts.map +1 -0
  53. package/dist/agents/WindsurfAgent.js +127 -0
  54. package/dist/agents/WindsurfAgent.js.map +1 -0
  55. package/dist/agents/ZedAgent.d.ts +9 -0
  56. package/dist/agents/ZedAgent.d.ts.map +1 -0
  57. package/dist/agents/ZedAgent.js +127 -0
  58. package/dist/agents/ZedAgent.js.map +1 -0
  59. package/dist/cli.js +29992 -11107
  60. package/dist/cli.js.map +1 -1
  61. package/dist/commands/apply.d.ts +10 -0
  62. package/dist/commands/apply.d.ts.map +1 -1
  63. package/dist/commands/apply.js +136 -5
  64. package/dist/commands/apply.js.map +1 -1
  65. package/dist/commands/detect.d.ts.map +1 -1
  66. package/dist/commands/detect.js +25 -0
  67. package/dist/commands/detect.js.map +1 -1
  68. package/dist/commands/init.js +1 -1
  69. package/dist/commands/init.js.map +1 -1
  70. package/dist/commands/mcp.d.ts +2 -7
  71. package/dist/commands/mcp.d.ts.map +1 -1
  72. package/dist/commands/mcp.js +541 -110
  73. package/dist/commands/mcp.js.map +1 -1
  74. package/dist/commands/plugins.d.ts +3 -0
  75. package/dist/commands/plugins.d.ts.map +1 -0
  76. package/dist/commands/plugins.js +309 -0
  77. package/dist/commands/plugins.js.map +1 -0
  78. package/dist/commands/revert.d.ts +7 -0
  79. package/dist/commands/revert.d.ts.map +1 -0
  80. package/dist/commands/revert.js +48 -0
  81. package/dist/commands/revert.js.map +1 -0
  82. package/dist/commands/rules.d.ts +3 -0
  83. package/dist/commands/rules.d.ts.map +1 -0
  84. package/dist/commands/rules.js +354 -0
  85. package/dist/commands/rules.js.map +1 -0
  86. package/dist/commands/skills.d.ts +3 -0
  87. package/dist/commands/skills.d.ts.map +1 -0
  88. package/dist/commands/skills.js +179 -0
  89. package/dist/commands/skills.js.map +1 -0
  90. package/dist/commands/sync.d.ts +1 -0
  91. package/dist/commands/sync.d.ts.map +1 -1
  92. package/dist/commands/sync.js +18 -1
  93. package/dist/commands/sync.js.map +1 -1
  94. package/dist/commands/verifyMcp.d.ts.map +1 -1
  95. package/dist/commands/verifyMcp.js +27 -5
  96. package/dist/commands/verifyMcp.js.map +1 -1
  97. package/dist/constants/index.d.ts +1 -1
  98. package/dist/constants/index.d.ts.map +1 -1
  99. package/dist/constants/index.js +1 -1
  100. package/dist/constants/index.js.map +1 -1
  101. package/dist/constants/mcp.d.ts +1 -0
  102. package/dist/constants/mcp.d.ts.map +1 -1
  103. package/dist/constants/mcp.js +2 -0
  104. package/dist/constants/mcp.js.map +1 -1
  105. package/dist/core/agentDetector.d.ts.map +1 -1
  106. package/dist/core/agentDetector.js +8 -2
  107. package/dist/core/agentDetector.js.map +1 -1
  108. package/dist/core/agentManager.d.ts.map +1 -1
  109. package/dist/core/agentManager.js +12 -0
  110. package/dist/core/agentManager.js.map +1 -1
  111. package/dist/core/gitignoreManager.d.ts +8 -0
  112. package/dist/core/gitignoreManager.d.ts.map +1 -0
  113. package/dist/core/gitignoreManager.js +114 -0
  114. package/dist/core/gitignoreManager.js.map +1 -0
  115. package/dist/core/managedState.d.ts +42 -0
  116. package/dist/core/managedState.d.ts.map +1 -0
  117. package/dist/core/managedState.js +194 -0
  118. package/dist/core/managedState.js.map +1 -0
  119. package/dist/core/mcpClient.d.ts +124 -6
  120. package/dist/core/mcpClient.d.ts.map +1 -1
  121. package/dist/core/mcpClient.js +385 -39
  122. package/dist/core/mcpClient.js.map +1 -1
  123. package/dist/core/pluginManager.d.ts +134 -0
  124. package/dist/core/pluginManager.d.ts.map +1 -0
  125. package/dist/core/pluginManager.js +845 -0
  126. package/dist/core/pluginManager.js.map +1 -0
  127. package/dist/core/projectSkills.d.ts +19 -0
  128. package/dist/core/projectSkills.d.ts.map +1 -0
  129. package/dist/core/projectSkills.js +105 -0
  130. package/dist/core/projectSkills.js.map +1 -0
  131. package/dist/core/propagator.d.ts +8 -1
  132. package/dist/core/propagator.d.ts.map +1 -1
  133. package/dist/core/propagator.js +179 -36
  134. package/dist/core/propagator.js.map +1 -1
  135. package/dist/core/rulesApplicator.d.ts +0 -4
  136. package/dist/core/rulesApplicator.d.ts.map +1 -1
  137. package/dist/core/rulesApplicator.js +8 -39
  138. package/dist/core/rulesApplicator.js.map +1 -1
  139. package/dist/core/rulesTemplateLoader.js +2 -2
  140. package/dist/core/rulesTemplateLoader.js.map +1 -1
  141. package/dist/core/skillsManager.d.ts +61 -0
  142. package/dist/core/skillsManager.d.ts.map +1 -0
  143. package/dist/core/skillsManager.js +407 -0
  144. package/dist/core/skillsManager.js.map +1 -0
  145. package/dist/lib/utils/index.d.ts +3 -1
  146. package/dist/lib/utils/index.d.ts.map +1 -1
  147. package/dist/lib/utils/index.js +4 -1
  148. package/dist/lib/utils/index.js.map +1 -1
  149. package/dist/types/index.d.ts +24 -1
  150. package/dist/types/index.d.ts.map +1 -1
  151. package/dist/types/index.js.map +1 -1
  152. package/dist/types/jsonSchema.d.ts +31 -0
  153. package/dist/types/jsonSchema.d.ts.map +1 -0
  154. package/dist/types/jsonSchema.js +6 -0
  155. package/dist/types/jsonSchema.js.map +1 -0
  156. package/dist/types/plugins.d.ts +161 -0
  157. package/dist/types/plugins.d.ts.map +1 -0
  158. package/dist/types/plugins.js +2 -0
  159. package/dist/types/plugins.js.map +1 -0
  160. package/dist/types/skills.d.ts +50 -0
  161. package/dist/types/skills.d.ts.map +1 -0
  162. package/dist/types/skills.js +2 -0
  163. package/dist/types/skills.js.map +1 -0
  164. package/dist/utils/packageVersion.d.ts +105 -0
  165. package/dist/utils/packageVersion.d.ts.map +1 -0
  166. package/dist/utils/packageVersion.js +219 -0
  167. package/dist/utils/packageVersion.js.map +1 -0
  168. package/package.json +7 -2
  169. package/dist/agentinit-1.6.0.tgz +0 -0
  170. package/dist/registry/mcpRegistry.d.ts +0 -12
  171. package/dist/registry/mcpRegistry.d.ts.map +0 -1
  172. package/dist/registry/mcpRegistry.js +0 -114
  173. package/dist/registry/mcpRegistry.js.map +0 -1
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Package Version Utilities
3
+ *
4
+ * Utilities for extracting package names and versions from command strings
5
+ * and fetching version information from package registries (npm, PyPI).
6
+ */
7
+ import { logger } from './logger.js';
8
+ /**
9
+ * Cache for registry API responses to avoid repeated requests
10
+ * Key: package name, Value: { version: string, timestamp: number }
11
+ */
12
+ const versionCache = new Map();
13
+ const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
14
+ /**
15
+ * Extract explicit version from a package specifier
16
+ *
17
+ * @param packageSpec - Package specification (e.g., "chrome-devtools-mcp@0.7.0")
18
+ * @returns Version string or null if not found
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * extractExplicitVersion("chrome-devtools-mcp@0.7.0") // "0.7.0"
23
+ * extractExplicitVersion("@org/package@1.2.3") // "1.2.3"
24
+ * extractExplicitVersion("package@latest") // null (not explicit)
25
+ * extractExplicitVersion("package") // null (no version)
26
+ * ```
27
+ */
28
+ export function extractExplicitVersion(packageSpec) {
29
+ // Match semantic version patterns: @1.2.3, @1.2.3-beta.1, etc.
30
+ const versionMatch = packageSpec.match(/@([\d]+\.[\d]+\.[\d]+(?:[-+].+)?$)/);
31
+ if (versionMatch && versionMatch[1]) {
32
+ logger.debug(`[extractExplicitVersion] Found explicit version: ${versionMatch[1]} in "${packageSpec}"`);
33
+ return versionMatch[1];
34
+ }
35
+ return null;
36
+ }
37
+ /**
38
+ * Extract package name from a package specifier
39
+ *
40
+ * Strips version tags and handles scoped packages.
41
+ *
42
+ * @param packageSpec - Package specification with or without version
43
+ * @returns Clean package name
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * extractPackageName("chrome-devtools-mcp@latest") // "chrome-devtools-mcp"
48
+ * extractPackageName("@modelcontextprotocol/server@1.0.0") // "@modelcontextprotocol/server"
49
+ * extractPackageName("package") // "package"
50
+ * ```
51
+ */
52
+ export function extractPackageName(packageSpec) {
53
+ // Remove version specifiers (@1.2.3, @latest, @next, etc.)
54
+ return packageSpec
55
+ .replace(/@[\d]+\.[\d]+\.[\d]+(?:[-+].+)?$/, '') // Remove semantic versions
56
+ .replace(/@latest$/, '') // Remove @latest
57
+ .replace(/@next$/, '') // Remove @next
58
+ .replace(/@canary$/, ''); // Remove @canary
59
+ }
60
+ /**
61
+ * Extract package information from a command and its arguments
62
+ *
63
+ * Handles various package managers and command formats:
64
+ * - npx, bunx, pnpm dlx
65
+ * - With or without -y flag
66
+ * - Scoped and unscoped packages
67
+ * - Version specifiers (@version, @latest)
68
+ *
69
+ * @param command - Command being executed (e.g., "npx", "bunx")
70
+ * @param args - Command arguments array
71
+ * @returns Package name/specifier or null if not found
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * extractPackageFromCommand("npx", ["-y", "chrome-devtools-mcp@latest"])
76
+ * // "chrome-devtools-mcp@latest"
77
+ *
78
+ * extractPackageFromCommand("bunx", ["@modelcontextprotocol/server-everything"])
79
+ * // "@modelcontextprotocol/server-everything"
80
+ * ```
81
+ */
82
+ export function extractPackageFromCommand(command, args) {
83
+ if (!command || !args || args.length === 0) {
84
+ return null;
85
+ }
86
+ // Only handle package manager commands
87
+ const packageManagers = ['npx', 'bunx', 'pnpm', 'yarn'];
88
+ if (!packageManagers.includes(command)) {
89
+ logger.debug(`[extractPackageFromCommand] Not a package manager command: ${command}`);
90
+ return null;
91
+ }
92
+ // Skip flags and find the first package-like argument
93
+ for (const arg of args) {
94
+ // Skip flags
95
+ if (arg.startsWith('-')) {
96
+ continue;
97
+ }
98
+ // Skip special pnpm/yarn subcommands
99
+ if (arg === 'dlx' || arg === 'exec') {
100
+ continue;
101
+ }
102
+ // Check if looks like a package name
103
+ // Scoped: @scope/package or @scope/package@version
104
+ // Unscoped: package or package@version
105
+ // Allow letters, numbers, hyphens, and underscores
106
+ const packagePattern = /^(@[a-z0-9-]+\/)?[a-z0-9_-]+(@[\w.-]+)?$/i;
107
+ if (packagePattern.test(arg)) {
108
+ logger.debug(`[extractPackageFromCommand] Found package: ${arg}`);
109
+ return arg;
110
+ }
111
+ }
112
+ logger.debug(`[extractPackageFromCommand] No package found in args: ${args.join(' ')}`);
113
+ return null;
114
+ }
115
+ /**
116
+ * Fetch the latest version of an npm package from the registry
117
+ *
118
+ * Uses in-memory caching to avoid repeated API calls. Handles network
119
+ * errors and invalid package names gracefully.
120
+ *
121
+ * @param packageSpec - Package name or specification
122
+ * @param options - Fetch options
123
+ * @param options.timeout - Request timeout in milliseconds (default: 5000)
124
+ * @param options.useCache - Whether to use cached results (default: true)
125
+ * @returns Version string or null if not found
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const version = await fetchLatestVersion("chrome-devtools-mcp");
130
+ * // "0.7.0"
131
+ *
132
+ * const version = await fetchLatestVersion("@modelcontextprotocol/server-everything");
133
+ * // "0.6.2"
134
+ * ```
135
+ */
136
+ export async function fetchLatestVersion(packageSpec, options = {}) {
137
+ const { timeout = 5000, useCache = true } = options;
138
+ // First, check for explicit version in the package spec
139
+ const explicitVersion = extractExplicitVersion(packageSpec);
140
+ if (explicitVersion) {
141
+ return explicitVersion;
142
+ }
143
+ // Clean the package name (remove @latest, @next, etc.)
144
+ const cleanPackageName = extractPackageName(packageSpec);
145
+ // Check cache first
146
+ if (useCache) {
147
+ const cached = versionCache.get(cleanPackageName);
148
+ if (cached && Date.now() - cached.timestamp < CACHE_TTL_MS) {
149
+ logger.debug(`[fetchLatestVersion] Cache hit for: ${cleanPackageName} -> ${cached.version}`);
150
+ return cached.version;
151
+ }
152
+ }
153
+ try {
154
+ logger.debug(`[fetchLatestVersion] Fetching from npm registry: ${cleanPackageName}`);
155
+ // Create abort controller for timeout
156
+ const controller = new AbortController();
157
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
158
+ const url = `https://registry.npmjs.org/${cleanPackageName}/latest`;
159
+ const response = await fetch(url, {
160
+ headers: { Accept: 'application/json' },
161
+ signal: controller.signal,
162
+ });
163
+ clearTimeout(timeoutId);
164
+ if (!response.ok) {
165
+ logger.debug(`[fetchLatestVersion] npm registry returned ${response.status} for ${cleanPackageName}`);
166
+ return null;
167
+ }
168
+ const data = await response.json();
169
+ if (!data.version) {
170
+ logger.debug(`[fetchLatestVersion] No version field in response for ${cleanPackageName}`);
171
+ return null;
172
+ }
173
+ // Cache the result
174
+ versionCache.set(cleanPackageName, {
175
+ version: data.version,
176
+ timestamp: Date.now(),
177
+ });
178
+ logger.debug(`[fetchLatestVersion] Success: ${cleanPackageName}@${data.version}`);
179
+ return data.version;
180
+ }
181
+ catch (error) {
182
+ if (error instanceof Error) {
183
+ if (error.name === 'AbortError') {
184
+ logger.debug(`[fetchLatestVersion] Timeout fetching version for ${cleanPackageName}`);
185
+ }
186
+ else {
187
+ logger.debug(`[fetchLatestVersion] Error fetching version: ${error.message}`);
188
+ }
189
+ }
190
+ return null;
191
+ }
192
+ }
193
+ /**
194
+ * Clear the version cache
195
+ *
196
+ * Useful for testing or when you want to force fresh registry lookups.
197
+ */
198
+ export function clearVersionCache() {
199
+ versionCache.clear();
200
+ logger.debug('[clearVersionCache] Cache cleared');
201
+ }
202
+ /**
203
+ * Get cache statistics
204
+ *
205
+ * @returns Object with cache size and entry details
206
+ */
207
+ export function getVersionCacheStats() {
208
+ const now = Date.now();
209
+ const entries = Array.from(versionCache.entries()).map(([pkg, data]) => ({
210
+ package: pkg,
211
+ version: data.version,
212
+ age: now - data.timestamp,
213
+ }));
214
+ return {
215
+ size: versionCache.size,
216
+ entries,
217
+ };
218
+ }
219
+ //# sourceMappingURL=packageVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../../src/utils/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkD,CAAC;AAC/E,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,+DAA+D;IAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAE7E,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,oDAAoD,YAAY,CAAC,CAAC,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC;QACxG,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,2DAA2D;IAC3D,OAAO,WAAW;SACf,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAE,2BAA2B;SAC5E,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAA4B,iBAAiB;SACpE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAA8B,eAAe;SAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAA2B,iBAAiB;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA2B,EAC3B,IAA0B;IAE1B,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,8DAA8D,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,aAAa;QACb,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,mDAAmD;QACnD,uCAAuC;QACvC,mDAAmD;QACnD,MAAM,cAAc,GAAG,2CAA2C,CAAC;QAEnE,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;YAClE,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,UAAoD,EAAE;IAEtD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEpD,wDAAwD;IACxD,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEzD,oBAAoB;IACpB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,uCAAuC,gBAAgB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,oDAAoD,gBAAgB,EAAE,CAAC,CAAC;QAErF,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,8BAA8B,gBAAgB,SAAS,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,QAAQ,gBAAgB,EAAE,CAAC,CAAC;YACtG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0B,CAAC;QAE3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,yDAAyD,gBAAgB,EAAE,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,iCAAiC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC;IAEtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,OAAO;KACR,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "agentinit",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "description": "CLI tool and library for managing AI coding agents and verifying MCP servers",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/agentinit/agentinit.git"
8
+ },
5
9
  "main": "dist/index.js",
6
10
  "types": "dist/index.d.ts",
7
11
  "type": "module",
@@ -62,6 +66,7 @@
62
66
  ],
63
67
  "dependencies": {
64
68
  "@iarna/toml": "^2.2.5",
69
+ "@inquirer/prompts": "^8.3.2",
65
70
  "@modelcontextprotocol/sdk": "^1.18.0",
66
71
  "commander": "^12.1.0",
67
72
  "contextcalc": "^1.3.5",
@@ -79,7 +84,7 @@
79
84
  "@types/node": "^22.18.5",
80
85
  "@types/prompts": "^2.4.9",
81
86
  "@vitest/ui": "^3.2.4",
82
- "semantic-release": "^24.2.7",
87
+ "semantic-release": "^25.0.3",
83
88
  "typescript": "^5.6.3",
84
89
  "vitest": "^3.2.4"
85
90
  },
Binary file
@@ -1,12 +0,0 @@
1
- import type { MCPItem } from '../types/index.js';
2
- export declare class MCPRegistryManager {
3
- private readonly registry;
4
- getMCPs(): MCPItem[];
5
- searchMCPs(query: string): MCPItem[];
6
- getMCPsByCategory(category: string): MCPItem[];
7
- getMCPsForStack(stack: string): MCPItem[];
8
- getTopMCPs(limit?: number): MCPItem[];
9
- getMCPByName(name: string): MCPItem | undefined;
10
- getCategories(): string[];
11
- }
12
- //# sourceMappingURL=mcpRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/mcpRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAE9D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAmFvB;IAEF,OAAO,IAAI,OAAO,EAAE;IAIpB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IASpC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IAI9C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IAMzC,UAAU,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,EAAE;IAMxC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,aAAa,IAAI,MAAM,EAAE;CAI1B"}
@@ -1,114 +0,0 @@
1
- export class MCPRegistryManager {
2
- registry = {
3
- mcps: [
4
- {
5
- name: 'playwright',
6
- category: 'testing',
7
- description: 'E2E testing and browser automation',
8
- stackCompatibility: ['javascript', 'typescript'],
9
- installCommand: 'npm install -D @playwright/test',
10
- agentInstructions: 'Use Playwright for E2E testing. Run tests with `npx playwright test`. Always write comprehensive tests that cover user workflows.',
11
- popularity: 9500,
12
- verified: true
13
- },
14
- {
15
- name: 'context7',
16
- category: 'documentation',
17
- description: 'Fetch and analyze documentation from URLs',
18
- stackCompatibility: ['javascript', 'typescript', 'python', 'rust', 'go'],
19
- installCommand: 'npm install -g @context7/cli',
20
- agentInstructions: 'Use Context7 to fetch latest documentation. Always reference official docs when implementing features.',
21
- popularity: 7200,
22
- verified: true
23
- },
24
- {
25
- name: '21st.dev',
26
- category: 'ui',
27
- description: 'UI component registry and design system tools',
28
- stackCompatibility: ['javascript', 'typescript'],
29
- installCommand: 'npm install @21st/components',
30
- agentInstructions: 'Use 21st.dev components for consistent UI. Follow the design system guidelines and accessibility standards.',
31
- popularity: 6800,
32
- verified: true
33
- },
34
- {
35
- name: 'sequential-thinking',
36
- category: 'quality',
37
- description: 'Enhanced AI reasoning and step-by-step problem solving',
38
- stackCompatibility: ['javascript', 'typescript', 'python', 'rust', 'go'],
39
- installCommand: 'npm install -g @sequential/thinking',
40
- agentInstructions: 'Use sequential thinking for complex problems. Break down tasks into logical steps and validate each step.',
41
- popularity: 8900,
42
- verified: true
43
- },
44
- {
45
- name: 'agent-warden',
46
- category: 'quality',
47
- description: 'Prevent common AI coding mistakes and enforce best practices',
48
- stackCompatibility: ['javascript', 'typescript', 'python', 'rust', 'go'],
49
- installCommand: 'npm install -g @warden/agent',
50
- agentInstructions: 'Agent Warden will monitor for anti-patterns. Always follow the warnings and suggestions it provides.',
51
- popularity: 5400,
52
- verified: true
53
- },
54
- {
55
- name: 'supabase-mcp',
56
- category: 'database',
57
- description: 'Supabase database integration and management',
58
- stackCompatibility: ['javascript', 'typescript'],
59
- installCommand: 'npm install @supabase/mcp',
60
- agentInstructions: 'Use Supabase MCP for database operations. Always use proper RLS policies and type-safe queries.',
61
- popularity: 7800,
62
- verified: true
63
- },
64
- {
65
- name: 'git-mcp',
66
- category: 'version-control',
67
- description: 'Enhanced Git operations and workflow automation',
68
- stackCompatibility: ['javascript', 'typescript', 'python', 'rust', 'go'],
69
- installCommand: 'npm install -g @git/mcp',
70
- agentInstructions: 'Use Git MCP for advanced version control. Always create meaningful commits and follow branch conventions.',
71
- popularity: 8200,
72
- verified: true
73
- },
74
- {
75
- name: 'docker-mcp',
76
- category: 'devops',
77
- description: 'Docker container management and optimization',
78
- stackCompatibility: ['javascript', 'typescript', 'python', 'rust', 'go'],
79
- installCommand: 'npm install -g @docker/mcp',
80
- agentInstructions: 'Use Docker MCP for containerization. Always optimize for security and performance.',
81
- popularity: 6900,
82
- verified: true
83
- }
84
- ]
85
- };
86
- getMCPs() {
87
- return this.registry.mcps;
88
- }
89
- searchMCPs(query) {
90
- const lowercaseQuery = query.toLowerCase();
91
- return this.registry.mcps.filter(mcp => mcp.name.toLowerCase().includes(lowercaseQuery) ||
92
- mcp.description.toLowerCase().includes(lowercaseQuery) ||
93
- mcp.category.toLowerCase().includes(lowercaseQuery));
94
- }
95
- getMCPsByCategory(category) {
96
- return this.registry.mcps.filter(mcp => mcp.category === category);
97
- }
98
- getMCPsForStack(stack) {
99
- return this.registry.mcps.filter(mcp => mcp.stackCompatibility.includes(stack));
100
- }
101
- getTopMCPs(limit = 5) {
102
- return this.registry.mcps
103
- .sort((a, b) => b.popularity - a.popularity)
104
- .slice(0, limit);
105
- }
106
- getMCPByName(name) {
107
- return this.registry.mcps.find(mcp => mcp.name === name);
108
- }
109
- getCategories() {
110
- const categories = new Set(this.registry.mcps.map(mcp => mcp.category));
111
- return Array.from(categories).sort();
112
- }
113
- }
114
- //# sourceMappingURL=mcpRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpRegistry.js","sourceRoot":"","sources":["../../src/registry/mcpRegistry.ts"],"names":[],"mappings":"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"}