{"id":46538101,"url":"https://github.com/evensolberg/tfdoc","last_synced_at":"2026-03-07T00:14:26.758Z","repository":{"id":65567964,"uuid":"591456762","full_name":"evensolberg/tfdoc","owner":"evensolberg","description":"Generates Terraform module documentation","archived":false,"fork":false,"pushed_at":"2026-02-09T11:26:46.000Z","size":300,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-09T16:25:23.362Z","etag":null,"topics":["autogenerated","documentation","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evensolberg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-20T20:02:07.000Z","updated_at":"2026-02-09T11:26:42.000Z","dependencies_parsed_at":"2023-02-16T02:31:19.836Z","dependency_job_id":"50365b1c-a58c-4815-9e77-923218285437","html_url":"https://github.com/evensolberg/tfdoc","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/evensolberg/tfdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evensolberg%2Ftfdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evensolberg%2Ftfdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evensolberg%2Ftfdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evensolberg%2Ftfdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evensolberg","download_url":"https://codeload.github.com/evensolberg/tfdoc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evensolberg%2Ftfdoc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30204114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autogenerated","documentation","terraform"],"created_at":"2026-03-07T00:14:25.702Z","updated_at":"2026-03-07T00:14:26.744Z","avatar_url":"https://github.com/evensolberg.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tfdoc\n\nThis project aims at generating Terraform module documentation.\n\n`tfdoc` will parse all the `.tf` files within a module's directory and generate markdown code blocks for each resource, data, variable and output block.\nIt will also include any comments that are placed directly above the block.\n\n\u003e **_NOTE: If no output options are specified, the application will still process the files, but will not produce any output._**\n\n## Installation\n\nYou can build the executable yourself with [Rust](https://rust-lang.org).\n\n```sh\n# Installing Rust:\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n\n# Building the application from the repository directory:\ncargo build --release\n\n# Alternatively, you can install the application directly:\ncargo install --path .\n```\n\nThe Releases section of this repository also contains binary builds for various platforms.\n\n## Usage\n\n```sh\n$ tfdoc \u003cDIR(S)\u003e [OPTIONS]\n\nArguments:\n  [DIR(S)]  The directories to process. [default: .]\n\nOptions:\n  -l, --list [\u003cFILE\u003e]   Output the results as lists in a Markdown file. Default file name: tfdoc_summary_lists.md\n  -t, --table [\u003cFILE\u003e]  Output the results as tables in a Markdown file. Default file name: tfdoc_summary_tables.md\n  -c, --csv [\u003cFILE\u003e]    Output to a CSV file with the name provided. Default file name: tfdoc_summary.csv\n  -q, --quiet           Suppress output and silently proceess inputs\n  -r, --recurse         Recursively process directories\n  -h, --help            Print help (see more with '--help')\n  -V, --version         Print version\n```\n\n|Option|Description|\n|------|-----------|\n|`-c \u003ccsv_filenaame\u003e`, `--csv \u003ccsv_filename\u003e`|Export the results as a CSV file. Default file name if none is supplied: `tfdoc_summary.csv`|\n|`-l \u003clist_filename\u003e`, `--table \u003clist_filename\u003e`|Export the results as a set of markdown lists into the file supplied. Default file name if none is supplied: `tfdoc_summary_lists.md`|\n|`-t \u003ctable_filename\u003e`, `--table \u003ctable_filename\u003e`|Export the results as a set of markdown tables into the file supplied. Default file name if none is supplied: `tfdoc_summary_tables.md`|\n|`-q`, `--quiet`|Do not produce any output other than error messages if something goes wrong.|\n|`-r`, `--recurse`|Recursively process directories below the one specified.|\n|`-h`, `--help`|Prints help in short form with `-h` and long form with `--help`|\n|`-V`, `--version`|Prints version information|\n\nYou can specify multiple target directories like this:\n\n```sh\ntfdoc tests/simple tests/test-fixtures\n```\n\n## Expected Terraform File Formatting\n\nThe application will only process files with the `.tf` extension. It will ignore all other files.\n\nIf you wish to include a header for the file, you can do so by adding a comment at the top of the file. The comment must start with `# Title:` or `// Title:` and must be followed by a space. The comment can be followed by any text you wish to include:\n\n```hcl\n# Title: The name of the module\n# Top comment prefixed by \"Title: \" and the following lines\n# will be at the top of the Markdown file\n```\n\nAny resources, data, variables and output can also be documented using comments. The comment must start with `#` or `//` and must be followed by a space. The comment can be followed by any text you wish to include:\n\n```hcl\n# tfdoc keeps comments right on top of resource,\n# variable, and output blocks.\nresource \"aws_instance\" \"this\" {\n  # stuff\n}\n```\n\nIf you include a `description` within an element, this will also be processed:\n\n```hcl\n// We can have both comments on top\noutput \"name\" {\n  description = \"and within outputs and variables\"\n}\n```\n\nOrphaned (i.e., not associated with a resource, data, variable or output) comments will be ignored.\n\n## Troubleshooting\n\nYou can export some logging information by setting the `TFDOC_LOG` environment variable to one of `trace`, `debug`, `info`, `warn`, `error`. If nothing is specified, the application assumes `info`. Currently, only `debug` and `trace` will produce any additional output.\n\n### Logging Examples\n\nStarting the application with the environment variable specified can be done like this:\n\n- `TFDOC_LOG=debug tfdoc .`\n- `TFDOC_LOG=trace tfdoc test/simple/ -t -c result.csv`\n\nNote that setting the logging level to `trace` may produce a lot of output.\n\n## Acknowledgements\n\n- This builds on the original [`tfdoc`](https://github.com/maur1th/tfdoc) by [Thomas Maurin](https://github.com/maur1th)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevensolberg%2Ftfdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevensolberg%2Ftfdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevensolberg%2Ftfdoc/lists"}