{"id":48913884,"url":"https://github.com/afadesigns/zshellcheck","last_synced_at":"2026-06-16T17:00:56.543Z","repository":{"id":323936162,"uuid":"1095311589","full_name":"afadesigns/zshellcheck","owner":"afadesigns","description":"Static analysis and auto-fix for the setopts, hooks, and globs Bash never learned.","archived":false,"fork":false,"pushed_at":"2026-06-14T01:37:17.000Z","size":26689,"stargazers_count":29,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-14T02:23:40.923Z","etag":null,"topics":["ast","format","go","lint","scripts","shell","zsh","zshell","zshrc"],"latest_commit_sha":null,"homepage":"https://github.com/afadesigns/zshellcheck","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/afadesigns.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"afadesigns"}},"created_at":"2025-11-12T22:06:11.000Z","updated_at":"2026-06-14T01:37:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/afadesigns/zshellcheck","commit_stats":null,"previous_names":["afadesigns/zshellcheck"],"tags_count":1073,"template":false,"template_full_name":null,"purl":"pkg:github/afadesigns/zshellcheck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afadesigns%2Fzshellcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afadesigns%2Fzshellcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afadesigns%2Fzshellcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afadesigns%2Fzshellcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afadesigns","download_url":"https://codeload.github.com/afadesigns/zshellcheck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afadesigns%2Fzshellcheck/sbom","scorecard":{"id":1245388,"data":{"date":"2026-03-30T19:19:29Z","repo":{"name":"github.com/afadesigns/zshellcheck","commit":"6b680e0e9c0673b98466946834fdf860c09b02f6"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":8.1,"checks":[{"name":"Code-Review","score":2,"reason":"Found 7/30 approved changesets -- score normalized to 2","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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#security-policy"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#binary-artifacts"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dependency-update-tool"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  30 out of  30 GitHub-owned GitHubAction dependencies pinned","Info:  29 out of  29 third-party GitHubAction dependencies pinned","Info:   1 out of   1 goCommand 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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:24","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:25","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:16","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/release-drafter.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecard.yml:22","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecard.yml:24","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/tag-release.yml:16","Info: topLevel 'contents' permission set to 'read': .github/workflows/actionlint.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/auto-approve.yml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:16","Info: topLevel 'pull-requests' permission set to 'read': .github/workflows/conventional_commits.yml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:6","Info: topLevel 'contents' permission set to 'read': .github/workflows/goreleaser-check.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:6","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yml:9","Info: found token with 'none' permissions: .github/workflows/scorecard.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/tag-release.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/typos.yml:14"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#cii-best-practices"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.1.7 not signed: https://api.github.com/repos/afadesigns/zshellcheck/releases/265997789","Warn: release artifact v0.1.1 not signed: https://api.github.com/repos/afadesigns/zshellcheck/releases/266060201","Warn: release artifact v0.0.79 not signed: https://api.github.com/repos/afadesigns/zshellcheck/releases/264646843","Warn: release artifact v0.1.7 does not have provenance: https://api.github.com/repos/afadesigns/zshellcheck/releases/265997789","Warn: release artifact v0.1.1 does not have provenance: https://api.github.com/repos/afadesigns/zshellcheck/releases/266060201","Warn: release artifact v0.0.79 does not have provenance: https://api.github.com/repos/afadesigns/zshellcheck/releases/264646843"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: GoBuiltInFuzzer integration found: pkg/lexer/lexer_fuzz_test.go:9","Info: GoBuiltInFuzzer integration found: pkg/parser/parser_fuzz_test.go:9"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:12"],"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#packaging"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 18 commits out of 20 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#sast"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: afadesign"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#contributors"}},{"name":"CI-Tests","score":10,"reason":"20 out of 20 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#ci-tests"}}]},"last_synced_at":"2026-03-30T19:25:25.146Z","repository_id":323936162,"created_at":"2026-03-30T19:25:25.147Z","updated_at":"2026-03-30T19:25:25.147Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34415248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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":["ast","format","go","lint","scripts","shell","zsh","zshell","zshrc"],"created_at":"2026-04-17T01:03:54.213Z","updated_at":"2026-06-16T17:00:56.537Z","avatar_url":"https://github.com/afadesigns.png","language":"Go","funding_links":["https://github.com/sponsors/afadesigns"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/banner.png\" alt=\"ZShellCheck\" width=\"100%\" /\u003e\n\n### The quiet linter for a quiet shell.\n\nStatic analysis and auto-fix for the setopts, hooks, and globs Bash never learned.\n\n[![CI](https://github.com/afadesigns/zshellcheck/actions/workflows/ci.yml/badge.svg)](https://github.com/afadesigns/zshellcheck/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/badge/release-v1.7.0-blue)](https://github.com/afadesigns/zshellcheck/releases/latest)\n[![Marketplace](https://img.shields.io/badge/Marketplace-ZshellCheck%20v1-2ea44f?logo=githubactions\u0026logoColor=white)](https://github.com/marketplace/actions/zshellcheck-v1)\n[![Auto-fix](https://img.shields.io/badge/auto--fix-132%20katas-2ea44f)](KATAS.md)\n[![Dependencies](https://img.shields.io/badge/dependencies-0-2ea44f)](go.mod)\n[![Go Report](https://goreportcard.com/badge/github.com/afadesigns/zshellcheck)](https://goreportcard.com/report/github.com/afadesigns/zshellcheck)\n[![codecov](https://codecov.io/gh/afadesigns/zshellcheck/graph/badge.svg)](https://codecov.io/gh/afadesigns/zshellcheck)\n[![Scorecard](https://api.securityscorecards.dev/projects/github.com/afadesigns/zshellcheck/badge)](https://securityscorecards.dev/viewer/?uri=github.com/afadesigns/zshellcheck)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12657/badge?v=gold)](https://www.bestpractices.dev/projects/12657)\n[![SLSA](https://img.shields.io/badge/SLSA-Level%203-brightgreen)](https://slsa.dev)\n\n[**Install**](INSTALL.md) · [**User guide**](docs/USER_GUIDE.md) · [**Katas**](KATAS.md) · [**Integrations**](INTEGRATIONS.md) · [**Roadmap**](ROADMAP.md) · [**Changelog**](CHANGELOG.md)\n\n\u003c/div\u003e\n\n---\n\n## See it in action\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/demo.gif\" alt=\"ZShellCheck demo\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n## Install\n\n```bash\n# macOS, Linux, WSL\ncurl -fsSL https://raw.githubusercontent.com/afadesigns/zshellcheck/main/install.sh | bash\n```\n\n```powershell\n# Windows\nirm https://raw.githubusercontent.com/afadesigns/zshellcheck/main/install.ps1 | iex\n```\n\n```bash\n# Anywhere Go is installed\ngo install github.com/afadesigns/zshellcheck/cmd/zshellcheck@latest\n```\n\n`--uninstall` reverses any of them.\n\nNative `.deb`, `.rpm`, `.apk`, and a multi-arch container at `ghcr.io/afadesigns/zshellcheck` ship on every release tag.\n\nPinning, cosign verification, and distro one-liners are in [INSTALL.md](INSTALL.md).\n\n## Run\n\n```bash\n# Lint\nzshellcheck path/to/script.zsh\n\n# Write SARIF for GitHub Code Scanning\nzshellcheck -severity warning -format sarif ./scripts \u003e zshellcheck.sarif\n\n# Preview every auto-fix as a unified diff\nzshellcheck -diff path/to/script.zsh\n\n# Apply the fixes\nzshellcheck -fix path/to/script.zsh\n```\n\nExits `0` on a clean run, `1` when anything was flagged.\n`zshellcheck -h` lists every flag, grouped by intent.\n\nSilence inline with `# noka: ZC1234`.\nBare `# noka` silences every kata on the line.\nTrailing, preceding, and file-wide forms are documented in [USER_GUIDE.md](docs/USER_GUIDE.md#inline-noka-directives).\n\n### CI/CD\n\nThe published action checks out your repository, installs a signed release binary, runs it, and fails the job on any finding.\nAdd the SARIF upload to surface results in the repository Security tab:\n\n```yaml\n# .github/workflows/lint.yml\nname: zshellcheck\non: [push, pull_request]\npermissions:\n  contents: read\n  security-events: write\njobs:\n  zshellcheck:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: afadesigns/zshellcheck@latest\n        with:\n          args: -format sarif -severity warning ./scripts \u003e zshellcheck.sarif\n      - uses: github/codeql-action/upload-sarif@v3\n        if: always()\n        with:\n          sarif_file: zshellcheck.sarif\n```\n\nRun it as a pre-commit hook instead:\n\n```yaml\n# .pre-commit-config.yaml\n-   repo: https://github.com/afadesigns/zshellcheck\n    rev: latest\n    hooks:\n      - id: zshellcheck\n```\n\nPin `@latest` and `rev: latest` to a tag from [Releases](https://github.com/afadesigns/zshellcheck/releases/latest) for reproducible CI.\n\n## Integrations\n\nZShellCheck is verified against widely used Zsh frameworks, plugin managers, plugins, and prompts on every release.\nEach runs a parse-and-findings sweep: zero parser errors, zero crashes, and kata findings locked to a reviewed baseline.\nThe full catalog with file counts lives in [INTEGRATIONS.md](INTEGRATIONS.md).\n\n| Category | Examples |\n| :--- | :--- |\n| Frameworks | [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh), [prezto](https://github.com/sorin-ionescu/prezto), [prezto-contrib](https://github.com/belak/prezto-contrib), [zephyr](https://github.com/mattmc3/zephyr), [zimfw](https://github.com/zimfw/zimfw) |\n| Plugin managers | [antidote](https://github.com/mattmc3/antidote), [zinit](https://github.com/zdharma-continuum/zinit) |\n| Plugins | [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting), [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions), [zsh-autocomplete](https://github.com/marlonrichert/zsh-autocomplete), [atuin](https://github.com/atuinsh/atuin), [zsh-help](https://github.com/Freed-Wu/zsh-help) |\n| Prompts | [powerlevel10k](https://github.com/romkatv/powerlevel10k), [spaceship-prompt](https://github.com/spaceship-prompt/spaceship-prompt), [starship](https://github.com/starship/starship), [gitstatus](https://github.com/romkatv/gitstatus) |\n| Tooling | [fzf](https://github.com/junegunn/fzf), [fzf-tab](https://github.com/Aloxaf/fzf-tab), [fast-syntax-highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting) |\n\n## Quality\n\nEvery release replays the linter over the pinned integration corpora and gates on two snapshots:\n\n- Parser errors and crashes stay at zero.\n- Kata findings match a reviewed baseline; a new finding on known-good code fails the build as a candidate false positive.\n\nSemantic-preserving rewrites — added blank lines, comments, or variable renames — must not change which katas fire.\nSee the [local checks](CONTRIBUTING.md#local-checks) for the commands.\n\n## Documentation\n\n**Use it**\n\n- [INSTALL.md](INSTALL.md) — install and uninstall paths for macOS, Windows, Linux, and Docker.\n- [USER_GUIDE.md](docs/USER_GUIDE.md) — CLI reference, configuration, inline directives, FAQ.\n- [KATAS.md](KATAS.md) — every kata with description, severity, and auto-fix status.\n- [INTEGRATIONS.md](INTEGRATIONS.md) — verified Zsh frameworks, plugins, and prompts.\n\n**Develop with it**\n\n- [DEVELOPER.md](docs/DEVELOPER.md) — architecture, AST reference, kata authoring, auto-fix catalog.\n- [REFERENCE.md](docs/REFERENCE.md) — governance, glossary, ShellCheck comparison.\n- [ROADMAP.md](ROADMAP.md) — LSP, distribution channels, plugin system.\n- [CHANGELOG.md](CHANGELOG.md) — per-release history.\n\n**Contribute**\n\n- [CONTRIBUTING.md](CONTRIBUTING.md) — workflow, signing requirements, kata standards.\n- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — community expectations.\n- [SECURITY.md](SECURITY.md) — vulnerability disclosure.\n- [SUPPORT.md](SUPPORT.md) — bug, kata, and discussion routing.\n\n## Contributing\n\nContributions of all kinds are welcome.\nStart with [CONTRIBUTING.md](CONTRIBUTING.md).\n\n- A question or idea? Open a [discussion](https://github.com/afadesigns/zshellcheck/discussions).\n- A bug? File an [issue](https://github.com/afadesigns/zshellcheck/issues).\n- A new kata? See the kata-authoring guide in [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nZShellCheck is licensed under the [MIT License](LICENSE).\n\n## Credits\n\nAuthored and maintained by Andreas Fahl ([@afadesigns](https://github.com/afadesigns)).\nInspired by [ShellCheck](https://www.shellcheck.net/).\n\n\u003cdiv align=\"center\"\u003e\n\n[![Website](https://img.shields.io/badge/Website-afadesign.co-262626?style=flat-square\u0026logo=googlechrome\u0026logoColor=white\u0026labelColor=262626)](https://afadesign.co)\n[![GitHub](https://img.shields.io/badge/GitHub-afadesigns-262626?style=flat-square\u0026logo=github\u0026logoColor=white\u0026labelColor=262626)](https://github.com/afadesigns)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-andreasfahl-262626?style=flat-square\u0026logo=linkedin\u0026logoColor=white\u0026labelColor=262626)](https://linkedin.com/in/andreasfahl)\n[![Instagram](https://img.shields.io/badge/Instagram-afadesign.official-262626?style=flat-square\u0026logo=instagram\u0026logoColor=white\u0026labelColor=262626)](https://instagram.com/afadesign.official)\n[![Facebook](https://img.shields.io/badge/Facebook-andreas.fahl.5-262626?style=flat-square\u0026logo=facebook\u0026logoColor=white\u0026labelColor=262626)](https://facebook.com/andreas.fahl.5)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafadesigns%2Fzshellcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafadesigns%2Fzshellcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafadesigns%2Fzshellcheck/lists"}