{"id":37030353,"url":"https://github.com/cocolabs/pz-zdoc","last_synced_at":"2026-01-14T03:41:55.825Z","repository":{"id":41155658,"uuid":"314621809","full_name":"cocolabs/pz-zdoc","owner":"cocolabs","description":"ZomboidDoc is a Lua library compiler for Project Zomboid.","archived":false,"fork":false,"pushed_at":"2023-05-13T20:30:48.000Z","size":1019,"stargazers_count":26,"open_issues_count":10,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-15T22:51:59.165Z","etag":null,"topics":["emmylua","intellij","lua","modding-tools","project-zomboid","projectzomboid"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cocolabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2020-11-20T17:19:36.000Z","updated_at":"2024-10-07T05:47:46.000Z","dependencies_parsed_at":"2024-11-15T22:51:56.174Z","dependency_job_id":"7a721679-6c98-40b7-a046-f8e0b4350d46","html_url":"https://github.com/cocolabs/pz-zdoc","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/cocolabs/pz-zdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocolabs%2Fpz-zdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocolabs%2Fpz-zdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocolabs%2Fpz-zdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocolabs%2Fpz-zdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cocolabs","download_url":"https://codeload.github.com/cocolabs/pz-zdoc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocolabs%2Fpz-zdoc/sbom","scorecard":{"id":295298,"data":{"date":"2025-08-11","repo":{"name":"github.com/cocolabs/pz-zdoc","commit":"7b87b081d412eaf0edfd1992f27eea60d32ed1b6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/java-cd.yaml:1","Warn: no topLevel permission defined: .github/workflows/java-ci.yaml:1","Warn: no topLevel permission defined: .github/workflows/java-qa.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:176: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:195: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:206: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:216: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-cd.yaml:225: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-cd.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-ci.yaml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-ci.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-qa.yaml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-qa.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-qa.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-qa.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/java-qa.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-qa.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-qa.yaml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-qa.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/java-qa.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/cocolabs/pz-zdoc/java-qa.yaml/master?enable=pin","Info:   0 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v3.1.0 not signed: https://api.github.com/repos/cocolabs/pz-zdoc/releases/40098306","Warn: release artifact v3.0.1 not signed: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38268231","Warn: release artifact v3.0.0 not signed: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38244928","Warn: release artifact v2.2.0 not signed: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38168020","Warn: release artifact v2.1.0 not signed: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38022706","Warn: release artifact v3.1.0 does not have provenance: https://api.github.com/repos/cocolabs/pz-zdoc/releases/40098306","Warn: release artifact v3.0.1 does not have provenance: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38268231","Warn: release artifact v3.0.0 does not have provenance: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38244928","Warn: release artifact v2.2.0 does not have provenance: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38168020","Warn: release artifact v2.1.0 does not have provenance: https://api.github.com/repos/cocolabs/pz-zdoc/releases/38022706"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-17T19:20:49.531Z","repository_id":41155658,"created_at":"2025-08-17T19:20:49.532Z","updated_at":"2025-08-17T19:20:49.532Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["emmylua","intellij","lua","modding-tools","project-zomboid","projectzomboid"],"created_at":"2026-01-14T03:41:55.028Z","updated_at":"2026-01-14T03:41:55.814Z","avatar_url":"https://github.com/cocolabs.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZomboidDoc\n\n![Java CD](https://github.com/cocolabs/pz-zdoc/workflows/Java%20CD/badge.svg?branch=master) [![Maven Central](https://img.shields.io/maven-central/v/io.github.cocolabs/pz-zdoc.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.cocolabs%22%20AND%20a:%22pz-zdoc%22) [![codecov](https://codecov.io/gh/cocolabs/pz-zdoc/branch/master/graph/badge.svg?token=4D4PT2512I)](https://codecov.io/gh/cocolabs/pz-zdoc) [![License](https://img.shields.io/github/license/cocolabs/pz-zdoc)](https://www.gnu.org/licenses/) [![chat](https://img.shields.io/discord/717757483376050203?color=7289DA)](https://discord.gg/vCeydWCbd9)\n\nZomboidDoc is an easy-to-use Java command-line application that compiles an annotated Lua library directly from modding API. Powered by [IntelliJ IDEA](https://www.jetbrains.com/idea/) it makes mod development an enjoyable experience by providing everything you need to write an amazing mod right from you IDE.\n\n## Introduction\n\nMods for Project Zomboid that change existing or add custom game logic are composed of scripts written in Lua language. Scripts accomplish this by interacting with Java classes exposed by the game engine (also known as modding API) which are documented online via [Javadocs](https://projectzomboid.com/modding/). Although useful, this documentation is often out of date and a bit of a hassle to read through, but does provide us with necessary information to start writing mods.\n\nHowever we still lack a comfortable development environment required to stay motivated and creative. This is where ZomboidDoc comes in! It compiles a Lua library directly from exposed game classes using online modding API to get important information not stored in compiled code such as parameter names and comments.\n\nBecause ZomboidDoc reads directly from game code the compiled Lua library is guaranteed to always be up-to-date with your installed game version regardless of online API documentation - great when modding for beta game versions.\n\n## Features\n\n- Creates a fully documented, readable and always up-to-date modding Lua library.\n- Parses online API documentation to include information not available from decompiled code.\n- Uses [EmmyLua](https://github.com/EmmyLua/IntelliJ-EmmyLua) annotations to enable a high degree of interactive code feedback.\n- **Syntax highlighting** for Lua language to help you navigate your code.\n- On the fly **code inspection** to identify problems and offer solutions.\n- **Smart completion** that gives you a list of relevant symbols in current context.\n- Much more features to discover as you create your mods.\n\n## Installation\n\n### Notes \n\n- *Little question marks are hyperlinks that reveal more information when you hover over them.*\n- *Content captured in angled brackets represents substitution. For example; if the path to game directory is `/home/projectzomboid/` then substitute `PZ_DIR_PATH=\u003cpath_to_game_dir\u003e` with `PZ_DIR_PATH=/home/projectzomboid/`*.\n- *Application path arguments should not end with a backslash when running on Windows to avoid escaping quotation mark delimiters that separate quoted paths as option arguments.*  \n\n### Prerequisites\n\n- Project Zomboid[\u003csup\u003e?\u003c/sup\u003e](#requirements \"tested with 41.50-IWBUMS\")\n- [JDK 8](https://adoptopenjdk.net/?variant=openjdk8\u0026jvmVariant=hotspot)[\u003csup\u003e?\u003c/sup\u003e](#requirements \"tested with OpenJDK 1.8.0_282\")\n\n### Gradle\n\nThe easiest way to install and use ZomboidDoc is with [ZomboidMod](https://github.com/cocolabs/pz-zmod), which has built-in support for all ZomboidDoc commands. Read project [documentation](https://github.com/cocolabs/pz-zmod/blob/master/README.md) to learn more about how to setup and use ZomboidMod.\n\nIt is also possible to setup ZomboidDoc with Gradle without using ZomboidMod:\n\n```groovy\nrepositories {\n    mavenCentral()\n}\ndependencies {\n    // https://search.maven.org/artifact/io.github.cocolabs/pz-zdoc\n    implementation 'io.github.cocolabs:pz-zdoc:3.+'\n}\n```\n\n### Manual\n\n- Download the [latest release](https://github.com/cocolabs/pz-zdoc/releases/latest) from the repository.\n- Extract the release archive to your game installation directory \u003ci\u003eor\u003c/i\u003e anywhere on your computer.\n\n## How to use\n\n### Distribution\n\nThe release distribution archive contains two directories:\n\n- `bin` directory contains application launch scripts.\n- `lib` directory contains application and dependency `jar` files.\n\n### Launch Script\n\nFollow these steps in order to launch ZomboidDoc:\n\n1. Open the terminal and navigate to ZomboidDoc `bin` directory.  \n   `$ cd /D \u003cabsoulte_path_to_app_dir\u003e/bin`\n2. Set environment variable `PZ_DIR_PATH` to point to game installation directory.  \n   `$ set PZ_DIR_PATH=\u003cpath_to_game_dir\u003e` - on Windows.  \n   `$ export PZ_DIR_PATH=\u003cpath_to_game_dir\u003e` - on Unix.\n3. Launch ZomboidDoc with an appropriate launch script.  \n   `$ start pz-zdoc.bat \u003ccommand\u003e \u003cargs\u003e` - on Windows.  \n   `$ sh pz-zdoc \u003ccommand\u003e \u003cargs\u003e` - on Unix.\n\nRead [Commands](#commands) and [Examples](#examples) section for more information.\n\n### Commands\n\nHere is an overview list of available commands:\n\n- `help` - print command usage info for all available commands.\n- `version` - print application and game version information.\n- `annotate` - annotate vanilla Lua files with EmmyLua.\n- `compile` - compile Lua library from modding API.\n\nNotes to keep in mind when executing commands:\n\n- To learn how to use each command run `help [command]` (e.g `help annotate`).\n- Command path arguments that contain whitespaces need to be enclosed in quotation marks.\n\n### Examples\n\nLaunch ZomboidDoc on Windows:\n\n```batch\n@rem Navigate to application bin directory\n@rem Application is installed in game root directory\ncd /D E:\\Games\\Steam\\steamapps\\common\\ProjectZomboid\\pz-zdoc\\bin\n\n# Set environment variable to game installation directory\nset PZ_DIR_PATH=%cd%\\..\\..\\\n\n# Annotate vanilla Lua files with EmmyLua\nstart pz-zdoc.bat annotate -i %PZ_DIR_PATH%\\media\\lua -o ..\\media\\lua\n\n# Compile Lua library from modding API\nstart pz-zdoc.bat compile -i %PZ_DIR_PATH% -o ..\\media\\lua\\shared\\Library\n\n# Check compile ouput directory\ncd ..\\media\\lua \u0026\u0026 dir /B\n```\n\nLaunch ZomboidDoc on Linux:\n\n```shell\n# Navigate to application bin directory\n# Application is NOT installed in game root directory\ncd /home/yooks/Documents/pz-zdoc/bin\n\n# Set environment variable to game installation directory\nexport PZ_DIR_PATH=/home/yooks/.local/share/Steam/steamapps/common/ProjectZomboid/projectzomboid\n\n# Annotate vanilla Lua files with EmmyLua\nsh pz-zdoc annotate -i $PZ_DIR_PATH/media/lua -o ../media/lua\n\n# Compile Lua library from modding API\nsh pz-zdoc compile -i $PZ_DIR_PATH -o ../media/lua/shared/Library\n\n# Check compile ouput directory\ncd ../media/lua \u0026\u0026 ls\n```\n\n### Lua library\n\n#### Standalone\n\nAfter compiling the library no additional steps are *required* and you can use it as-is with your favorite text editor.\n\nNote that although the compiled Lua library can be used without any additional software integration it is intended to be used with IntelliJ IDEA to provide advanced [features](#features) only available when using IDE.\n\n#### IDE integration\n\nFollow these steps to create a new mod project and enable IDE integration:\n\n- Download and install [IntelliJ IDEA](https://www.jetbrains.com/idea/download/).\n- Install [EmmyLua](https://plugins.jetbrains.com/plugin/9768-emmylua) IDEA plugin.\n- Create a new Lua project from IDEA.[\u003csup\u003e?\u003c/sup\u003e](#ide-integration \"File -\u003e New -\u003e Project... -\u003e Lua\")\n- Package the compiled library directory in an archive (to make it read-only).\n- Create `libs` directory inside mod root directory and move the library archive inside it.\n- Add the library archive as a main module dependency.[\u003csup\u003e?\u003c/sup\u003e](https://www.jetbrains.com/help/idea/working-with-module-dependencies.html#add-a-new-dependency \"File -\u003e Project Structure... -\u003e Modules -\u003e \u003cmodule\u003e -\u003e Dependencies -\u003e Add (Alt + Insert) -\u003e Library... (Lua Zip Library)\")\n- Setup basic [mod structure](https://github.com/FWolfe/Zomboid-Modding-Guide/blob/master/structure/README.md) to start your modding adventure.\n\nThat's it, everything should be setup!\n\nYou can now continue modding with full confidence that everything you need to know to create an amazing mod is right at your fingertips. See list of [features](#features) to remind yourself what to expect.\n\n## Discussion\n\n- Feel free to [open a ticket](https://github.com/cocolabs/pz-zdoc/issues/new) if you have any problems, questions or suggestions regarding the project.\n- You are also welcome to join us on [Discord](https://discord.gg/vCeydWCbd9) to talk about modding and follow community projects.\n\n## Credits\n\n- The Indie Stone for developing Project Zomboid.\n- [FWolfe](https://github.com/FWolfe/) for writing [Zomboid-Modding-Guide](https://github.com/FWolfe/Zomboid-Modding-Guide).\n\n## License\n\nThis project is licensed under [GNU General Public License v3.0](https://github.com/cocolabs/pz-zdoc/blob/master/LICENSE.txt).\n\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B23026%2Fgithub.com%2Fcocolabs%2Fpz-zdoc.svg?type=small)](https://app.fossa.com/projects/custom%2B23026%2Fgithub.com%2Fcocolabs%2Fpz-zdoc?ref=badge_small)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocolabs%2Fpz-zdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcocolabs%2Fpz-zdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocolabs%2Fpz-zdoc/lists"}