fix(server): Add explicit JSON response instructions for Cursor prompts

Cursor was writing JSON to files instead of returning it in the response.
Added clear instructions to all Cursor prompts:
1. DO NOT write any files
2. Return ONLY raw JSON in the response
3. No explanations, no markdown, just JSON

Affected routes:
- generate-spec.ts
- generate-features-from-spec.ts
- validate-issue.ts
- generate-suggestions.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Kacper
2025-12-30 15:44:50 +01:00
parent 948fdb6352
commit 078ab943a8
4 changed files with 35 additions and 8 deletions

View File

@@ -125,8 +125,16 @@ IMPORTANT: Do not ask for clarification. The specification is provided above. Ge
const provider = ProviderFactory.getProviderForModel(model);
// Add explicit instructions for Cursor to return JSON in response
const cursorPrompt = `${prompt}
CRITICAL INSTRUCTIONS:
1. DO NOT write any files. Return the JSON in your response only.
2. Respond with ONLY a JSON object - no explanations, no markdown, just raw JSON.
3. Your entire response should be valid JSON starting with { and ending with }. No text before or after.`;
for await (const msg of provider.executeQuery({
prompt,
prompt: cursorPrompt,
model,
cwd: projectPath,
maxTurns: 250,

View File

@@ -119,11 +119,18 @@ ${getStructuredSpecPromptInstruction()}`;
const provider = ProviderFactory.getProviderForModel(model);
// For Cursor, include the JSON schema in the prompt
// For Cursor, include the JSON schema in the prompt with clear instructions
// to return JSON in the response (not write to a file)
const cursorPrompt = `${prompt}
IMPORTANT: You must respond with a valid JSON object matching this schema:
${JSON.stringify(specOutputSchema, null, 2)}`;
CRITICAL INSTRUCTIONS:
1. DO NOT write any files. DO NOT create any files like "project_specification.json".
2. After analyzing the project, respond with ONLY a JSON object - no explanations, no markdown, just raw JSON.
3. The JSON must match this exact schema:
${JSON.stringify(specOutputSchema, null, 2)}
Your entire response should be valid JSON starting with { and ending with }. No text before or after.`;
for await (const msg of provider.executeQuery({
prompt: cursorPrompt,