@ryuenn3123/agentic-senior-core 2.5.4 → 2.5.5
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/.cursorrules
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
|
|
2
2
|
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v2.5.
|
|
3
|
+
Generated by Agentic-Senior-Core CLI v2.5.5
|
|
4
4
|
Timestamp: 2026-04-15T00:14:51.184Z
|
|
5
5
|
Selected profile: beginner
|
|
6
6
|
Selected policy file: .agent-context/policies/llm-judge-threshold.json
|
package/.windsurfrules
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
|
|
2
2
|
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v2.5.
|
|
3
|
+
Generated by Agentic-Senior-Core CLI v2.5.5
|
|
4
4
|
Timestamp: 2026-04-15T00:14:51.184Z
|
|
5
5
|
Selected profile: beginner
|
|
6
6
|
Selected policy file: .agent-context/policies/llm-judge-threshold.json
|
|
@@ -77,7 +77,7 @@ export function parseInitArguments(commandArguments) {
|
|
|
77
77
|
tokenOptimize: true,
|
|
78
78
|
memoryContinuity: true,
|
|
79
79
|
tokenAgent: 'copilot',
|
|
80
|
-
includeMcpTemplate:
|
|
80
|
+
includeMcpTemplate: true,
|
|
81
81
|
scaffoldDocs: undefined,
|
|
82
82
|
docsLang: 'en',
|
|
83
83
|
docsLangProvided: false,
|
|
@@ -202,6 +202,11 @@ export function parseInitArguments(commandArguments) {
|
|
|
202
202
|
continue;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
if (currentArgument === '--no-mcp-template') {
|
|
206
|
+
parsedInitOptions.includeMcpTemplate = false;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
|
|
205
210
|
if (currentArgument === '--scaffold-docs') {
|
|
206
211
|
parsedInitOptions.scaffoldDocs = true;
|
|
207
212
|
continue;
|
|
@@ -932,7 +937,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
932
937
|
console.log(`- Project docs language: ${scaffoldingResult.docsLanguage}`);
|
|
933
938
|
}
|
|
934
939
|
console.log(`- Repository workflows copied: no (workflows remain source-repo assets)`);
|
|
935
|
-
console.log(`- MCP
|
|
940
|
+
console.log(`- MCP configuration: ${shouldIncludeMcpTemplate ? 'auto-configured for your IDEs (VS Code, Cursor, Zed, Gemini)' : 'disabled (--no-mcp-template)'}`);
|
|
936
941
|
if (isMemoryContinuityEnabled) {
|
|
937
942
|
console.log('- Memory continuity policy: enabled (index + selective hydration)');
|
|
938
943
|
} else {
|
package/lib/cli/compiler.mjs
CHANGED
|
@@ -390,4 +390,18 @@ export async function compileDynamicContext({
|
|
|
390
390
|
|
|
391
391
|
await fs.writeFile(path.join(resolvedTargetDirectoryPath, '.cursorrules'), compiledRules, 'utf8');
|
|
392
392
|
await fs.writeFile(path.join(resolvedTargetDirectoryPath, '.windsurfrules'), compiledRules, 'utf8');
|
|
393
|
+
|
|
394
|
+
// Gemini (Antigravity Editor) instructions
|
|
395
|
+
const geminiDir = path.join(resolvedTargetDirectoryPath, '.gemini');
|
|
396
|
+
if (!(await pathExists(geminiDir))) {
|
|
397
|
+
await fs.mkdir(geminiDir, { recursive: true });
|
|
398
|
+
}
|
|
399
|
+
await fs.writeFile(path.join(geminiDir, 'instructions.md'), compiledRules, 'utf8');
|
|
400
|
+
|
|
401
|
+
// Copilot instructions (also used by some generic IDE extensions)
|
|
402
|
+
const githubDir = path.join(resolvedTargetDirectoryPath, '.github');
|
|
403
|
+
if (!(await pathExists(githubDir))) {
|
|
404
|
+
await fs.mkdir(githubDir, { recursive: true });
|
|
405
|
+
}
|
|
406
|
+
await fs.writeFile(path.join(githubDir, 'copilot-instructions.md'), compiledRules, 'utf8');
|
|
393
407
|
}
|
package/lib/cli/utils.mjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import fs from 'node:fs/promises';
|
|
6
6
|
import path from 'node:path';
|
|
7
|
+
import os from 'node:os';
|
|
7
8
|
|
|
8
9
|
import {
|
|
9
10
|
REPO_ROOT,
|
|
@@ -51,7 +52,8 @@ export function printUsage() {
|
|
|
51
52
|
console.log(' --no-token-optimize Disable token optimization policy during init');
|
|
52
53
|
console.log(' --memory-continuity Explicitly enable cross-session memory continuity policy during init (default behavior)');
|
|
53
54
|
console.log(' --no-memory-continuity Disable memory continuity policy during init');
|
|
54
|
-
console.log(' --mcp-template
|
|
55
|
+
console.log(' --mcp-template Explicitly enable cross-IDE MCP auto-configuration (default behavior)');
|
|
56
|
+
console.log(' --no-mcp-template Disable automatic MCP configuration across your IDEs');
|
|
55
57
|
console.log(' --scaffold-docs Force project documentation scaffolding (architecture, database, API, flow)');
|
|
56
58
|
console.log(' --no-scaffold-docs Skip project documentation scaffolding');
|
|
57
59
|
console.log(' --docs-lang Optional override for generated project docs language (default: en)');
|
|
@@ -137,29 +139,96 @@ export async function copyGovernanceAssetsToTarget(
|
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
if (shouldIncludeMcpTemplate) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
+
const projectName = path.basename(resolvedTargetDirectoryPath);
|
|
143
|
+
const mcpArgs = ['./scripts/mcp-server.mjs'];
|
|
142
144
|
|
|
143
|
-
|
|
145
|
+
// 1. VS Code & 2. Cursor (Workspace Local Settings)
|
|
146
|
+
const ideLocalDirs = ['.vscode', '.cursor'];
|
|
147
|
+
const workspaceMcpConfig = {
|
|
144
148
|
servers: {
|
|
145
149
|
'agentic-senior-core': {
|
|
146
150
|
type: 'stdio',
|
|
147
151
|
command: 'node',
|
|
148
152
|
cwd: '${workspaceFolder}',
|
|
149
|
-
args:
|
|
153
|
+
args: mcpArgs,
|
|
150
154
|
},
|
|
151
155
|
},
|
|
152
156
|
};
|
|
153
157
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
for (const ideDir of ideLocalDirs) {
|
|
159
|
+
const dirPath = path.join(resolvedTargetDirectoryPath, ideDir);
|
|
160
|
+
const mcpJsonPath = path.join(dirPath, 'mcp.json');
|
|
161
|
+
|
|
162
|
+
if (!(await pathExists(mcpJsonPath))) {
|
|
163
|
+
await ensureDirectory(dirPath);
|
|
164
|
+
await fs.writeFile(mcpJsonPath, JSON.stringify(workspaceMcpConfig, null, 2) + '\n', 'utf8');
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// 3. Zed IDE (Workspace Local Settings)
|
|
169
|
+
const zedDirPath = path.join(resolvedTargetDirectoryPath, '.zed');
|
|
170
|
+
const zedSettingsPath = path.join(zedDirPath, 'settings.json');
|
|
171
|
+
const zedMcpConfig = {
|
|
172
|
+
context_servers: {
|
|
173
|
+
'agentic-senior-core': {
|
|
174
|
+
command: 'node',
|
|
175
|
+
env: {},
|
|
176
|
+
args: mcpArgs,
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
if (!(await pathExists(zedSettingsPath))) {
|
|
182
|
+
await ensureDirectory(zedDirPath);
|
|
183
|
+
await fs.writeFile(zedSettingsPath, JSON.stringify(zedMcpConfig, null, 2) + '\n', 'utf8');
|
|
184
|
+
} else {
|
|
185
|
+
try {
|
|
186
|
+
const existingZedContent = await fs.readFile(zedSettingsPath, 'utf8');
|
|
187
|
+
const parsedZedSettings = JSON.parse(existingZedContent);
|
|
188
|
+
if (!parsedZedSettings.context_servers) {
|
|
189
|
+
parsedZedSettings.context_servers = {};
|
|
190
|
+
}
|
|
191
|
+
if (!parsedZedSettings.context_servers['agentic-senior-core']) {
|
|
192
|
+
parsedZedSettings.context_servers['agentic-senior-core'] = zedMcpConfig.context_servers['agentic-senior-core'];
|
|
193
|
+
await fs.writeFile(zedSettingsPath, JSON.stringify(parsedZedSettings, null, 2) + '\n', 'utf8');
|
|
194
|
+
}
|
|
195
|
+
} catch (err) {
|
|
196
|
+
// Fallback or ignore if user has broken JSON
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// 4. Antigravity / Gemini (Global Settings)
|
|
201
|
+
try {
|
|
202
|
+
const globalGeminiDir = path.join(os.homedir(), '.gemini', 'antigravity');
|
|
203
|
+
const globalGeminiMcpPath = path.join(globalGeminiDir, 'mcp_config.json');
|
|
204
|
+
|
|
205
|
+
if (await pathExists(globalGeminiDir)) {
|
|
206
|
+
let geminiConfig = { mcpServers: {} };
|
|
207
|
+
if (await pathExists(globalGeminiMcpPath)) {
|
|
208
|
+
const content = await fs.readFile(globalGeminiMcpPath, 'utf8');
|
|
209
|
+
if (content.trim()) {
|
|
210
|
+
try { geminiConfig = JSON.parse(content); } catch (e) {}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (!geminiConfig.mcpServers) geminiConfig.mcpServers = {};
|
|
214
|
+
|
|
215
|
+
const safeProjectName = projectName.replace(/[^a-zA-Z0-9_-]/g, '-');
|
|
216
|
+
const uniqueServerName = `agentic-senior-core-${safeProjectName}`;
|
|
217
|
+
|
|
218
|
+
// For global configs, we use absolute path for cwd
|
|
219
|
+
geminiConfig.mcpServers[uniqueServerName] = {
|
|
220
|
+
command: 'node',
|
|
221
|
+
args: mcpArgs,
|
|
222
|
+
cwd: resolvedTargetDirectoryPath,
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
await fs.writeFile(globalGeminiMcpPath, JSON.stringify(geminiConfig, null, 2) + '\n', 'utf8');
|
|
226
|
+
}
|
|
227
|
+
} catch (err) {
|
|
228
|
+
// Ignore global injection errors (e.g. permission issues or user doesn't use it)
|
|
161
229
|
}
|
|
162
230
|
}
|
|
231
|
+
|
|
163
232
|
}
|
|
164
233
|
|
|
165
234
|
export async function askChoice(promptMessage, options, userInterface) {
|