{"id":13424522,"url":"https://github.com/crystal-lang/crystal","last_synced_at":"2026-10-18T21:08:26.325Z","repository":{"id":5677857,"uuid":"6887813","full_name":"crystal-lang/crystal","owner":"crystal-lang","description":"The Crystal Programming Language","archived":false,"fork":false,"pushed_at":"2026-10-12T13:35:43.000Z","size":63354,"stargazers_count":20449,"open_issues_count":2094,"forks_count":1716,"subscribers_count":403,"default_branch":"master","last_synced_at":"2026-10-12T14:43:57.359Z","etag":null,"topics":["compiler","crystal","crystal-language","hacktoberfest","programming-language"],"latest_commit_sha":null,"homepage":"https://crystal-lang.org","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"lawrencejones/softeng","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crystal-lang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"open_collective":"crystal-lang"}},"created_at":"2012-11-27T17:32:32.000Z","updated_at":"2026-10-12T11:51:48.000Z","dependencies_parsed_at":"2026-10-05T05:38:04.613Z","dependency_job_id":null,"html_url":"https://github.com/crystal-lang/crystal","commit_stats":{"total_commits":14357,"total_committers":555,"mean_commits":"25.868468468468468","dds":0.5875879361983701,"last_synced_commit":"7b9e2ef80f52d5b5bd2627072ba31619c5ea57a4"},"previous_names":["manastech/crystal"],"tags_count":172,"template":false,"template_full_name":null,"purl":"pkg:github/crystal-lang/crystal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-lang%2Fcrystal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-lang%2Fcrystal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-lang%2Fcrystal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-lang%2Fcrystal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crystal-lang","download_url":"https://codeload.github.com/crystal-lang/crystal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-lang%2Fcrystal/sbom","scorecard":{"id":310393,"data":{"date":"2025-08-11","repo":{"name":"github.com/crystal-lang/crystal","commit":"8850cf7b4588c80143012563cafb7603a2a6ba9f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","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":"Maintained","score":10,"reason":"30 commit(s) and 18 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Dangerous-Workflow","score":0,"reason":"dangerous workflow patterns detected","details":["Warn: untrusted code checkout '${{ github.event.pull_request.head.sha }}': .github/workflows/backport.yml:22"],"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: found token with 'none' permissions: .github/workflows/aarch64-github.yml:1","Info: found token with 'none' permissions: .github/workflows/aarch64.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/backport.yml:13","Info: found token with 'none' permissions: .github/workflows/docs.yml:1","Info: found token with 'none' permissions: .github/workflows/forward-compatibility.yml:1","Info: found token with 'none' permissions: .github/workflows/interpreter.yml:1","Warn: no topLevel permission defined: .github/workflows/lint-actionlint.yml:1","Info: found token with 'none' permissions: .github/workflows/lint-shellcheck.yml:1","Info: found token with 'none' permissions: .github/workflows/linux.yml:1","Info: found token with 'none' permissions: .github/workflows/llvm.yml:1","Info: found token with 'none' permissions: .github/workflows/macos.yml:1","Info: found token with 'none' permissions: .github/workflows/mingw-w64-steps.yml:1","Info: found token with 'none' permissions: .github/workflows/mingw-w64.yml:1","Info: found token with 'none' permissions: .github/workflows/openssl.yml:1","Info: found token with 'none' permissions: .github/workflows/regex-engine.yml:1","Info: found token with 'none' permissions: .github/workflows/smoke.yml:1","Info: found token with 'none' permissions: .github/workflows/wasm32.yml:1","Info: found token with 'none' permissions: .github/workflows/win.yml:1","Info: found token with 'none' permissions: .github/workflows/win_build_portable.yml:1","Info: found token with 'none' permissions: .github/workflows/xml.yml: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":"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":"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.17.1 not signed: https://api.github.com/repos/crystal-lang/crystal/releases/234166040","Warn: release artifact 1.17.0 not signed: https://api.github.com/repos/crystal-lang/crystal/releases/232826367","Warn: release artifact 1.16.3 not signed: https://api.github.com/repos/crystal-lang/crystal/releases/218088193","Warn: release artifact 1.16.2 not signed: https://api.github.com/repos/crystal-lang/crystal/releases/215465540","Warn: release artifact 1.16.1 not signed: https://api.github.com/repos/crystal-lang/crystal/releases/212873329","Warn: release artifact 1.17.1 does not have provenance: https://api.github.com/repos/crystal-lang/crystal/releases/234166040","Warn: release artifact 1.17.0 does not have provenance: https://api.github.com/repos/crystal-lang/crystal/releases/232826367","Warn: release artifact 1.16.3 does not have provenance: https://api.github.com/repos/crystal-lang/crystal/releases/218088193","Warn: release artifact 1.16.2 does not have provenance: https://api.github.com/repos/crystal-lang/crystal/releases/215465540","Warn: release artifact 1.16.1 does not have provenance: https://api.github.com/repos/crystal-lang/crystal/releases/212873329"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Info: Possibly incomplete results: error parsing shell code: invalid parameter name: .github/workflows/llvm.yml:52","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64-github.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64-github.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64-github.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64-github.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64-github.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64-github.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64-github.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64-github.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64-github.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64-github.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/aarch64.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/aarch64.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/aarch64.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/backport.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/backport.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/forward-compatibility.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/forward-compatibility.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/interpreter.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/interpreter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint-actionlint.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/lint-actionlint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint-actionlint.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/lint-actionlint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint-shellcheck.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/lint-shellcheck.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/llvm.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/llvm.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/llvm.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/llvm.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:130: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mingw-w64-steps.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/mingw-w64-steps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/openssl.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/openssl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/regex-engine.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/regex-engine.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/regex-engine.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/regex-engine.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoke.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/smoke.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wasm32.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/wasm32.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wasm32.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/wasm32.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:171: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:197: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:233: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:236: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:273: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:276: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:305: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:308: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:334: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win_build_portable.yml:146: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/win_build_portable.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/xml.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/crystal-lang/crystal/xml.yml/master?enable=pin","Info:   0 out of  71 GitHub-owned GitHubAction dependencies pinned","Info:  13 out of  28 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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T23:05:20.391Z","repository_id":5677857,"created_at":"2025-08-17T23:05:20.391Z","updated_at":"2025-08-17T23:05:20.391Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343843146,"owners_count":38282267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-13T02:00:04.984Z","response_time":52,"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":["compiler","crystal","crystal-language","hacktoberfest","programming-language"],"created_at":"2024-07-31T00:00:55.565Z","updated_at":"2026-10-18T21:08:25.022Z","avatar_url":"https://github.com/crystal-lang.png","language":"Crystal","funding_links":["https://opencollective.com/crystal-lang"],"categories":["Crystal","compiler","Uncategorized","Back-End Development","hacktoberfest","\u003ca name=\"Crystal\"\u003e\u003c/a\u003eCrystal","Open Source Git Repositories"],"sub_categories":["Uncategorized","Programming Languages"],"readme":"# Crystal\n\n[![Linux CI Build Status](https://github.com/crystal-lang/crystal/workflows/Linux%20CI/badge.svg)](https://github.com/crystal-lang/crystal/actions?query=workflow%3A%22Linux+CI%22+event%3Apush+branch%3Amaster)\n[![macOS CI Build Status](https://github.com/crystal-lang/crystal/workflows/macOS%20CI/badge.svg)](https://github.com/crystal-lang/crystal/actions?query=workflow%3A%22macOS+CI%22+event%3Apush+branch%3Amaster)\n[![AArch64 CI Build Status](https://github.com/crystal-lang/crystal/workflows/AArch64%20CI/badge.svg)](https://github.com/crystal-lang/crystal/actions?query=workflow%3A%22AArch64+CI%22+event%3Apush+branch%3Amaster)\n[![Windows CI Build Status](https://github.com/crystal-lang/crystal/workflows/Windows%20CI/badge.svg)](https://github.com/crystal-lang/crystal/actions?query=workflow%3A%22Windows+CI%22+event%3Apush+branch%3Amaster)\n[![CircleCI Build Status](https://circleci.com/gh/crystal-lang/crystal/tree/master.svg?style=shield)](https://circleci.com/gh/crystal-lang/crystal)\n[![Join the chat at https://gitter.im/crystal-lang/crystal](https://badges.gitter.im/crystal-lang/crystal.svg)](https://gitter.im/crystal-lang/crystal)\n[![Code Triagers Badge](https://www.codetriage.com/crystal-lang/crystal/badges/users.svg)](https://www.codetriage.com/crystal-lang/crystal)\n\n---\n\n[![Crystal - Born and raised at Manas](doc/assets/crystal-born-and-raised.svg)](https://manas.tech/)\n\nCrystal is a programming language with the following goals:\n\n- Have a syntax similar to Ruby (but compatibility with it is not a goal)\n- Statically type-checked but without having to specify the type of variables or method arguments.\n- Be able to call C code by writing bindings to it in Crystal.\n- Have compile-time evaluation and generation of code, to avoid boilerplate code.\n- Compile to efficient native code.\n\n## Why?\n\nWe love Ruby's efficiency for writing code.\n\nWe love C's efficiency for running code.\n\nWe want the best of both worlds.\n\nWe want the compiler to understand what we mean without having to specify types everywhere.\n\nWe want full OOP.\n\nOh, and we don't want to write C code to make the code run faster.\n\n## Project Status\n\nWithin a major version, language features won't be removed or changed in any way that could prevent a Crystal program written with that version from compiling and working. The built-in standard library might be enriched, but it will always be done with backwards compatibility in mind.\n\nDevelopment of the Crystal language is possible thanks to the community's effort and the continued support of [84codes](https://www.84codes.com/) and every other [sponsor](https://crystal-lang.org/sponsors).\n\n## Installing\n\n[Follow these installation instructions](https://crystal-lang.org/install)\n\n## Try it online\n\n[play.crystal-lang.org](https://play.crystal-lang.org/)\n\n## Documentation\n\n- [Language Reference](http://crystal-lang.org/reference)\n- [Standard library API](https://crystal-lang.org/api)\n- [Roadmap](https://github.com/crystal-lang/crystal/wiki/Roadmap)\n\n## Community\n\nHave any questions or suggestions? Ask on the [Crystal Forum](https://forum.crystal-lang.org), on our [Gitter channel](https://gitter.im/crystal-lang/crystal) or IRC channel [#crystal-lang](https://web.libera.chat/#crystal-lang) at irc.libera.chat, or on Stack Overflow under the [crystal-lang](http://stackoverflow.com/questions/tagged/crystal-lang) tag. There is also an archived [Google Group](https://groups.google.com/forum/?fromgroups#!forum/crystal-lang).\n\n## Contributing\n\nThe Crystal repository is hosted at [crystal-lang/crystal](https://github.com/crystal-lang/crystal) on GitHub.\n\nRead the general [Contributing guide](https://github.com/crystal-lang/crystal/blob/master/CONTRIBUTING.md), and then:\n\n1. Fork it (\u003chttps://github.com/crystal-lang/crystal/fork\u003e)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrystal-lang%2Fcrystal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrystal-lang%2Fcrystal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrystal-lang%2Fcrystal/lists"}