{{!-- Continue Configuration Template --}}
{
  "$schema": "https://continue.dev/schema.json",
  "projectTitle": "{{project.name}}",
  "description": "{{project.description}}",
  "techstack": "{{join project.tech_stack ", "}}",

  "context": {
    "providers": [
      {
        "name": "codebase",
        "description": "Project codebase context"
      }
    ],
    "rules": [
      {
        "description": "Project Communication Style",
        "type": "markdown",
        "content": "<communication>\n- Speak to me in a professional, technical manner\n- Provide clear explanations for code changes\n- Reference specific files and line numbers when discussing changes\n- Ask clarifying questions when requirements are ambiguous\n</communication>"
      },
      {
        "description": "Filesystem Rules",
        "type": "markdown",
        "content": "<filesystem>\n{{#if key_files.entry_points}}- Key project files: {{join key_files.entry_points ", "}}\n{{/if}}- Models directory: {{#each architecture.layers}}{{#if (ifEquals name 'models')}}{{path}}{{/if}}{{/each}}\n- Migrations directory: {{#each architecture.layers}}{{#if (ifEquals name 'migrations')}}{{path}}{{/if}}{{/each}}\n- Treat node_modules, build, dist as read-only\n</filesystem>"
      },
      {
        "description": "Coding Guidelines",
        "type": "markdown",
        "content": "<coding>\n- Primary language: {{project.primary_language}}\n- Framework: {{#each architecture.layers}}{{#if (ifEquals name 'framework')}}{{name}}{{/if}}{{/each}}\n- Testing framework: jest\n- Follow existing code style and patterns\n- Add type hints/annotations for all functions\n- Write tests for new functionality (target: 80% coverage)\n- Use early returns when possible\n- Avoid deep nesting (>4 levels)\n- Keep functions focused and small (<50 lines)\n</coding>"
      },
      {
        "description": "Commands",
        "type": "table",
        "content": "| Command | Purpose |\n|---------|---------|\n| {{commands.install}} | Install dependencies |\n| {{commands.dev}} | Start development server |\n| {{commands.test}} | Run tests |\n| {{commands.build}} | Build for production |"
      },
      {
        "description": "Architecture",
        "type": "markdown",
        "content": "<architecture>\n{{project.description}}\n\nKey patterns:\n- {{architecture.pattern}}\n{{#each architecture.layers}}\n- {{name}}: {{purpose}}\n{{/each}}\n</architecture>"
      }
    ]
  },

  "slashCommands": [
    {
      "name": "test",
      "description": "Run tests",
      "run": "{{commands.test}}"
    },
    {
      "name": "build",
      "description": "Build project",
      "run": "{{commands.build}}"
    },
    {
      "name": "dev",
      "description": "Start development server",
      "run": "{{commands.dev}}"
    }
  ],

  "models": [
    {
      "title": "GPT-4",
      "provider": "openai",
      "model": "gpt-4"
    },
    {
      "title": "Claude 3 Opus",
      "provider": "anthropic",
      "model": "claude-3-opus-20240229"
    }
  ],

  "tabAutocompleteModel": {
    "title": "DeepSeek V2",
    "provider": "deepseek",
    "model": "deepseek-coder"
  },

  "customCommands": [
    {
      "name": "explain",
      "prompt": "Explain the selected code in detail, including its purpose and how it works."
    },
    {
      "name": "refactor",
      "prompt": "Refactor the selected code to improve readability and maintainability."
    },
    {
      "name": "docs",
      "prompt": "Generate JSDoc/TypeDoc documentation for the selected code."
    }
  ],

  "allowYaml": true,

  "maxContextTokens": 8000,

  "temperature": 0.2,

  "regexDenylist": [
    ".*\\.min\\.js",
    ".*\\.min\\.css",
    "node_modules/.*",
    "build/.*",
    "dist/.*"
  ],

  "_comment": "Generated by create-universal-ai-context v{{metadata.generator_version}}",
  "_generatedAt": "{{metadata.timestamp}}",
  "_toolCoordination": {
    "universalContext": ".ai-context/",
    "regenerateCommand": "npx create-ai-context generate --ai continue"
  }
}
