name: Feature Request
description: Propose a new feature or a concrete improvement to Odysseus.
labels: ["enhancement"]

body:
  - type: markdown
    attributes:
      value: |
        **Before submitting:** search [open issues](https://github.com/pewdiepie-archdaemon/odysseus/issues)
        and [discussions](https://github.com/pewdiepie-archdaemon/odysseus/discussions) first.
        Feature requests that duplicate [ROADMAP.md](https://github.com/pewdiepie-archdaemon/odysseus/blob/main/ROADMAP.md)
        or an existing open issue will be closed as duplicates.

        If your idea needs community input before it becomes a concrete proposal,
        start a [discussion](https://github.com/pewdiepie-archdaemon/odysseus/discussions/categories/ideas) instead.

  - type: checkboxes
    id: prerequisites
    attributes:
      label: Prerequisites
      options:
        - label: I searched [open issues](https://github.com/pewdiepie-archdaemon/odysseus/issues?q=is%3Aissue+is%3Aopen) and this has not already been proposed.
          required: true
        - label: I searched [discussions](https://github.com/pewdiepie-archdaemon/odysseus/discussions) and this is not already being debated there.
          required: true
        - label: This is a concrete, actionable proposal — not a vague "it would be nice if..." request.
          required: true

  - type: dropdown
    id: area
    attributes:
      label: Area
      description: Which part of the application does this affect?
      options:
        - "-- Please Select --"
        - Chat / Agent
        - Email
        - Calendar
        - Documents / RAG
        - Memory
        - Cookbook / Local Models / GPU
        - Search
        - Notes / Editor
        - Auth / Security
        - Docker / Deployment
        - UI / Frontend
        - API / Backend
        - MCP
        - Testing / CI
        - Other
    validations:
      required: true

  - type: textarea
    id: problem
    attributes:
      label: Problem or Motivation
      description: What problem does this solve, or what use case does it enable? Be specific — "it would be better" is not enough.
    validations:
      required: true

  - type: textarea
    id: solution
    attributes:
      label: Proposed Solution
      description: Describe the behaviour or change you want to see. Include API shape, UI sketch, or code snippets if that helps make it concrete.
    validations:
      required: true

  - type: textarea
    id: alternatives
    attributes:
      label: Alternatives Considered
      description: What other approaches did you consider and why did you rule them out? If there is an existing workaround, describe it.

  - type: textarea
    id: prior-art
    attributes:
      label: Prior Art / Related Issues
      description: Link any related issues, discussions, or external references that informed this proposal.

  - type: dropdown
    id: willing_to_implement
    attributes:
      label: Are you willing to implement this?
      options:
        - "-- Please Select --"
        - "Yes — I can open a PR"
        - "Partially — I can help but need guidance"
        - "No — I am only filing the request"
    validations:
      required: true
