mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-04 09:13:08 +00:00
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:
@@ -125,8 +125,16 @@ IMPORTANT: Do not ask for clarification. The specification is provided above. Ge
|
|||||||
|
|
||||||
const provider = ProviderFactory.getProviderForModel(model);
|
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({
|
for await (const msg of provider.executeQuery({
|
||||||
prompt,
|
prompt: cursorPrompt,
|
||||||
model,
|
model,
|
||||||
cwd: projectPath,
|
cwd: projectPath,
|
||||||
maxTurns: 250,
|
maxTurns: 250,
|
||||||
|
|||||||
@@ -119,11 +119,18 @@ ${getStructuredSpecPromptInstruction()}`;
|
|||||||
|
|
||||||
const provider = ProviderFactory.getProviderForModel(model);
|
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}
|
const cursorPrompt = `${prompt}
|
||||||
|
|
||||||
IMPORTANT: You must respond with a valid JSON object matching this schema:
|
CRITICAL INSTRUCTIONS:
|
||||||
${JSON.stringify(specOutputSchema, null, 2)}`;
|
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({
|
for await (const msg of provider.executeQuery({
|
||||||
prompt: cursorPrompt,
|
prompt: cursorPrompt,
|
||||||
|
|||||||
@@ -102,9 +102,15 @@ async function runValidation(
|
|||||||
// For Cursor, include the system prompt and schema in the user prompt
|
// For Cursor, include the system prompt and schema in the user prompt
|
||||||
const cursorPrompt = `${ISSUE_VALIDATION_SYSTEM_PROMPT}
|
const cursorPrompt = `${ISSUE_VALIDATION_SYSTEM_PROMPT}
|
||||||
|
|
||||||
You MUST respond with a valid JSON object matching this schema:
|
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. The JSON must match this exact schema:
|
||||||
|
|
||||||
${JSON.stringify(issueValidationSchema, null, 2)}
|
${JSON.stringify(issueValidationSchema, null, 2)}
|
||||||
|
|
||||||
|
Your entire response should be valid JSON starting with { and ending with }. No text before or after.
|
||||||
|
|
||||||
${prompt}`;
|
${prompt}`;
|
||||||
|
|
||||||
for await (const msg of provider.executeQuery({
|
for await (const msg of provider.executeQuery({
|
||||||
|
|||||||
@@ -189,11 +189,17 @@ The response will be automatically formatted as structured JSON.`;
|
|||||||
|
|
||||||
const provider = ProviderFactory.getProviderForModel(model);
|
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
|
||||||
const cursorPrompt = `${prompt}
|
const cursorPrompt = `${prompt}
|
||||||
|
|
||||||
IMPORTANT: You must respond with a valid JSON object matching this schema:
|
CRITICAL INSTRUCTIONS:
|
||||||
${JSON.stringify(suggestionsSchema, null, 2)}`;
|
1. DO NOT write any files. Return the JSON in your response only.
|
||||||
|
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(suggestionsSchema, 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({
|
for await (const msg of provider.executeQuery({
|
||||||
prompt: cursorPrompt,
|
prompt: cursorPrompt,
|
||||||
|
|||||||
Reference in New Issue
Block a user