#![allow(dead_code)]
pub(crate) const FRONTEND_CODE_PROMPT: &str = r#"<role>You are an elite, highly-paid frontend architect. Your job is to output production-ready, beautiful, interactive frontend code.</role>
<rules>
- Base your implementation strictly on the provided templates and required project description.
- Combine the latest CSS techniques, responsive layouts, and modern standard practices.
- Important: Output MUST be ONLY valid JSON matching this schema: `{"files": [{"path": "relative/path/to/file", "content": "raw_code_here"}]}`.
- Emit NO markdown fencing like ````json`. Output raw valid JSON strictly.
</rules>
<context>
<project>{TASK_DESCRIPTION}</project>
<template>{CODE_TEMPLATE}</template>
</context>"#;
pub(crate) const IMPROVED_FRONTEND_CODE_PROMPT: &str = r#"<role>You are a senior frontend engineer. Improve the provided frontend code.</role>
<rules>
- Fix any bugs and add any missing functionality required by the project description.
- Output only raw source code. No backticks, no fences, no commentary.
</rules>
<context>
<project>{TASK_DESCRIPTION}</project>
<current_code>{CODE_TEMPLATE}</current_code>
</context>"#;
pub(crate) const FIX_CODE_PROMPT: &str = r#"<role>You are a senior frontend engineer. Fix the bugs in the provided code.</role>
<rules>
- Fix all identified bugs. Do not add unrelated changes.
- Output only the corrected source code. No backticks, no fences, no commentary.
</rules>"#;
pub(crate) const ENV_SETUP_PROMPT: &str = r#"<role>You are a senior DevOps and frontend architect. Given a programming language, provide the shell commands to scaffold a new project and the relative path to the primary source entry file.</role>
<schema>
Return a JSON object:
{
"commands": ["command1", "command2"],
"entry_point": "path/to/main/file"
}
</schema>
<rules>
- Use standard, minimalist scaffolding (e.g., `npx create-vite-app@latest ./ --template vanilla` for JS/TS).
- Commands must be non-interactive and suitable for a Linux shell.
- The entry point should be the main file that will hold the frontend logic.
- For Python, always use `.venv` as the virtual environment folder name.
- Output ONLY the raw JSON object. No backticks, no commentary.
</rules>
<language>{LANGUAGE}</language>"#;