ai-agent-config 2.8.5 → 2.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/scripts/external-sync.js +1 -1
- package/scripts/installer.js +8 -6
- package/scripts/mcp-installer.js +2 -2
- package/scripts/secret-manager.js +1 -1
- package/scripts/sync-manager.js +6 -6
- /package/{.agent → .agents}/skills/ai-agent-config/SKILL.md +0 -0
- /package/{.agent → .agents}/skills/config-manager/SKILL.md +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-agent-config",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.6",
|
|
4
4
|
"description": "Universal skill & workflow manager for AI coding assistants with bi-directional GitHub sync",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"bin/",
|
|
48
48
|
"scripts/",
|
|
49
49
|
"config/",
|
|
50
|
-
".
|
|
50
|
+
".agents/",
|
|
51
51
|
"index.js",
|
|
52
52
|
"README.md"
|
|
53
53
|
]
|
package/scripts/external-sync.js
CHANGED
|
@@ -22,7 +22,7 @@ function loadConfig() {
|
|
|
22
22
|
|
|
23
23
|
// Target directory is the user's configured repository
|
|
24
24
|
const targetDir = config.repository && config.repository.local
|
|
25
|
-
? path.join(config.repository.local, ".
|
|
25
|
+
? path.join(config.repository.local, ".agents/skills")
|
|
26
26
|
: path.join(require("os").homedir(), ".ai-agent/skills");
|
|
27
27
|
|
|
28
28
|
return { sources, targetDir };
|
package/scripts/installer.js
CHANGED
|
@@ -12,9 +12,9 @@ const mcpInstaller = require("./mcp-installer");
|
|
|
12
12
|
|
|
13
13
|
const REPO_URL = "https://github.com/dongitran/ai-agent-config.git";
|
|
14
14
|
const CACHE_DIR = path.join(platforms.HOME, ".ai-agent-config-cache");
|
|
15
|
-
const REPO_SKILLS_DIR = path.join(CACHE_DIR, ".
|
|
16
|
-
const REPO_WORKFLOWS_DIR = path.join(CACHE_DIR, ".
|
|
17
|
-
const PACKAGE_SKILLS_DIR = path.join(__dirname, "..", ".
|
|
15
|
+
const REPO_SKILLS_DIR = path.join(CACHE_DIR, ".agents", "skills");
|
|
16
|
+
const REPO_WORKFLOWS_DIR = path.join(CACHE_DIR, ".agents", "workflows");
|
|
17
|
+
const PACKAGE_SKILLS_DIR = path.join(__dirname, "..", ".agents", "skills");
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Copy directory recursively
|
|
@@ -88,7 +88,7 @@ function isRepoCached() {
|
|
|
88
88
|
function getAvailableSkills() {
|
|
89
89
|
const skills = new Set();
|
|
90
90
|
|
|
91
|
-
// Add package bundled skills first (.
|
|
91
|
+
// Add package bundled skills first (.agents/skills/)
|
|
92
92
|
if (fs.existsSync(PACKAGE_SKILLS_DIR)) {
|
|
93
93
|
const packageSkills = fs.readdirSync(PACKAGE_SKILLS_DIR);
|
|
94
94
|
packageSkills.forEach((name) => {
|
|
@@ -259,8 +259,10 @@ function install(options = {}) {
|
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
if
|
|
263
|
-
|
|
262
|
+
// Check if we have any skills to install
|
|
263
|
+
console.log("DEBUG: PACKAGE_SKILLS_DIR =", PACKAGE_SKILLS_DIR, "- EXISTS:", fs.existsSync(PACKAGE_SKILLS_DIR));
|
|
264
|
+
if (!isRepoCached() && !fs.existsSync(PACKAGE_SKILLS_DIR)) {
|
|
265
|
+
console.log("⚠️ Skills repository not cached. Run 'ai-agent update' first.");
|
|
264
266
|
return { skillsCount: 0, platformsCount: 0, workflowsCount: 0, details: [] };
|
|
265
267
|
}
|
|
266
268
|
|
package/scripts/mcp-installer.js
CHANGED
|
@@ -19,7 +19,7 @@ const JSON_MCP_KEY = "mcpServers"; // CamelCase
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Get the MCP servers directory from the user's sync repo
|
|
22
|
-
* @returns {string|null} Path to .
|
|
22
|
+
* @returns {string|null} Path to .agents/mcp-servers/ or null
|
|
23
23
|
*/
|
|
24
24
|
function getMcpServersDir() {
|
|
25
25
|
const config = configManager.loadConfig();
|
|
@@ -27,7 +27,7 @@ function getMcpServersDir() {
|
|
|
27
27
|
if (!repoLocal) return null;
|
|
28
28
|
|
|
29
29
|
const expanded = repoLocal.replace(/^~/, process.env.HOME || process.env.USERPROFILE);
|
|
30
|
-
const mcpDir = path.join(expanded, ".
|
|
30
|
+
const mcpDir = path.join(expanded, ".agents", "mcp-servers");
|
|
31
31
|
return fs.existsSync(mcpDir) ? mcpDir : null;
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -197,7 +197,7 @@ function tryReuseAntigravitySession() {
|
|
|
197
197
|
|
|
198
198
|
/**
|
|
199
199
|
* Discover required secrets from MCP server configs in the repo
|
|
200
|
-
* Scans .
|
|
200
|
+
* Scans .agents/mcp-servers/{name}/config.json for bitwardenEnv fields
|
|
201
201
|
*/
|
|
202
202
|
function discoverRequiredSecrets() {
|
|
203
203
|
const mcpInstaller = require("./mcp-installer");
|
package/scripts/sync-manager.js
CHANGED
|
@@ -166,24 +166,24 @@ class SyncManager {
|
|
|
166
166
|
*/
|
|
167
167
|
gitCommit(message) {
|
|
168
168
|
try {
|
|
169
|
-
// Add all .
|
|
170
|
-
execSync("git add .
|
|
169
|
+
// Add all .agents/ files except bundled package skills
|
|
170
|
+
execSync("git add .agents/workflows/", { cwd: this.repoPath, stdio: "pipe" });
|
|
171
171
|
|
|
172
172
|
// Add MCP servers
|
|
173
|
-
const mcpServersDir = path.join(this.repoPath, ".
|
|
173
|
+
const mcpServersDir = path.join(this.repoPath, ".agents/mcp-servers");
|
|
174
174
|
if (fs.existsSync(mcpServersDir)) {
|
|
175
|
-
execSync("git add .
|
|
175
|
+
execSync("git add .agents/mcp-servers/", { cwd: this.repoPath, stdio: "pipe" });
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
// Add skills individually, excluding bundled ones
|
|
179
|
-
const skillsDir = path.join(this.repoPath, ".
|
|
179
|
+
const skillsDir = path.join(this.repoPath, ".agents/skills");
|
|
180
180
|
const bundledSkills = ["ai-agent-config", "config-manager"];
|
|
181
181
|
|
|
182
182
|
if (fs.existsSync(skillsDir)) {
|
|
183
183
|
const skills = fs.readdirSync(skillsDir);
|
|
184
184
|
skills.forEach(skill => {
|
|
185
185
|
if (!bundledSkills.includes(skill)) {
|
|
186
|
-
spawnSync("git", ["add", `.
|
|
186
|
+
spawnSync("git", ["add", `.agents/skills/${skill}`], {
|
|
187
187
|
cwd: this.repoPath,
|
|
188
188
|
stdio: "pipe"
|
|
189
189
|
});
|
|
File without changes
|
|
File without changes
|