{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/pyproject/_shared/latest--partial-dfc.json",
  "x-lintel": {
    "source": "https://json.schemastore.org/partial-dfc.json",
    "sourceSha256": "f6f2eaa18662960fac3041813e1e297e5f651c76b584c235772b776ff84899e3"
  },
  "type": "object",
  "properties": {
    "allow_undefined_sections": {
      "title": "Allow Undefined Sections",
      "description": "Allow sections not defined in the configuration.",
      "type": "boolean",
      "default": false
    },
    "require_docstrings": {
      "title": "Require Docstrings",
      "description": "Require docstrings for all functions/methods.",
      "type": "boolean",
      "default": true
    },
    "check_private": {
      "title": "Check Private Members",
      "description": "Check docstrings for private members (starting with an underscore).",
      "type": "boolean",
      "default": false
    },
    "validate_param_types": {
      "title": "Validate Parameter Types",
      "description": "Validate that parameter types are provided in the docstring.",
      "type": "boolean",
      "default": true
    },
    "optional_style": {
      "title": "Optional Style",
      "description": "The style for reporting issues in optional sections.",
      "type": "string",
      "enum": [
        "silent",
        "validate",
        "strict"
      ],
      "default": "validate"
    },
    "sections": {
      "type": "array",
      "title": "Docstring Sections",
      "description": "List of docstring section configurations.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "title": "Name",
            "description": "Name of the docstring section.",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "description": "Type of the section content.",
            "type": "string",
            "enum": [
              "free_text",
              "list_name",
              "list_type",
              "list_name_and_type"
            ]
          },
          "order": {
            "title": "Order",
            "description": "Order of the section in the docstring.",
            "type": [
              "integer",
              "null"
            ],
            "default": null
          },
          "admonition": {
            "title": "Admonition",
            "description": "Admonition style for the section. Can be False (no admonition) or a string specifying the admonition type.",
            "oneOf": [
              {
                "type": "boolean",
                "enum": [
                  false
                ]
              },
              {
                "type": "string"
              }
            ],
            "default": false
          },
          "prefix": {
            "title": "Prefix",
            "description": "Prefix string for the admonition values.",
            "type": "string",
            "default": ""
          },
          "required": {
            "title": "Required",
            "description": "Whether this section is required in the docstring.",
            "type": "boolean",
            "default": false
          },
          "message": {
            "title": "Message",
            "description": "Optional message for validation errors.",
            "type": "string",
            "default": ""
          }
        },
        "required": [
          "name",
          "type"
        ],
        "additionalProperties": false
      }
    }
  },
  "$comment": "This is a partial schema for the `docstring-format-checker` package pyproject.toml, under the header [tool.dfc] or [tool.docstring-format-checker].",
  "additionalProperties": false
}
