agentinit 1.7.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 (148) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +127 -104
  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 +30587 -11981
  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 +134 -3
  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.js +1 -1
  95. package/dist/commands/verifyMcp.js.map +1 -1
  96. package/dist/core/agentDetector.d.ts.map +1 -1
  97. package/dist/core/agentDetector.js +8 -2
  98. package/dist/core/agentDetector.js.map +1 -1
  99. package/dist/core/agentManager.d.ts.map +1 -1
  100. package/dist/core/agentManager.js +12 -0
  101. package/dist/core/agentManager.js.map +1 -1
  102. package/dist/core/gitignoreManager.d.ts +8 -0
  103. package/dist/core/gitignoreManager.d.ts.map +1 -0
  104. package/dist/core/gitignoreManager.js +114 -0
  105. package/dist/core/gitignoreManager.js.map +1 -0
  106. package/dist/core/managedState.d.ts +42 -0
  107. package/dist/core/managedState.d.ts.map +1 -0
  108. package/dist/core/managedState.js +194 -0
  109. package/dist/core/managedState.js.map +1 -0
  110. package/dist/core/pluginManager.d.ts +134 -0
  111. package/dist/core/pluginManager.d.ts.map +1 -0
  112. package/dist/core/pluginManager.js +845 -0
  113. package/dist/core/pluginManager.js.map +1 -0
  114. package/dist/core/projectSkills.d.ts +19 -0
  115. package/dist/core/projectSkills.d.ts.map +1 -0
  116. package/dist/core/projectSkills.js +105 -0
  117. package/dist/core/projectSkills.js.map +1 -0
  118. package/dist/core/propagator.d.ts +8 -1
  119. package/dist/core/propagator.d.ts.map +1 -1
  120. package/dist/core/propagator.js +179 -36
  121. package/dist/core/propagator.js.map +1 -1
  122. package/dist/core/rulesApplicator.d.ts +0 -4
  123. package/dist/core/rulesApplicator.d.ts.map +1 -1
  124. package/dist/core/rulesApplicator.js +8 -39
  125. package/dist/core/rulesApplicator.js.map +1 -1
  126. package/dist/core/rulesTemplateLoader.js +2 -2
  127. package/dist/core/rulesTemplateLoader.js.map +1 -1
  128. package/dist/core/skillsManager.d.ts +61 -0
  129. package/dist/core/skillsManager.d.ts.map +1 -0
  130. package/dist/core/skillsManager.js +407 -0
  131. package/dist/core/skillsManager.js.map +1 -0
  132. package/dist/types/index.d.ts +14 -0
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/index.js.map +1 -1
  135. package/dist/types/plugins.d.ts +161 -0
  136. package/dist/types/plugins.d.ts.map +1 -0
  137. package/dist/types/plugins.js +2 -0
  138. package/dist/types/plugins.js.map +1 -0
  139. package/dist/types/skills.d.ts +50 -0
  140. package/dist/types/skills.d.ts.map +1 -0
  141. package/dist/types/skills.js +2 -0
  142. package/dist/types/skills.js.map +1 -0
  143. package/package.json +7 -2
  144. package/dist/agentinit-1.7.0.tgz +0 -0
  145. package/dist/registry/mcpRegistry.d.ts +0 -12
  146. package/dist/registry/mcpRegistry.d.ts.map +0 -1
  147. package/dist/registry/mcpRegistry.js +0 -114
  148. package/dist/registry/mcpRegistry.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ # [1.8.0](https://github.com/agentinit/agentinit/compare/v1.7.0...v1.8.0) (2026-03-29)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * cicd ([1be823d](https://github.com/agentinit/agentinit/commit/1be823d97966ffabdb0dab7c1d1601422e3f0be3))
7
+ * **ci:** switch to npm trusted publishing with OIDC ([4434bb9](https://github.com/agentinit/agentinit/commit/4434bb9bd3708989ce31e31cb67c158bb59817ae))
8
+ * **ci:** upgrade semantic-release to v25 for OIDC support ([b05b81c](https://github.com/agentinit/agentinit/commit/b05b81c5b700f09440c476eca0736371eba9e241))
9
+ * **mcp:** pass verification timeout as options ([58e3e06](https://github.com/agentinit/agentinit/commit/58e3e064c216fdf127df930382858009019f8bca))
10
+ * **plugins:** avoid stale installs and temp skill leaks ([41bb185](https://github.com/agentinit/agentinit/commit/41bb185e3452fa0cae5f227c3455708eea83c5a5))
11
+ * **plugins:** require explicit marketplace for search ([8e500af](https://github.com/agentinit/agentinit/commit/8e500af9d09aa90e14e44e38e4da9f41d05cf541))
12
+ * **plugins:** require explicit marketplace prefixes ([4c6ba54](https://github.com/agentinit/agentinit/commit/4c6ba542fe07e3e6b687c9abc1ea18f09e51ff06))
13
+
14
+
15
+ ### Features
16
+
17
+ * add project apply workflow with managed rollback ([f9e9616](https://github.com/agentinit/agentinit/commit/f9e96163fcdb95217ecdd5de364da890f4499f22))
18
+ * **cli:** split agent config into dedicated commands ([59b3726](https://github.com/agentinit/agentinit/commit/59b3726523dedb7b7684a97ea06c0883fd133e1b))
19
+
20
+ ## Unreleased
21
+
22
+ ### Bug Fixes
23
+
24
+ * fix plugin scope handling for global MCP installs/removals and targeted removals
25
+ * update docs and onboarding to the `mcp add|verify`, `rules add`, and `skills add` command model
26
+
1
27
  # [1.7.0](https://github.com/agentinit/agentinit/compare/v1.6.0...v1.7.0) (2025-10-17)
2
28
 
3
29
 
package/README.md CHANGED
@@ -9,8 +9,9 @@ AgentInit transforms AI agent configuration from a fragmented, manual process in
9
9
  - **🤖 Universal Agent Configuration**: Unified `agents.md` file that syncs with all major AI coding agents
10
10
  - **🔍 Smart Stack Detection**: Automatically detects project language, framework, and tools
11
11
  - **🔄 Bidirectional Sync**: Keep agent configurations in sync across Claude, Cursor, Windsurf, and more
12
- - **📦 MCP Management**: Interactive installation and management of Model Context Protocol tools
12
+ - **📦 MCP Management**: Configure, inspect, and verify Model Context Protocol servers
13
13
  - **📋 Rules Templates**: Apply coding best practices with predefined rule templates (Git, testing, docs, linting)
14
+ - **🔌 Plugin Marketplace**: Install portable skills and MCP bundles from explicit marketplace sources
14
15
  - **⚙️ Project Templates**: Pre-built templates for web apps, CLI tools, libraries, and more
15
16
  - **🎯 Stack-Aware Guidance**: Customized instructions based on your technology stack
16
17
 
@@ -35,8 +36,12 @@ agentinit detect
35
36
  # Sync agents.md with agent-specific files
36
37
  agentinit sync
37
38
 
38
- # Install MCPs interactively
39
- agentinit mcp --interactive
39
+ # Apply project-owned agent files, skills, and ignore management
40
+ agentinit apply
41
+
42
+ # Add and verify an MCP server
43
+ agentinit mcp add --verify \
44
+ --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"
40
45
  ```
41
46
 
42
47
  ## 📋 Commands
@@ -77,139 +82,148 @@ Sync agents.md with agent-specific configuration files.
77
82
 
78
83
  ```bash
79
84
  agentinit sync # Sync configurations
85
+ agentinit sync --agent claude cursor
80
86
  agentinit sync --dry-run # Preview changes
81
87
  agentinit sync --backup # Create backups
82
88
  ```
83
89
 
84
- ### `agentinit mcp`
90
+ ### `agentinit apply`
85
91
 
86
- Manage Model Context Protocol installations.
92
+ Apply `agents.md` plus project-owned skills to supported agent files, and manage ignore entries for generated files.
87
93
 
88
94
  ```bash
89
- agentinit mcp # Show top MCPs
90
- agentinit mcp --interactive # Interactive selection
91
- agentinit mcp --search <query> # Search MCPs
92
- agentinit mcp --install <name> # Install specific MCP
95
+ agentinit apply # Sync + project skills + managed ignore block
96
+ agentinit apply --agent claude cursor # Target specific agents
97
+ agentinit apply --dry-run # Preview changes
98
+ agentinit apply --backup # Create sibling .agentinit.backup files
99
+ agentinit apply --no-skills # Skip project-owned skills
100
+ agentinit apply --gitignore-local # Write ignore entries to .git/info/exclude
93
101
  ```
94
102
 
95
- ### `agentinit verify_mcp`
103
+ ### `agentinit mcp`
96
104
 
97
- Verify MCP server installations and get their tools with token usage.
105
+ Manage Model Context Protocol server configurations.
98
106
 
99
107
  **Examples:**
100
108
  ```bash
101
- # Verify all MCPs in project
102
- agentinit verify_mcp --all
103
- # Verify STDIO server
104
- agentinit verify_mcp --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"
105
- # Verify HTTP server
106
- agentinit verify_mcp --mcp-http notion_api "https://mcp.notion.com/mcp" --timeout 30000
107
- ```
108
-
109
- Shows connection status, response time, and available tools/resources/prompts for each MCP server.
110
-
111
- ### `agentinit apply`
112
-
113
- Apply configurations including MCP server setup.
114
-
115
- #### MCP Configuration
116
-
117
-
118
- ```bash
119
- # Configure STDIO MCP with everything server (recommended example)
120
- npx agentinit apply \
109
+ # Add a project-local STDIO server
110
+ agentinit mcp add \
121
111
  --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"
122
112
 
123
- # Configure multiple MCPs in one command
124
- npx agentinit apply \
125
- --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything" \
113
+ # Add multiple servers and verify them immediately
114
+ agentinit mcp add --verify \
126
115
  --mcp-stdio supabase "npx -y @supabase/mcp-server-supabase@latest" \
127
116
  --args "--read-only --project-ref=<project-ref>" \
128
117
  --env "SUPABASE_ACCESS_TOKEN=<personal-access-token>" \
129
- --mcp-http notion_api "https://mcp.notion.com/mcp" \
130
- --mcp-sse notion_events "https://mcp.notion.com/sse"
131
-
132
- # Configure HTTP MCP with authentication
133
- npx agentinit apply \
134
- --mcp-http github "https://api.githubcopilot.com/mcp/" --auth "Bearer YOUR_GITHUB_PAT"
135
-
136
- # Configure HTTP MCP with custom headers
137
- npx agentinit apply \
138
- --mcp-http context7 "https://mcp.context7.com/mcp" \
139
- --header "CONTEXT7_API_KEY:YOUR_API_KEY"
140
-
141
- # Multiple custom headers
142
- npx agentinit apply \
143
- --mcp-http api_server "https://api.example.com/mcp" \
144
- --header "X-API-Key:YOUR_API_KEY" \
145
- --header "X-Client-ID:YOUR_CLIENT_ID"
146
-
147
- # Combine Bearer auth with custom headers
148
- npx agentinit apply \
149
- --mcp-http advanced_api "https://api.example.com/mcp" \
150
- --auth "Bearer YOUR_TOKEN" \
151
- --header "X-Custom-Header:custom_value"
152
-
153
- # Configure Docker-based MCP with environment
154
- npx agentinit apply \
155
- --mcp-stdio browserbase "docker run -i --rm ghcr.io/metorial/mcp-container--browserbase--mcp-server-browserbase--browserbase node cli.js" \
156
- --env "BROWSERBASE_API_KEY=browserbase-api-key"
157
-
158
- # Global configuration with custom headers
159
- npx agentinit apply --global --client claude \
160
- --mcp-http context7 "https://mcp.context7.com/mcp" \
161
- --header "CONTEXT7_API_KEY:YOUR_API_KEY"
162
-
163
- # Verify MCPs immediately after configuration
164
- npx agentinit apply --verify-mcp \
165
- --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"
118
+ --mcp-http notion_api "https://mcp.notion.com/mcp"
119
+
120
+ # Manage global MCP config for a specific agent
121
+ agentinit mcp list --global --agent claude
122
+ agentinit mcp remove notion_api --global --agent claude
123
+
124
+ # Verify existing configs or direct MCP args
125
+ agentinit mcp verify --all
126
+ agentinit mcp verify --name exa
127
+ agentinit mcp verify --mcp-http notion_api "https://mcp.notion.com/mcp" --timeout 30000
166
128
  ```
167
129
 
168
- This generates `.agentinit/agentinit.toml` with your MCP configurations.
130
+ Shows connection status, response time, and available tools/resources/prompts for each MCP server.
169
131
 
170
132
  **MCP Authentication Options**:
171
133
  - `--auth "Bearer TOKEN"` - Adds Authorization header for Bearer token authentication
172
134
  - `--header "KEY:VALUE"` - Adds custom headers in KEY:VALUE format (can be used multiple times)
173
135
  - Both flags can be combined for APIs requiring multiple authentication methods
174
136
 
175
- **MCP Verification**: Use the `--verify-mcp` flag to test MCP servers immediately after configuration. This ensures servers are reachable and shows their available tools, resources, and prompts. Use `--timeout <ms>` to set a custom connection timeout (default: 30000ms).
137
+ ### `agentinit rules`
176
138
 
177
- ```bash
178
- # Verify with custom timeout
179
- npx agentinit apply --verify-mcp --timeout 30000 \
180
- --mcp-stdio chrome-mcp "bunx -y chrome-devtools-mcp@latest"
181
- ```
182
-
183
- #### Rules Configuration
184
-
185
- Apply coding rules and best practices to your AI agents using predefined templates or custom rules.
139
+ Manage coding rules independently from MCP configuration.
186
140
 
141
+ **Examples:**
187
142
  ```bash
188
- # Apply rule templates (recommended combinations)
189
- agentinit apply --rules git,write_tests,use_linter
190
-
191
- # Mix templates with custom rules
192
- agentinit apply --rules git,write_docs --rule-raw "Use TypeScript strict mode"
193
-
194
- # Load rules from a file
195
- agentinit apply --rules-file ./project-rules.md
143
+ # Add rules from templates, raw text, files, or URLs
144
+ agentinit rules add --template git,write_tests,use_linter
145
+ agentinit rules add --template git --raw "Use TypeScript strict mode"
146
+ agentinit rules add --file ./project-rules.md
196
147
 
197
- # Apply globally to all projects using Claude
198
- agentinit apply --global --agent claude --rules git,write_tests
148
+ # Inspect and remove configured rules
149
+ agentinit rules list
150
+ agentinit rules remove git write_tests
199
151
 
200
- # Combine with MCP configuration
201
- agentinit apply --rules git,use_linter --mcp-stdio context7 "npx @context7/mcp"
152
+ # Apply globally when the target agent supports global rules
153
+ agentinit rules add --global --agent claude --template git,write_tests
202
154
  ```
203
155
 
204
156
  **Available Rule Templates:**
205
157
  - `git` - Enforce Git workflows and commit standards
206
158
  - `write_docs` - Require comprehensive documentation
207
- - `use_git_worktrees` - Enable parallel development with worktrees
159
+ - `use_git_worktrees` - Enable parallel development with worktrees
208
160
  - `use_subagents` - Delegate work to specialized subagents
209
161
  - `use_linter` - Enforce code quality and formatting
210
162
  - `write_tests` - Implement test-driven development practices
211
163
 
212
- **Token Tracking:** The apply command automatically tracks and displays token usage with color-coded output (🟢 Green ≤5k, 🟡 Yellow 5k-15k, 🔴 Red >15k) and git-style diffs to help manage AI context size. Example: `Rules: 101 tokens (-296)` shows rule tokens with change tracking.
164
+ ### `agentinit skills`
165
+
166
+ Install, list, and remove reusable agent skills from local paths or GitHub repositories.
167
+
168
+ **Examples:**
169
+ ```bash
170
+ # Inspect a source before installing
171
+ agentinit skills add owner/repo --list
172
+
173
+ # Install all discovered skills for detected agents
174
+ agentinit skills add ./skills
175
+
176
+ # Install selected skills globally for a specific agent
177
+ agentinit skills add owner/repo --global --agent claude --skill openai-docs
178
+
179
+ # Review and clean up installed skills
180
+ agentinit skills list
181
+ agentinit skills remove openai-docs
182
+ ```
183
+
184
+ ### `agentinit plugins`
185
+
186
+ Install, inspect, search, and remove portable plugins from explicit marketplace sources, GitHub repositories, or local paths.
187
+
188
+ **Examples:**
189
+ ```bash
190
+ # Search a marketplace explicitly
191
+ agentinit plugins search --from claude
192
+ agentinit plugins search code-review --from claude
193
+
194
+ # Install from a marketplace explicitly
195
+ agentinit plugins install claude/code-review
196
+ agentinit plugins install code-review --from claude
197
+
198
+ # Install from GitHub or a local path
199
+ agentinit plugins install owner/repo
200
+ agentinit plugins install ./plugins/code-review
201
+
202
+ # Inspect and remove installed plugins
203
+ agentinit plugins list
204
+ agentinit plugins remove code-review
205
+ ```
206
+
207
+ **Marketplace Rules:**
208
+ - Marketplace installs are explicit by design. Bare names like `agentinit plugins install code-review` are rejected.
209
+ - Use `<marketplace>/<plugin>` or `--from <marketplace>` when installing from a marketplace.
210
+ - `plugins search` also requires `--from <marketplace>`.
211
+ - Only `claude` is implemented today, mapped to Anthropic's `claude-plugins-official` marketplace.
212
+
213
+ ### `agentinit revert`
214
+
215
+ Revert files and backups managed by `agentinit apply` or `agentinit sync`.
216
+
217
+ ```bash
218
+ agentinit revert # Restore backups and remove generated files
219
+ agentinit revert --dry-run # Preview what would be reverted
220
+ agentinit revert --keep-backups
221
+ ```
222
+
223
+ ### Compatibility
224
+
225
+ `agentinit apply` is now the project-level orchestration command for sync, project skills, and managed ignore state.
226
+ Legacy `agentinit apply --mcp-*`, `--rules`, and related flags still work for backward compatibility, and `agentinit verify_mcp` remains deprecated in favor of `agentinit mcp verify`.
213
227
 
214
228
  ## 🏗️ Project Structure
215
229
 
@@ -219,11 +233,10 @@ AgentInit creates and manages these key files:
219
233
  your-project/
220
234
  ├── agents.md # Universal agent configuration
221
235
  ├── CLAUDE.md # Claude-specific config (synced)
222
- ├── .cursor/rules/ # Cursor rules (MDC files)
223
- ├── 001_workspace.mdc
224
- │ └── 002_frontend.mdc
225
- ├── AGENTS.md # Simple agent instructions (alternative)
226
- └── .windsurfrules # Windsurf-specific config (synced)
236
+ ├── .cursorrules # Cursor-specific config (synced)
237
+ ├── AGENTS.md # Shared AGENTS.md standard for supporting agents
238
+ ├── .windsurfrules # Windsurf-specific config (synced)
239
+ └── .agentinit/ # Managed state and internal backups
227
240
  ```
228
241
 
229
242
  ## 📖 Configuration
@@ -260,12 +273,22 @@ This is a TypeScript project using Next.js...
260
273
 
261
274
  ### Supported Agents
262
275
 
276
+ `AGENTS.md` is a shared standard used by multiple tools, so AgentInit does not use it by itself as an auto-detection signal.
277
+
263
278
  | Agent | Config File | Status |
264
279
  |-------|-------------|--------|
265
280
  | Claude | `CLAUDE.md` | ✅ |
266
- | Cursor | `.cursor/rules/*.mdc` or `AGENTS.md` | ✅ |
281
+ | Claude Desktop | global desktop config | ✅ |
282
+ | Cursor | `.cursorrules` | ✅ |
267
283
  | Windsurf | `.windsurfrules` | ✅ |
268
- | Copilot | `.github/copilot.yml` | 🚧 |
284
+ | GitHub Copilot | `AGENTS.md`, `.vscode/mcp.json` | |
285
+ | Aider | `AGENTS.md`, `.aider.conf.yml` | ✅ |
286
+ | Cline | `.clinerules` | ✅ |
287
+ | Codex CLI | `.codex/config.toml` | ✅ |
288
+ | Gemini CLI | `.gemini/settings.json` | ✅ |
289
+ | RooCode | `AGENTS.md`, `.roo/mcp.json` | ✅ |
290
+ | Zed | `AGENTS.md`, `.zed/settings.json` | ✅ |
291
+ | Droid | `AGENTS.md`, `.factory/mcp.json` | ✅ |
269
292
  | Codeium | `.codeium/config.json` | 🚧 |
270
293
 
271
294
  ## 🔧 Stack Detection
@@ -644,4 +667,4 @@ MIT License - see [LICENSE](LICENSE) file for details.
644
667
 
645
668
  ---
646
669
 
647
- **AgentInit** - Unify your AI agent configurations, amplify your development workflow.
670
+ **AgentInit** - Unify your AI agent configurations, amplify your development workflow.
@@ -44,6 +44,16 @@ export declare abstract class Agent {
44
44
  * Returns null if global configuration is not supported
45
45
  */
46
46
  getGlobalMcpPath(): string | null;
47
+ /**
48
+ * Get the project rules path for this agent
49
+ * Returns null if rules are not supported
50
+ */
51
+ getProjectRulesPath(projectPath: string): string | null;
52
+ /**
53
+ * Get the global rules path for this agent
54
+ * Returns null if global rules are not supported
55
+ */
56
+ getGlobalRulesPath(): string | null;
47
57
  /**
48
58
  * Check if this agent supports global configuration
49
59
  */
@@ -102,6 +112,40 @@ export declare abstract class Agent {
102
112
  * Apply rules configuration to this agent's global config
103
113
  */
104
114
  applyGlobalRules(rules: AppliedRules): Promise<RuleApplicationResult>;
115
+ /**
116
+ * Check if this agent supports skills
117
+ */
118
+ supportsSkills(): boolean;
119
+ /**
120
+ * Get the skills directory for this agent
121
+ * Returns null if skills are not supported
122
+ */
123
+ getSkillsDir(projectPath: string, global?: boolean): string | null;
124
+ /**
125
+ * Check if this agent supports global rules configuration
126
+ */
127
+ supportsGlobalRules(): boolean;
128
+ /**
129
+ * Remove an MCP server by name from this agent's configuration
130
+ * Must be implemented by each specific agent
131
+ */
132
+ abstract removeMCPServer(projectPath: string, serverName: string): Promise<boolean>;
133
+ /**
134
+ * Remove an MCP server from global configuration
135
+ */
136
+ removeGlobalMCPServer(serverName: string): Promise<boolean>;
137
+ /**
138
+ * Get existing MCP servers from this agent's global configuration
139
+ */
140
+ getGlobalMCPServers(): Promise<MCPServerConfig[]>;
141
+ /**
142
+ * Replace existing markdown rule sections and append the desired rules once.
143
+ */
144
+ protected replaceMarkdownRulesSections(existingContent: string, sections: RuleSection[], headingPattern: RegExp): string;
145
+ /**
146
+ * Run an operation against the agent's global MCP file using the native parser.
147
+ */
148
+ protected withGlobalMcpPath<T>(operation: (projectPath: string) => Promise<T>): Promise<T>;
105
149
  /**
106
150
  * Get a summary of this agent
107
151
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;;GAGG;AACH,8BAAsB,KAAK;IACzB,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;gBAE1B,UAAU,EAAE,eAAe;IAIvC;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,YAAY,kDAEf;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAExC;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,EAAE,CAE9B;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAa/E;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI7C;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAOjC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC;IAEhB;;;OAGG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpE;;;;OAIG;IACG,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBrE;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAe/D;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAKlE;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CACvB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAExD;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE;IAEhE;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;IAE9D;;OAEG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,qBAAqB,CAAC;IAKjC;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiB3E;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { resolve } from 'path';
2
+ import { homedir } from 'os';
2
3
  import { pathExists } from '../utils/fs.js';
3
4
  import { getFullGlobalConfigPath } from '../utils/paths.js';
4
5
  import { RulesApplicator } from '../core/rulesApplicator.js';
@@ -75,6 +76,26 @@ export class Agent {
75
76
  getGlobalMcpPath() {
76
77
  return getFullGlobalConfigPath(this.definition.globalConfigPath, this.definition.globalConfigPaths);
77
78
  }
79
+ /**
80
+ * Get the project rules path for this agent
81
+ * Returns null if rules are not supported
82
+ */
83
+ getProjectRulesPath(projectPath) {
84
+ if (!this.capabilities.rules || !this.definition.rulesPath) {
85
+ return null;
86
+ }
87
+ return resolve(projectPath, this.definition.rulesPath);
88
+ }
89
+ /**
90
+ * Get the global rules path for this agent
91
+ * Returns null if global rules are not supported
92
+ */
93
+ getGlobalRulesPath() {
94
+ if (!this.capabilities.rules) {
95
+ return null;
96
+ }
97
+ return getFullGlobalConfigPath(this.definition.globalRulesPath, this.definition.globalRulesPaths);
98
+ }
78
99
  /**
79
100
  * Check if this agent supports global configuration
80
101
  */
@@ -94,25 +115,7 @@ export class Agent {
94
115
  * Can be overridden by specific agents for different global config formats
95
116
  */
96
117
  async applyGlobalMCPConfig(servers) {
97
- const globalPath = this.getGlobalMcpPath();
98
- if (!globalPath) {
99
- throw new Error(`Agent ${this.name} does not support global configuration`);
100
- }
101
- // Extract directory from global path and use it as "project path"
102
- // This allows reusing the existing applyMCPConfig logic
103
- const lastSlashIndex = Math.max(globalPath.lastIndexOf('/'), globalPath.lastIndexOf('\\'));
104
- const globalDir = lastSlashIndex > 0 ? globalPath.substring(0, lastSlashIndex) : '';
105
- // Temporarily override the native config path to point to global config
106
- const originalNativeConfigPath = this.definition.nativeConfigPath;
107
- const globalFileName = globalPath.substring(lastSlashIndex + 1);
108
- this.definition.nativeConfigPath = globalFileName;
109
- try {
110
- await this.applyMCPConfig(globalDir, servers);
111
- }
112
- finally {
113
- // Restore original native config path
114
- this.definition.nativeConfigPath = originalNativeConfigPath;
115
- }
118
+ await this.withGlobalMcpPath(projectPath => this.applyMCPConfig(projectPath, servers));
116
119
  }
117
120
  /**
118
121
  * Filter MCP servers based on this agent's capabilities
@@ -152,18 +155,104 @@ export class Agent {
152
155
  */
153
156
  async applyGlobalRules(rules) {
154
157
  const applicator = new RulesApplicator();
155
- if (!this.supportsGlobalConfig()) {
158
+ if (!this.supportsGlobalRules()) {
156
159
  return {
157
160
  success: false,
158
161
  rulesApplied: 0,
159
162
  agent: this.name,
160
163
  configPath: '',
161
- errors: [`Agent ${this.name} does not support global configuration`]
164
+ errors: [`Agent ${this.name} does not support global rules`]
162
165
  };
163
166
  }
164
- // Use empty string as project path for global config
165
167
  return applicator.applyRulesToAgent(this, rules, '', true);
166
168
  }
169
+ /**
170
+ * Check if this agent supports skills
171
+ */
172
+ supportsSkills() {
173
+ return this.capabilities.skills && !!this.definition.skillPaths;
174
+ }
175
+ /**
176
+ * Get the skills directory for this agent
177
+ * Returns null if skills are not supported
178
+ */
179
+ getSkillsDir(projectPath, global) {
180
+ if (!this.definition.skillPaths)
181
+ return null;
182
+ if (global) {
183
+ return this.definition.skillPaths.global.replace('~', homedir());
184
+ }
185
+ return resolve(projectPath, this.definition.skillPaths.project);
186
+ }
187
+ /**
188
+ * Check if this agent supports global rules configuration
189
+ */
190
+ supportsGlobalRules() {
191
+ return this.getGlobalRulesPath() !== null;
192
+ }
193
+ /**
194
+ * Remove an MCP server from global configuration
195
+ */
196
+ async removeGlobalMCPServer(serverName) {
197
+ return this.withGlobalMcpPath(projectPath => this.removeMCPServer(projectPath, serverName));
198
+ }
199
+ /**
200
+ * Get existing MCP servers from this agent's global configuration
201
+ */
202
+ async getGlobalMCPServers() {
203
+ return this.withGlobalMcpPath(projectPath => this.getMCPServers(projectPath));
204
+ }
205
+ /**
206
+ * Replace existing markdown rule sections and append the desired rules once.
207
+ */
208
+ replaceMarkdownRulesSections(existingContent, sections, headingPattern) {
209
+ const existingSections = this.extractExistingSections(existingContent);
210
+ const existingSectionTitles = new Set(existingSections.map(section => section.templateName));
211
+ const keptLines = [];
212
+ let skippingSection = false;
213
+ for (const line of existingContent.split('\n')) {
214
+ const trimmed = line.trim();
215
+ const headingMatch = trimmed.match(headingPattern);
216
+ if (headingMatch?.[1]) {
217
+ skippingSection = existingSectionTitles.has(headingMatch[1].trim());
218
+ if (skippingSection) {
219
+ continue;
220
+ }
221
+ }
222
+ if (!skippingSection) {
223
+ keptLines.push(line);
224
+ }
225
+ }
226
+ const baseContent = keptLines.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd();
227
+ const renderedRules = this.generateRulesContent(sections).trim();
228
+ if (!renderedRules) {
229
+ return baseContent ? `${baseContent}\n` : '';
230
+ }
231
+ if (!baseContent) {
232
+ return `${renderedRules}\n`;
233
+ }
234
+ return `${baseContent}\n\n${renderedRules}\n`;
235
+ }
236
+ /**
237
+ * Run an operation against the agent's global MCP file using the native parser.
238
+ */
239
+ async withGlobalMcpPath(operation) {
240
+ const globalPath = this.getGlobalMcpPath();
241
+ if (!globalPath) {
242
+ throw new Error(`Agent ${this.name} does not support global configuration`);
243
+ }
244
+ const lastSlashIndex = Math.max(globalPath.lastIndexOf('/'), globalPath.lastIndexOf('\\'));
245
+ const globalDir = lastSlashIndex > 0 ? globalPath.substring(0, lastSlashIndex) : '';
246
+ const originalNativeConfigPath = this.definition.nativeConfigPath;
247
+ const globalFileName = globalPath.substring(lastSlashIndex + 1);
248
+ this.definition.nativeConfigPath = globalFileName;
249
+ try {
250
+ return await operation(globalDir);
251
+ }
252
+ finally {
253
+ this.definition.nativeConfigPath = originalNativeConfigPath;
254
+ }
255
+ }
167
256
  /**
168
257
  * Get a summary of this agent
169
258
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { MarkdownRulesAgent } from './MarkdownRulesAgent.js';
2
+ import type { MCPServerConfig } from '../types/index.js';
3
+ export declare class AiderAgent extends MarkdownRulesAgent {
4
+ constructor();
5
+ applyMCPConfig(projectPath: string, servers: MCPServerConfig[]): Promise<void>;
6
+ removeMCPServer(projectPath: string, serverName: string): Promise<boolean>;
7
+ getMCPServers(projectPath: string): Promise<MCPServerConfig[]>;
8
+ }
9
+ //# sourceMappingURL=AiderAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiderAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AiderAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAmB,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AAEzF,qBAAa,UAAW,SAAQ,kBAAkB;;IAmD1C,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9E,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB1E,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA+BrE"}