{"id":13418064,"url":"https://github.com/facebook/fatal","last_synced_at":"2025-10-07T21:04:20.912Z","repository":{"id":20541947,"uuid":"23821422","full_name":"facebook/fatal","owner":"facebook","description":"Fatal is a library for fast prototyping software in modern C++. It provides facilities to enhance the expressive power of C++. The library is heavily based on template meta-programming, while keeping the complexity under-the-hood.","archived":false,"fork":false,"pushed_at":"2025-09-29T15:03:46.000Z","size":2992,"stargazers_count":1016,"open_issues_count":0,"forks_count":155,"subscribers_count":81,"default_branch":"main","last_synced_at":"2025-10-01T00:31:27.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.facebook.com/groups/libfatal/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facebook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2014-09-09T06:04:59.000Z","updated_at":"2025-09-29T22:12:14.000Z","dependencies_parsed_at":"2024-02-19T17:29:48.777Z","dependency_job_id":"d5109753-4dbd-49ee-9eb2-493602043d1b","html_url":"https://github.com/facebook/fatal","commit_stats":{"total_commits":1148,"total_committers":37,"mean_commits":"31.027027027027028","dds":0.1785714285714286,"last_synced_commit":"0874680f7c1929b14525210b4246ba3a3d05614c"},"previous_names":[],"tags_count":435,"template":false,"template_full_name":null,"purl":"pkg:github/facebook/fatal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2Ffatal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2Ffatal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2Ffatal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2Ffatal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebook","download_url":"https://codeload.github.com/facebook/fatal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebook%2Ffatal/sbom","scorecard":{"id":390789,"data":{"date":"2025-08-11","repo":{"name":"github.com/facebook/fatal","commit":"0ddd0a8fe1aa6e4ca6519ff629429fdd29dda396"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.5,"checks":[{"name":"Maintained","score":10,"reason":"14 commit(s) and 0 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":"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":"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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/TagIt.yml:15","Info: topLevel 'contents' permission set to 'read': .github/workflows/TagIt.yml:10"],"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":"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":"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":"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/TagIt.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/facebook/fatal/TagIt.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/TagIt.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/facebook/fatal/TagIt.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/TagIt.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/facebook/fatal/TagIt.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/TagIt.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/facebook/fatal/TagIt.yml/main?enable=pin","Info:   0 out of   4 GitHub-owned 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":"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":"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":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2025.08.11.00 not signed: https://api.github.com/repos/facebook/fatal/releases/239072038","Warn: release artifact v2025.08.04.00 not signed: https://api.github.com/repos/facebook/fatal/releases/237387876","Warn: release artifact v2025.07.28.00 not signed: https://api.github.com/repos/facebook/fatal/releases/235675599","Warn: release artifact v2025.07.21.00 not signed: https://api.github.com/repos/facebook/fatal/releases/233951664","Warn: release artifact v2025.07.14.00 not signed: https://api.github.com/repos/facebook/fatal/releases/232256490","Warn: release artifact v2025.08.11.00 does not have provenance: https://api.github.com/repos/facebook/fatal/releases/239072038","Warn: release artifact v2025.08.04.00 does not have provenance: https://api.github.com/repos/facebook/fatal/releases/237387876","Warn: release artifact v2025.07.28.00 does not have provenance: https://api.github.com/repos/facebook/fatal/releases/235675599","Warn: release artifact v2025.07.21.00 does not have provenance: https://api.github.com/repos/facebook/fatal/releases/233951664","Warn: release artifact v2025.07.14.00 does not have provenance: https://api.github.com/repos/facebook/fatal/releases/232256490"],"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":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'up-to-date branches' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"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":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/facebook/.github/SECURITY.md:1","Info: Found linked content: github.com/facebook/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/facebook/.github/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"}}]},"last_synced_at":"2025-08-18T17:44:37.384Z","repository_id":20541947,"created_at":"2025-08-18T17:44:37.385Z","updated_at":"2025-08-18T17:44:37.385Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278846495,"owners_count":26056117,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":[],"created_at":"2024-07-30T22:00:58.136Z","updated_at":"2025-10-07T21:04:20.901Z","avatar_url":"https://github.com/facebook.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings","C++"],"sub_categories":[],"readme":"# Facebook Template Library [![Support Ukraine](https://img.shields.io/badge/Support-Ukraine-FFD500?style=flat\u0026labelColor=005BBB)](https://opensource.fb.com/support-ukraine) [![Build Status](https://secure.travis-ci.org/facebook/fatal.png?branch=master \"Build Status\")](https://travis-ci.org/facebook/fatal)\nFatal (Facebook Template Library) is a library for fast prototyping software in modern C++.\n\nIt provides facilities heavily based on template meta-programming, while keeping most of the complexity under-the-hood, to enhance the expressive power of C++.\n\nFatal also provides lessons on how to write meta-programs, as well as on how to make the best use of the library, starting at beginner levels.\n\nThe goal is make its benefits available to a wider audience other than just hard-core library writers.\n\n\n## Documentation and Examples\nA learn-by-example guide is available under the [`lesson/`](lesson/) directory.\n\nDemo programs are also available under the [`demo/`](demo/) directory.\n\nExtensive documentation with examples can be found inline in the source header files.\n\n\n## Building Fatal\nFatal is a header only library, therefore no building is required.\n\n\n## Requirements\nA compliant C++14 compiler. Currently tested under Clang {[3.5](https://packages.debian.org/sid/clang-3.5), [3.6](https://packages.debian.org/sid/clang-3.6), [3.7](https://packages.debian.org/sid/clang-3.7), [3.8](https://packages.debian.org/sid/clang-3.8), [3.9](https://packages.debian.org/sid/clang-3.9), [5.0](https://packages.debian.org/sid/clang-5.0)} and GCC {[5](https://packages.debian.org/sid/g++-5), [6](https://packages.debian.org/sid/g++-6)}.\n\nThere are no other external dependencies.\n\n\n## Links\n[Discussions group](https://www.facebook.com/groups/libfatal/) on [Facebook](https://code.facebook.com/)\n\n[Try it online](http://metashell.org/about/demo/index.html) using [Metashell](https://github.com/metashell/metashell).\n\n\n## Philosophy\nFatal moves fast, therefore it uses the latest and greatest in C++ standards. It aims to adopt new standard features as soon as they're officially out, as long as they provide benefits like performance, productivity and usability improvements.\n\nStable versions are tagged and can be found under the [list of releases](https://github.com/facebook/fatal/releases). Look out for breaking changes whenever a new release is made (see below) - they should be listed on the release notes.\n\nThe [`master`](https://github.com/facebook/fatal/) branch is considered the development version of the library and experiences frequent updates. If you want the bleeding edge, that's the branch for you. Be advised, though, that it is under heavy development: breaking changes might be introduced without notice. They'll be tagged with the string `[break]` in the first line of the commit message.\n\n\n## Installation\nThere's no need to install Fatal, as long as you add its base directory to the include directories list.\n\nFor Clang and GCC, it suffices to either:\n- use the `-I path/to/fatal` flag\n- set the environment variable `CPLUS_INCLUDE_PATH=path/to/fatal`\n\n\n## Building Benchmarks and Unit Tests\n```sh\n$ clang++ -Wall -Werror -O2 -std=c++17 -I path/to/fatal \\\n  -o path/to/output/binary path/to/test/or/benchmark.cpp \\\n```\nor\n```sh\n$ g++ -Wall -Werror -O2 -std=c++17 -I path/to/fatal \\\n  -o path/to/output/binary path/to/test/or/benchmark.cpp \\\n```\n\n\n## Join the Fatal community\n- Website: https://github.com/facebook/fatal/\n- Facebook Group: https://www.facebook.com/groups/libfatal/\n- Talk at CppCon 2014: https://www.youtube.com/watch?v=0A9pYr8wevk\n\nSee the CONTRIBUTING file for how to help out.\n\n\n## License\nFatal is BSD-licensed. We also provide an additional patent grant.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebook%2Ffatal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffacebook%2Ffatal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebook%2Ffatal/lists"}