{"id":13432469,"url":"https://github.com/tj-actions/auto-doc","last_synced_at":"2025-12-24T07:47:37.829Z","repository":{"id":39674263,"uuid":"286065192","full_name":"tj-actions/auto-doc","owner":"tj-actions","description":":octocat: Github action that turns your reusable workflows and custom actions into easy to read markdown tables.","archived":false,"fork":false,"pushed_at":"2024-09-03T20:12:37.000Z","size":972,"stargazers_count":40,"open_issues_count":7,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-29T18:35:05.287Z","etag":null,"topics":["action","actions","automation","documentation","documentation-generator","documentation-tool","github","github-action","github-actions","markdown","readme-md","reusable-workflows","yaml","yaml2markdown"],"latest_commit_sha":null,"homepage":"","language":"Go","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/tj-actions.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":["jackton1"],"patreon":null,"open_collective":"tj-actions","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":[]}},"created_at":"2020-08-08T15:05:48.000Z","updated_at":"2024-09-22T11:53:34.000Z","dependencies_parsed_at":"2023-11-19T04:28:35.958Z","dependency_job_id":"b50e0ee4-3c05-4b20-a7c1-3a239622fcb1","html_url":"https://github.com/tj-actions/auto-doc","commit_stats":{"total_commits":887,"total_committers":17,"mean_commits":52.1764705882353,"dds":0.37880496054115,"last_synced_commit":"ed9420b570e551f88ca0df8a4ff5065300c1b31e"},"previous_names":["tj-actions/action-auto-doc"],"tags_count":84,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fauto-doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fauto-doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fauto-doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fauto-doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tj-actions","download_url":"https://codeload.github.com/tj-actions/auto-doc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801675,"owners_count":20350108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["action","actions","automation","documentation","documentation-generator","documentation-tool","github","github-action","github-actions","markdown","readme-md","reusable-workflows","yaml","yaml2markdown"],"created_at":"2024-07-31T02:01:12.042Z","updated_at":"2025-12-24T07:47:37.818Z","avatar_url":"https://github.com/tj-actions.png","language":"Go","readme":"[![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\\\u0026logo=ubuntu\\\u0026logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)\n[![Mac OS](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge\\\u0026logo=macos\\\u0026logoColor=F0F0F0)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)\n[![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\\\u0026logo=windows\\\u0026logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)\n[![Public workflows that use this action.](https://img.shields.io/endpoint?style=for-the-badge\\\u0026url=https%3A%2F%2Fused-by.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26package_id%3DUGFja2FnZS0yOTU3MDU0NDI1%26badge%3Dtrue)](https://github.com/search?o=desc\\\u0026q=tj-actions+auto-doc+language%3AYAML\\\u0026s=\\\u0026type=Code)\n\n\n\n[![CI](https://github.com/tj-actions/auto-doc/workflows/CI/badge.svg)](https://github.com/tj-actions/auto-doc/actions?query=workflow%3ACI)\n![Coverage](https://img.shields.io/badge/Coverage-84.9%25-brightgreen)\n[![Update release version.](https://github.com/tj-actions/auto-doc/workflows/Update%20release%20version./badge.svg)](https://github.com/tj-actions/auto-doc/actions?query=workflow%3A%22Update+release+version.%22)\n[![codecov](https://codecov.io/github/tj-actions/auto-doc/branch/main/graph/badge.svg?token=TNXW4QRRJD)](https://codecov.io/github/tj-actions/auto-doc)\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/2ca092c5436e4994b536b02ba6752436)](https://app.codacy.com/gh/tj-actions/auto-doc/dashboard?utm_source=gh\\\u0026utm_medium=referral\\\u0026utm_content=\\\u0026utm_campaign=Badge_grade)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tj-actions/auto-doc)](https://goreportcard.com/report/github.com/tj-actions/auto-doc)\n[![Go Reference](https://pkg.go.dev/badge/github.com/tj-actions/auto-doc/v3.svg)](https://pkg.go.dev/github.com/tj-actions/auto-doc/v3)\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n\n[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n## auto-doc\n\nGitHub Action generates a beautiful, easy-to-read markdown table or YAML code block with just a few lines of code. Say goodbye to manual table creation or outdated YAML code blocks and hello to streamlined documentation that is always up-to-date.\n\n## Features\n\n*   Document your custom [Github action](https://docs.github.com/en/actions/creating-actions) using the `action.yml` file.\n*   Document [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) by specifying the filename.\n*   Easy to understand markdown table of all inputs, outputs, and secrets.\n*   Optional YAML code block for your `action.yml` file which includes all inputs.\n*   Show deprecated inputs.\n*   Fast and always up-to-date documentation.\n\n## Table of Contents\n\n*   [Usage](#usage)\n    *   [Supported Headings](#supported-headings)\n    *   [Example](#example)\n*   [Inputs](#inputs)\n*   [Example workflow](#example-workflow)\n*   [CLI](#cli)\n    *   [Installation](#installation)\n        *   [Install using Go:](#install-using-go)\n        *   [Install using Homebrew:](#install-using-homebrew)\n        *   [Install using Chocolatey (Windows):](#install-using-chocolatey-windows)\n    *   [Synopsis](#synopsis)\n    *   [Flags](#flags)\n*   [Credits](#credits)\n*   [Report Bugs](#report-bugs)\n*   [Contributors ✨](#contributors-)\n\n## Usage\n\nAdd any of the supported headings as a [`H2` header](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#headers) in any location of your markdown file.\n\n### Supported Headings\n\n*   `Inputs`\n*   `Outputs`\n*   `Secrets` (only supported by reusable workflows)\n*   `Description` (only supported by actions)\n\n### Example\n\n1.  Add one or more headings to your `README.md`\n\n\u003e \\[!NOTE]\n\u003e This can be multiple headings supported by the input file\n\n    ## Inputs \n\n2\\. Update your workflow\n\n```yaml\n...\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run auto-doc\n        uses: tj-actions/auto-doc@v3\n```\n\n**👇 This was generated 👇 using 👉: [action.yml](./action.yml)**\n\n## Inputs\n\n\u003c!-- AUTO-DOC-INPUT:START - Do not remove or modify this section --\u003e\n\n```yaml\n- uses: tj-actions/auto-doc@v3\n  id: auto-doc\n  with:\n    # Optionally pass a path to \n    # the auto-doc binary \n    # Type: string\n    bin_path: ''\n\n    # Max width of a column\n    # Type: string\n    # Default: \"1000\"\n    col_max_width: ''\n\n    # Max number of words per \n    # line in a column \n    # Type: string\n    # Default: \"5\"\n    col_max_words: ''\n\n    # Path to the yaml file\n    # Type: string\n    # Default: \"action.yml\"\n    filename: ''\n\n    # List of action.yml **input** columns \n    # names to display, default (display all columns) \n    # Type: string\n    input_columns: ''\n\n    # Boolean indicating whether to output \n    # input, output and secret names \n    # as markdown links \n    # Type: boolean\n    # Default: \"true\"\n    markdown_links: ''\n\n    # Path to the output file\n    # Type: string\n    # Default: \"README.md\"\n    output: ''\n\n    # List of action.yml **output** column \n    # names to display, default (display all columns) \n    # Type: string\n    output_columns: ''\n\n    # Repository name with owner. For \n    # example, tj-actions/auto-doc \n    # Type: string\n    # Default: \"${{ github.repository }}\"\n    repository: ''\n\n    # Boolean Indicating whether the file \n    # is a reusable workflow \n    # Type: string\n    reusable: ''\n\n    # List of reusable workflow **input** \n    # column names to display, default \n    # (display all columns) \n    # Type: string\n    reusable_input_columns: ''\n\n    # List of reusable workflow **output** \n    # column names to display, default \n    # (display all columns) \n    # Type: string\n    reusable_output_columns: ''\n\n    # List of reusable workflow **secret** \n    # column names to display, default \n    # (display all columns) \n    # Type: string\n    reusable_secret_columns: ''\n\n    # GitHub token or Personal Access \n    # Token used to fetch the \n    # repository latest tag. \n    # Type: string\n    # Default: \"${{ github.token }}\"\n    token: ''\n\n    # Enable code block documentation\n    # Type: boolean\n    # Default: \"false\"\n    use_code_blocks: ''\n\n    # Use the major version of \n    # the repository tag e.g v1.0.0 \n    # -\u003e v1 \n    # Type: boolean\n    # Default: \"false\"\n    use_major_version: ''\n\n    # Use the tag commit hash \n    # as the version and add \n    # a comment with the tag \n    # name. Example: v1.0.0 -\u003e 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t \n    # // v1.0.0 or v1 \n    # Type: boolean\n    # Default: \"false\"\n    use_tag_commit_hash: ''\n\n    # The version number to run\n    # Type: string\n    version: ''\n\n```\n\n\u003c!-- AUTO-DOC-INPUT:END --\u003e\n\n**👆 This was generated 👆 using 👉 [action.yml](./action.yml)**\n\n## Example workflow\n\nCreate a pull request each time the action.yml inputs/outputs change\n\n```yaml\nname: Update README.md with the latest actions.yml\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  update-doc:\n     runs-on: ubuntu-latest\n     steps:\n       - name: Checkout\n         uses: actions/checkout@v4\n         with:\n           fetch-depth: 0  # otherwise, you will failed to push refs to dest repo\n\n       - name: Run auto-doc\n         uses: tj-actions/auto-doc@v3\n\n       - name: Verify Changed files\n         uses: tj-actions/verify-changed-files@v8.6\n         id: verify-changed-files\n         with:\n           files: |\n             README.md\n\n       - name: Create Pull Request\n         if: steps.verify-changed-files.outputs.files_changed == 'true'\n         uses: peter-evans/create-pull-request@v3\n         with:\n           base: \"main\"\n           title: \"auto-doc: Updated README.md\"\n           branch: \"chore/auto-doc-update-readme\"\n           commit-message: \"auto-doc: Updated README.md\"\n           body: \"auto-doc: Updated README.md\"\n```\n\n## CLI\n\n### Installation\n\n#### Install using Go:\n\n```shell script\ngo get -u github.com/tj-actions/auto-doc/v3\n```\n\n#### Install using Homebrew:\n\n```shell script\nbrew install tj-actions/tap/auto-doc\n```\n\n#### Install using Chocolatey (Windows):\n\n```shell script\nchoco install auto-doc\n```\n\n### Synopsis\n\nAutomatically generate documentation for your custom GitHub action or reusable workflow.\n\n    auto-doc [flags]\n\n### Flags\n\n        --colMaxWidth string                  Max width of a column. (default \"1000\")\n        --colMaxWords string                  Max number of words per line in a column. (default \"6\")\n    -f, --filename string                 config file.\n    -h, --help                            help for auto-doc\n        --inputColumns stringArray            list of input column names. (default [Input,Type,Required,Default,Description])\n    -m, --markdownLinks                   Names of inputs, outputs and secrets as markdown links.\n    -o, --output string                   Output file. (default \"README.md\")\n        --outputColumns stringArray           list of output column names. (default [Output,Type,Description])\n        --repository string                   Repository name with owner. Example: tj-actions/auto-doc\n    -r, --reusable                        A reusable workflow.\n        --reusableInputColumns stringArray    list of reusable input column names. (default [Input,Type,Required,Default,Description])\n        --reusableOutputColumns stringArray   list of reusable output column names. (default [Output,Value,Description])\n        --reusableSecretColumns stringArray   list of reusable secrets column names. (default [Secret,Required,Description])\n        --token string                        GitHub token or Personal Access Token used to fetch the repository latest tag.\n        --useCodeBlocks                       Enable code block documentation.\n        --useMajorVersion                     Use the major version of the repository tag. Example: v1.0.0 -\u003e v                 Use the major version of the repository tag. e.g v1.0.0 -\u003e v1\n\n*   Free software: [Apache License 2.0](LICENSE)\n\nIf you feel generous and want to show some extra appreciation:\n\n[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]\n\n[buymeacoffee]: https://www.buymeacoffee.com/jackton1\n\n[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\n\n## Credits\n\nThis package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter) using [cookiecutter-action](https://github.com/tj-actions/cookiecutter-action)\n\n*   [cobra](https://github.com/spf13/cobra)\n*   [goreleaser](https://github.com/goreleaser/goreleaser/)\n\n## Report Bugs\n\nReport bugs at https://github.com/tj-actions/auto-doc/issues.\n\nIf you are reporting a bug, please include:\n\n*   Your operating system name and version.\n*   Any details about your workflow that might be helpful in troubleshooting.\n*   Detailed steps to reproduce the bug.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n\n\u003c!-- markdownlint-disable --\u003e\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/andreas-aman\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/118175695?v=4?s=100\" width=\"100px;\" alt=\"Andreas Åman\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndreas Åman\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=andreas-aman\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=andreas-aman\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ViacheslavKudinov\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/56436734?v=4?s=100\" width=\"100px;\" alt=\"Viacheslav Kudinov\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eViacheslav Kudinov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=ViacheslavKudinov\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=ViacheslavKudinov\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/looztra\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/246526?v=4?s=100\" width=\"100px;\" alt=\"Christophe Furmaniak\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristophe Furmaniak\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=looztra\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=looztra\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mw-root\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12434761?v=4?s=100\" width=\"100px;\" alt=\"Mike W\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMike W\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=mw-root\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tj-actions/auto-doc/commits?author=mw-root\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://github.com/sponsors/jackton1","https://opencollective.com/tj-actions","https://www.buymeacoffee.com/jackton1"],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftj-actions%2Fauto-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftj-actions%2Fauto-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftj-actions%2Fauto-doc/lists"}