{"id":15531455,"url":"https://github.com/squiddev/illuaminate","last_synced_at":"2025-08-21T11:32:24.436Z","repository":{"id":42569207,"uuid":"202861217","full_name":"SquidDev/illuaminate","owner":"SquidDev","description":"Very WIP static analysis for Lua","archived":false,"fork":false,"pushed_at":"2024-10-21T19:07:21.000Z","size":2300,"stargazers_count":50,"open_issues_count":14,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-12-09T22:22:47.208Z","etag":null,"topics":["linter","lua","static-analysis"],"latest_commit_sha":null,"homepage":"https://squiddev.cc/illuaminate/","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SquidDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2019-08-17T09:29:18.000Z","updated_at":"2024-11-03T11:42:50.000Z","dependencies_parsed_at":"2023-02-04T16:45:20.072Z","dependency_job_id":"5d129892-9f53-4e6b-bb10-eb1b7467140f","html_url":"https://github.com/SquidDev/illuaminate","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquidDev%2Filluaminate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquidDev%2Filluaminate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquidDev%2Filluaminate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SquidDev%2Filluaminate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SquidDev","download_url":"https://codeload.github.com/SquidDev/illuaminate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230511479,"owners_count":18237657,"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":["linter","lua","static-analysis"],"created_at":"2024-10-02T11:26:15.841Z","updated_at":"2024-12-19T23:13:03.252Z","avatar_url":"https://github.com/SquidDev.png","language":"OCaml","readme":"# 💡 Illuaminate\nSource code analysis for Lua\n\nIlluaminate is a series of tools for working with Lua source code, providing\nways of making your codebase clearer and easier to understand. It's currently\nrather bare bones, and still at a POC stage, but hopefully will expand and\nbecome more useful as it continues to develop.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"doc/example.png\"\n  alt=\"An example of running illuaminate from the command line, displaying several warnings.\"\n  title=\"Running illuaminate from the command line\" /\u003e\n\u003c/p\u003e\n\n## Features\n - Many basic static analysis features (dead code detection, unused variables,\n   etc...) as well as several formatting linters (whitespace, redundant\n   parenthesis, etc...).\n - Automatic code fixer for many of the detected problems.\n - Documentation generation, using LDoc syntax.\n\n## Building\n\n**Note:** use the [upx][] executable packer in order to make the compiled\nfiles a reasonable size (it reduces them by 4x). It should be included in most\npackage managers.\n\n### Using Opam\n - Install [opam][] and set up an OCaml \u003e=4.08.1 switch (e.g. `opam switch create\n   4.11.1`).\n - Install all other dependencies: `opam install --deps-only --with-test .`\n - Build using Dune: `dune build @install @runtest`\n - You may either install illuaminate into opam using `dune install`, or use the\n   files in the `_build/install/default/bin` directory.\n\n### Using Esy\n - Install [esy][]\n - Run `esy` in the repository's root.\n - Illuaminate can now be run using `esy x illuaminate`\n\n## Usage\n - Either build Illuaminate as above, or download a pre-built version:\n   ```\n   \u003e wget https://squiddev.cc/illuaminate/bin/latest/illuaminate-linux-x86_64 # A x86-64 Linux static binary\n   \u003e wget https://squiddev.cc/illuaminate/bin/latest/illuaminate-windows-x86_64.exe # A x86-64 Windows binary\n   ```\n\n   You may need to `chmod +x` the downloaded file to make it executable.\n\n - Run `illuaminate lint` to lint the current directory, or `illuaminate lint\n   my/sub/directory` to lint a specific file or folder. You should receive a report of\n   all problems detected.\n\n - Use `illuaminate fix` (or `illuaminate fix my/sub/directory`) to attempt to\n   fix any detected problems. This command modifies the file in place, so it's a\n   good idea to check your files into version control before fixing, and make\n   sure you're happy with the changes made.\n\n - You can get more fine-grained control over illuaminate using its\n   configuration files. `illuamiante init-config illuaminate.sexp` will generate\n   a template config file which can be adjusted to suit your needs.\n\n[opam]: https://opam.ocaml.org/doc/Install.html \"Installing opam\"\n[omnomnom]: https://github.com/SquidDev/omnomnom \"omnomnom on GitHub\"\n[actions]: https://github.com/features/actions \"An introduction to GitHub actions\"\n[esy]: https://esy.sh/\n[upx]: https://github.com/upx/upx \"upx on GitHub\"\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquiddev%2Filluaminate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquiddev%2Filluaminate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquiddev%2Filluaminate/lists"}