{
  "slug": "file-tree-generator",
  "name": "gizza-ai/file-tree-generator",
  "version": "0.1.0",
  "title": "File Tree Generator — ASCII Directory Tree — gizza.ai",
  "description": "Turn a list of file paths or an indented outline into an ASCII tree for READMEs and docs. Unicode or ASCII connectors, optional sorting. Free, in-browser.",
  "tags": [
    "file tree generator",
    "ascii tree",
    "directory tree",
    "folder structure diagram",
    "tree command",
    "readme tree",
    "ascii folder structure",
    "project structure generator"
  ],
  "category": "documents",
  "urls": {
    "page": "https://gizza.ai/tools/file-tree-generator/",
    "markdown": "https://gizza.ai/tools/file-tree-generator/index.md",
    "descriptor": "https://gizza.ai/tools/file-tree-generator/tool.json",
    "deep_link_example": "https://gizza.ai/tools/file-tree-generator/?input=src%2Fmain.rs%0Asrc%2Flib.rs%0AREADME.md%0Adocs%2Fguide.md&mode=paths&root=.&ascii=true&trailing_slash=true&sort=true"
  },
  "cli": "gizza tool file-tree-generator \"src/main.rs\nsrc/lib.rs\nREADME.md\ndocs/guide.md\"",
  "tool": {
    "description": "Turn a list of file paths or an indented outline into an ASCII tree diagram for READMEs and docs. In mode='paths' (default) each line is a slash-separated path like 'src/main.rs' and lines sharing a prefix merge into one tree (a trailing '/' marks a directory). In mode='outline' each line's leading whitespace sets the nesting. Output uses Unicode box-drawing connectors by default, or plain ASCII when ascii=true. 'root' labels the top line (default '.'). trailing_slash adds '/' to directories (default true). sort orders entries directories-first then alphabetically (default false keeps input order).",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "ascii": {
          "default": false,
          "type": "boolean"
        },
        "input": {
          "type": "string"
        },
        "mode": {
          "default": "paths",
          "enum": [
            "paths",
            "outline"
          ],
          "type": "string"
        },
        "root": {
          "default": ".",
          "type": "string"
        },
        "sort": {
          "default": false,
          "type": "boolean"
        },
        "trailing_slash": {
          "default": true,
          "type": "boolean"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}