@arcbridge/mcp-server 0.4.0 → 0.4.2
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/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -47,7 +47,9 @@ function registerInitProject(server, ctx) {
|
|
|
47
47
|
),
|
|
48
48
|
features: z.array(z.enum(["auth", "database", "api"])).default([]).describe("Features to scaffold"),
|
|
49
49
|
quality_priorities: z.array(QualityCategorySchema).default(["security", "performance", "accessibility", "maintainability"]).describe(QUALITY_PRIORITIES_DESCRIPTION),
|
|
50
|
-
platforms: z.array(z.enum(["claude", "copilot", "codex", "gemini"])).default(["claude"]).describe(
|
|
50
|
+
platforms: z.array(z.enum(["claude", "copilot", "codex", "gemini", "opencode"])).default(["claude"]).describe(
|
|
51
|
+
"Target platforms. Generates platform-specific instruction files and agent configs for Claude, Copilot, Codex, Gemini, and OpenCode."
|
|
52
|
+
),
|
|
51
53
|
target_dir: z.string().describe("Absolute path to the target project directory"),
|
|
52
54
|
spec: z.string().optional().describe(
|
|
53
55
|
"Project specification or requirements text. Saved to .arcbridge/spec.md and referenced by agents for context. Can be a description, user stories, or any text that defines what the project should do."
|
|
@@ -172,7 +174,7 @@ Use \`arcbridge_get_project_status\` to see the current state.`
|
|
|
172
174
|
`- **Dependencies indexed:** ${indexResult.dependenciesIndexed}`,
|
|
173
175
|
`- **Components analyzed:** ${indexResult.componentsAnalyzed}`,
|
|
174
176
|
`- **Routes analyzed:** ${indexResult.routesAnalyzed}`
|
|
175
|
-
] : [input.template === "dotnet-webapi" ? `- **Code indexing:**
|
|
177
|
+
] : [input.template === "dotnet-webapi" || input.template === "unity-game" ? `- **Code indexing:** run \`arcbridge_reindex\` to index C# symbols (tree-sitter or Roslyn)` : `- **Code indexing:** skipped (no tsconfig.json found \u2014 run \`arcbridge_reindex\` later)`],
|
|
176
178
|
"",
|
|
177
179
|
"## Files",
|
|
178
180
|
"",
|
|
@@ -181,8 +183,11 @@ Use \`arcbridge_get_project_status\` to see the current state.`
|
|
|
181
183
|
"- `.arcbridge/plan/` \u2014 Phase plan and tasks",
|
|
182
184
|
"- `.arcbridge/agents/` \u2014 Canonical agent role definitions",
|
|
183
185
|
"- `.arcbridge/index.db` \u2014 SQLite database",
|
|
184
|
-
...params.platforms.includes("claude") ? ["- `CLAUDE.md` \u2014 Claude Code project instructions", "- `.claude/agents/` \u2014 Claude agent configs"] : [],
|
|
186
|
+
...params.platforms.includes("claude") ? ["- `CLAUDE.md` \u2014 Claude Code project instructions", "- `.claude/agents/` \u2014 Claude agent configs", "- `.mcp.json` \u2014 MCP server config"] : [],
|
|
185
187
|
...params.platforms.includes("copilot") ? ["- `.github/copilot-instructions.md` \u2014 Copilot instructions", "- `.github/agents/` \u2014 Copilot agent configs"] : [],
|
|
188
|
+
...params.platforms.includes("codex") ? ["- `AGENTS.md` \u2014 Codex project instructions", "- `.agents/skills/` \u2014 Codex skills"] : [],
|
|
189
|
+
...params.platforms.includes("gemini") ? ["- `.gemini/settings.json` \u2014 Gemini MCP config", "- `.gemini/styleguide.md` \u2014 Gemini project instructions", "- `.gemini/agents/` \u2014 Gemini agent configs", "- `GEMINI.md` \u2014 Gemini CLI instructions"] : [],
|
|
190
|
+
...params.platforms.includes("opencode") ? ["- `opencode.json` \u2014 OpenCode MCP config", "- `OPENCODE.md` \u2014 OpenCode project instructions", "- `.opencode/agents/` \u2014 OpenCode agent configs", "- `.opencode/skills/` \u2014 OpenCode skills"] : [],
|
|
186
191
|
...syncFiles.map((f) => `- \`${f}\` \u2014 Sync loop trigger`),
|
|
187
192
|
...allWarnings.length > 0 ? [
|
|
188
193
|
"",
|
|
@@ -247,7 +252,7 @@ function textResult(text) {
|
|
|
247
252
|
};
|
|
248
253
|
}
|
|
249
254
|
function escapeLike(value) {
|
|
250
|
-
return value.replace(/%/g, "\\%").replace(/_/g, "\\_");
|
|
255
|
+
return value.replace(/\\/g, "\\\\").replace(/%/g, "\\%").replace(/_/g, "\\_");
|
|
251
256
|
}
|
|
252
257
|
function safeParseJson(value, fallback) {
|
|
253
258
|
if (value === null || value === void 0) return fallback;
|
|
@@ -2689,7 +2694,7 @@ function generateProposals(db, blocks, changedFiles, _projectRoot) {
|
|
|
2689
2694
|
for (const cp of paths) {
|
|
2690
2695
|
const prefix = normalizeCodePath(cp);
|
|
2691
2696
|
if (cf.path.startsWith(prefix)) {
|
|
2692
|
-
const remaining = db.prepare("SELECT 1 FROM symbols WHERE file_path LIKE ? LIMIT 1").get(`${prefix}%`);
|
|
2697
|
+
const remaining = db.prepare("SELECT 1 FROM symbols WHERE file_path LIKE ? ESCAPE '\\' LIMIT 1").get(`${escapeLike(prefix)}%`);
|
|
2693
2698
|
if (!remaining) {
|
|
2694
2699
|
proposals.push({
|
|
2695
2700
|
section: "05 Building Block View",
|