{"id":390037,"url":"https://github.com/rsc/rf","last_synced_at":"2026-10-23T19:32:57.740Z","repository":{"id":44535851,"uuid":"313824529","full_name":"rsc/rf","owner":"rsc","description":"A refactoring tool for Go","archived":false,"fork":false,"pushed_at":"2026-07-10T19:34:35.000Z","size":293,"stargazers_count":693,"open_issues_count":17,"forks_count":29,"subscribers_count":36,"default_branch":"main","last_synced_at":"2026-10-16T23:45:39.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/rsc.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-18T04:40:50.000Z","updated_at":"2026-09-30T21:58:33.000Z","dependencies_parsed_at":"2024-01-13T18:36:48.689Z","dependency_job_id":"b2ff6cbb-bea7-45ab-a401-4cdb3750ce1d","html_url":"https://github.com/rsc/rf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rsc/rf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","download_url":"https://codeload.github.com/rsc/rf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/sbom","scorecard":{"id":786953,"data":{"date":"2025-08-11","repo":{"name":"github.com/rsc/rf","commit":"4ce00de7b5f7f0f69ab2324761e58fc957ce5432"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":5,"reason":"Found 12/23 approved changesets -- score normalized to 5","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":"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":"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":"Maintained","score":10,"reason":"16 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/go.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":"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/go.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Info:   0 out of   2 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":"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":"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":"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:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: 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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"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 'main'"],"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 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-23T06:20:21.129Z","repository_id":44535851,"created_at":"2025-08-23T06:20:21.129Z","updated_at":"2025-08-23T06:20:21.129Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":345082042,"owners_count":38475281,"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-22T02:00:06.372Z","response_time":122,"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"}},"owner":{"login":"rsc","name":"Russ Cox","uuid":"104030","kind":"user","description":"Go Hacker. Mistake maker. (he/him)","email":"rsc@swtch.com","website":"http://research.swtch.com/","location":null,"twitter":null,"company":"Discovery Loop","icon_url":"https://avatars.githubusercontent.com/u/104030?u=7776f9d68ea1bc349af0227c03fca30350a05477\u0026v=4","repositories_count":156,"last_synced_at":"2026-10-22T16:29:44.536Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/rsc","funding_links":[],"total_stars":9579,"followers":11383,"following":1,"created_at":"2022-11-07T07:46:10.912Z","updated_at":"2026-10-22T16:29:44.548Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc/repositories"},"packages":[{"id":3797135,"name":"github.com/rsc/rf","ecosystem":"go","description":"Rf refactors Go programs.\n\nUsage:\n\nRf applies a script of refactoring commands to the package in the current directory.\nFor example, to unexport a field in a struct by renaming it:\n\nBy default, rf writes changes back to the disk.\nThe -diff flag causes rf to print a diff of the intended changes instead.\n\nA script is a sequence of commands, one per line.\nComments are introduced by # and extend to the end of the line.\nCommands may be broken across lines by ending all but the last\nwith a trailing backslash (before any comment), as in:\n\nCommands that take { } blocks need not backslash-escape line breaks inside the braces, as in:\n\nMost commands take “code addresses” as arguments.\nEach code address identifies some code in a program.\nFor illustration, consider this program, prog.go:\n\nThe simplest code address is the name of a top-level declaration.\nIn this program, those addresses are C, D, F, T, V, and VT.\n\nAdding .Name to an address selects a name within the earlier address,\nwhether that's a function variable (F.who, F.msg),\na struct field (T.Field), a method (T.M, T.P),\nor a variable's field (V.Value, V.thing, V.thing.Field, VT.Field).\n\nAnother kind of code address is a Go source file, identified by\na name ending in “.go”, as in “file.go”. If the file name contains\na slash, as in “../dir/file.go”, the address identifies a file in\nthe package in “../dir”.\n\nAnother kind of code address is a Go package, identified by a path\ncontaining a slash but not ending in “.go”, as in “../dir” or\n“example.com/pkg”.\n\nA final kind of code address is a textual range in a function body\nor source file, identified by the syntax Ident:Range, where Ident\nidentifies a file, function, or method and Range identifies a\nsection of text within. The Range syntax is as used in the\nAcme and Sam text editors. The most common forms are the line range\n“N,M”, the byte range “#N,M”, and the regular expression range\n“/re1/,/re2/”. For example:\n\nSee http://9p.io/sys/doc/sam/sam.html Table II for details on the syntax.\n\nThe add command adds text to the source code. It takes as an argument the\naddress after which the text should be added, followed by the text itself.\n\nThe address may be a declaration, text range, file, or package.\nIn all cases, the text is added immediately after the addressed location:\nafter the declaration, after the text range, at the end of the file,\nor at the end of the first file in the package (considering the file names\nin lexical order).\n\nExamples:\n\nThe cp command is like mv (see below) but doesn't delete the source\nand doesn't update any references. (UNIMPLEMENTED)\n\nThe ex command applies rewrites based on example snippets.\n\nThe arguments to ex are interpreted as Go code consisting of a\nsequence of imports and then a list of special “old -\u003e new” rules.\nEach rule specifies that where ex finds a pattern matching old,\nit should replace the code with new. For example, to replace all\nlog.Error calls with log.Panic:\n\nDeclarations introduce typed pattern variables that can be used\nin rules. For example, to simplify certain needlessly complex\nuses of fmt.Sprintf:\n\nThe inline command inlines uses of declared constants, functions, and types.\n\nEach use of the named declarations is replaced by the declaration's definition.\nIf the -rm flag is given, inline removes the declarations as well.\n\nExamples:\n\nGiven the declarations in the “Code addresses” section above, the first command\nreplaces all uses of E with 2.718281828. The second replaces all uses of\nTAlias with T and then removes TAlias.\n\nUNIMPLEMENTED: Inlining of functions.\n\nThe key command converts all struct literals for a list of types to keyed literals.\n\nEach address must identify a struct type. All literals of those struct types are\nupdated to use the keyed form.\n\nExample:\n\nThe mv command moves and renames code.\n\nWhen mv moves or renames old code, it also updates any references\nto use the new names or locations for the code.\nThis includes updating other packages in the current module.\n\nIn general, mv aims to act appropriately for any sensible\ncombination of old and new address form.\nThe rest of this section enumerates the specific cases that\nmv handles.\n\nitem → renamed item\n\nAny named item can be renamed by specifying a destination\nthat is the same code address with the final element changed.\nFor example:\n\nIn this form, the destination address must repeat the dot-separated elements\nleading up to the new name, changing only the final element.\nThe repetition here distinguishes this form from other forms.\n\nvar → var field\n\nA top-level variable can be moved to a new or existing field in a\nglobal variable of struct type. For example:\n\nmethod → func\n\nA method can be moved to a top-level function, removing the association with the receiver type.\nThe receiver remains the first argument of the new function. For example:\n\nfunc → method\n\nA function can be moved to a method on the type of its first argument,\nassuming that type is defined in the same package where the function appears.\nFor example:\n\ncode text → new function\n\nA text range can be moved to a new function, leaving behind an appropriate\ncall to that function. For example:\n\ncode text → new method\n\nA text range can be moved to a new method, leaving behind an approriate\ncall to that method. For example: TODO.\n\nUNIMPLEMENTED.\n\ndeclaration → file\n\nIf the source is a top-level declaration (const, func, method, type, var)\nand the destination is a file, mv moves that declaration, along with\nany comments immediately preceding it, to the end of the\ndestination file. For example:\n\nNaming a single item in a declaration block is taken to indicate\nwanting to move all items in the block. In the example from the\n“Code addresses” section, “mv C x.go” moves D as well.\n\nAny time a destination file must be created, mv initializes it\nwith the header comments (those above the package declaration\nand any package doc) from the file the source code is being\nmoved from. This heuristic is meant to copy header text like copyright notices.\n\nThe file may be in a different package. As usual, mv updates references\nto the moved declaration to refer to its new location, inserting imports\nas needed. If the result is an import cycle, mv reports the cycle\nrather than attempt some kind of automatic (and likely wrong) fix.\n\ndeclaration → package\n\nIf the source is a top-level declaration and the destination is a package,\nmv moves the declaration to the a file in the destination package with\nthe same name as the one holding the source item.\n\nIf the destination package does not exist, it will be created.\n\nfile → file\n\nIf the source and destination are both files, mv moves all code from\nthe source file to the end of the destination file. For example:\n\nfile → package\n\nIf the source is a file and the destination is a package, mv moves all code\nfrom the source file to a file in the destination with the same base name.\nFor example:\n\npackage → file\n\nIf the source is a package and the destination is a file, mv moves all code\nfrom the source package to the named file.\nFor example:\n\nUNIMPLEMENTED.\n\npackage → package\n\nIf the source is a package and the destination is a file, mv moves all code\nfrom the source package to the destination package.\nfrom the source package to the named file.\nFor example:\n\nUNIMPLEMENTED.\n\nmany → file, many → package\n\nIf the destination is a file or package, multiple sources can be listed.\nThe mv command moves each source item in turn to the destination.\n\nThe rm command removes code.\n\nRm deletes the old code. All address forms are valid.\nWhen deleting a declaration, rm also deletes line comments\nimmediately preceding it, up to a blank line.\n\nRf is very very rough. Everything is subject to change, and it may break your programs.","homepage":"https://github.com/rsc/rf","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/rsc/rf","keywords_array":[],"namespace":"github.com/rsc","versions_count":0,"first_release_published_at":null,"latest_release_published_at":"2026-01-14T15:16:42.412Z","latest_release_number":null,"latest_published_release_number":null,"last_synced_at":"2026-10-22T16:16:30.722Z","created_at":"2022-04-11T18:11:16.806Z","updated_at":"2026-10-22T16:16:30.722Z","registry_url":"https://pkg.go.dev/github.com/rsc/rf","install_command":"go get github.com/rsc/rf","documentation_url":"https://pkg.go.dev/github.com/rsc/rf#section-documentation","metadata":{},"repo_metadata":{"id":44535851,"uuid":"313824529","full_name":"rsc/rf","owner":"rsc","description":"A refactoring tool for Go","archived":false,"fork":false,"pushed_at":"2026-07-10T19:34:35.000Z","size":293,"stargazers_count":693,"open_issues_count":17,"forks_count":29,"subscribers_count":36,"default_branch":"main","last_synced_at":"2026-10-01T12:27:58.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/rsc.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-18T04:40:50.000Z","updated_at":"2026-09-30T21:58:33.000Z","dependencies_parsed_at":"2024-01-13T18:36:48.689Z","dependency_job_id":"b2ff6cbb-bea7-45ab-a401-4cdb3750ce1d","html_url":"https://github.com/rsc/rf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rsc/rf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","download_url":"https://codeload.github.com/rsc/rf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/sbom","scorecard":{"id":786953,"data":{"date":"2025-08-11","repo":{"name":"github.com/rsc/rf","commit":"4ce00de7b5f7f0f69ab2324761e58fc957ce5432"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":5,"reason":"Found 12/23 approved changesets -- score normalized to 5","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":"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":"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":"Maintained","score":10,"reason":"16 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/go.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":"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/go.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Info:   0 out of   2 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":"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":"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":"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:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: 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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"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 'main'"],"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 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-23T06:20:21.129Z","repository_id":44535851,"created_at":"2025-08-23T06:20:21.129Z","updated_at":"2025-08-23T06:20:21.129Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":342085742,"owners_count":37908878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-10-01T02:00:06.691Z","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"},"owner_record":{"login":"rsc","name":"Russ Cox","uuid":"104030","kind":"user","description":"Go Hacker. Mistake maker. (he/him)","email":"","website":"http://research.swtch.com/","location":"Cambridge, MA","twitter":"_rsc","company":"Google","icon_url":"https://avatars.githubusercontent.com/u/104030?u=7776f9d68ea1bc349af0227c03fca30350a05477\u0026v=4","repositories_count":141,"last_synced_at":"2024-04-19T20:56:05.753Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rsc","funding_links":[],"total_stars":7824,"followers":9405,"following":0,"created_at":"2022-11-07T07:46:10.912Z","updated_at":"2024-04-19T20:56:51.478Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-10-01T20:26:34.379Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":1.621842380873635,"dependent_packages_count":6.491628958142286,"stargazers_count":null,"forks_count":null,"average":4.056735669507961},"purl":"pkg:golang/github.com/rsc/rf","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/rsc/rf","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/rsc/rf","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/rsc/rf/dependencies","status":"removed","funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-01T20:26:30.647Z","issues_count":24,"pull_requests_count":34,"avg_time_to_close_issue":1138473.1,"avg_time_to_close_pull_request":209241.57894736843,"issues_closed_count":10,"pull_requests_closed_count":19,"pull_request_authors_count":9,"issue_authors_count":15,"avg_comments_per_issue":1.2916666666666667,"avg_comments_per_pull_request":0.6176470588235294,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":160051.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/issues","maintainers":[{"login":"mdempsky","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdempsky"},{"login":"dmitshur","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dmitshur"},{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"},{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"},{"login":"prattmic","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/prattmic"}],"active_maintainers":[{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"},{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frsc%2Frf/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2541048,"maintainers_count":0,"namespaces_count":853808,"keywords_count":146098,"github":"golang","metadata":{"funded_packages_count":120986,"sync_missing_packages_cursor":{"timestamp":"2026-09-29T00:04:57.155362Z","path":"github.com/virtengine/virtengine/sdk/specs","version":"v0.0.0-20260928231908-c0c887541540"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-10-22T05:07:44.151Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3797084,"name":"rsc.io/rf","ecosystem":"go","description":"Rf refactors Go programs.","homepage":"https://github.com/rsc/rf","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/rsc/rf","keywords_array":[],"namespace":"rsc.io","versions_count":2,"first_release_published_at":"2021-04-01T22:10:41.000Z","latest_release_published_at":"2023-06-30T19:28:18.000Z","latest_release_number":"v0.0.0-20230630192818-a0ef20932cb7","latest_published_release_number":"v0.0.0-20230630192818-a0ef20932cb7","last_synced_at":"2026-10-22T16:16:31.732Z","created_at":"2022-04-11T18:11:07.585Z","updated_at":"2026-10-22T16:16:31.732Z","registry_url":"https://pkg.go.dev/rsc.io/rf","install_command":"go get rsc.io/rf","documentation_url":"https://pkg.go.dev/rsc.io/rf#section-documentation","metadata":null,"repo_metadata":{"id":44535851,"uuid":"313824529","full_name":"rsc/rf","owner":"rsc","description":"A refactoring tool for Go","archived":false,"fork":false,"pushed_at":"2026-07-10T19:34:35.000Z","size":293,"stargazers_count":693,"open_issues_count":17,"forks_count":29,"subscribers_count":36,"default_branch":"main","last_synced_at":"2026-10-01T12:27:58.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/rsc.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-18T04:40:50.000Z","updated_at":"2026-09-30T21:58:33.000Z","dependencies_parsed_at":"2024-01-13T18:36:48.689Z","dependency_job_id":"b2ff6cbb-bea7-45ab-a401-4cdb3750ce1d","html_url":"https://github.com/rsc/rf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rsc/rf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","download_url":"https://codeload.github.com/rsc/rf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/sbom","scorecard":{"id":786953,"data":{"date":"2025-08-11","repo":{"name":"github.com/rsc/rf","commit":"4ce00de7b5f7f0f69ab2324761e58fc957ce5432"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":5,"reason":"Found 12/23 approved changesets -- score normalized to 5","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":"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":"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":"Maintained","score":10,"reason":"16 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/go.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":"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/go.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/rsc/rf/go.yml/main?enable=pin","Info:   0 out of   2 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":"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":"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":"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:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: 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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"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 'main'"],"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 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-23T06:20:21.129Z","repository_id":44535851,"created_at":"2025-08-23T06:20:21.129Z","updated_at":"2025-08-23T06:20:21.129Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":342085742,"owners_count":37908878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-10-01T02:00:06.691Z","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"},"owner_record":{"login":"rsc","name":"Russ Cox","uuid":"104030","kind":"user","description":"Go Hacker. Mistake maker. (he/him)","email":"","website":"http://research.swtch.com/","location":"Cambridge, MA","twitter":"_rsc","company":"Google","icon_url":"https://avatars.githubusercontent.com/u/104030?u=7776f9d68ea1bc349af0227c03fca30350a05477\u0026v=4","repositories_count":141,"last_synced_at":"2024-04-19T20:56:05.753Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rsc","funding_links":[],"total_stars":7824,"followers":9405,"following":0,"created_at":"2022-11-07T07:46:10.912Z","updated_at":"2024-04-19T20:56:51.478Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-10-01T20:26:32.008Z","dependent_packages_count":3,"downloads":null,"downloads_period":null,"dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":4.716716996980181,"dependent_packages_count":3.3744975301481914,"stargazers_count":2.4250544967301964,"forks_count":4.992971098959923,"docker_downloads_count":null,"average":3.877310030704623},"purl":"pkg:golang/rsc.io/rf","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/rsc.io/rf","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/rsc.io/rf","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/rsc.io/rf/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-01T20:26:30.647Z","issues_count":24,"pull_requests_count":34,"avg_time_to_close_issue":1138473.1,"avg_time_to_close_pull_request":209241.57894736843,"issues_closed_count":10,"pull_requests_closed_count":19,"pull_request_authors_count":9,"issue_authors_count":15,"avg_comments_per_issue":1.2916666666666667,"avg_comments_per_pull_request":0.6176470588235294,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":160051.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.7777777777777778,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/issues","maintainers":[{"login":"mdempsky","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdempsky"},{"login":"dmitshur","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dmitshur"},{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"},{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"},{"login":"prattmic","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/prattmic"}],"active_maintainers":[{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"},{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/rsc.io%2Frf/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2541048,"maintainers_count":0,"namespaces_count":853808,"keywords_count":146098,"github":"golang","metadata":{"funded_packages_count":120986,"sync_missing_packages_cursor":{"timestamp":"2026-09-29T00:04:57.155362Z","path":"github.com/virtengine/virtengine/sdk/specs","version":"v0.0.0-20260928231908-c0c887541540"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-10-22T05:07:44.151Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":3087308,"full_name":"rsc/rf","default_branch":"main","total_commits":165,"total_committers":9,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":18.333333333333332,"dds":0.5515151515151515,"past_year_total_commits":13,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":4.333333333333333,"past_year_dds":0.3076923076923077,"last_synced_at":"2026-10-22T16:16:28.086Z","last_synced_commit":"85dbf8d53aee26328b0c0d0622d7a6e06f3e4af4","created_at":"2024-10-13T11:37:41.561Z","updated_at":"2026-10-22T16:16:28.070Z","committers":[{"name":"Russ Cox","email":"rsc@golang.org","login":"rsc","count":74},{"name":"Matthew Dempsky","email":"mdempsky@google.com","login":"mdempsky","count":35},{"name":"Austin Clements","email":"austin@google.com","login":"aclements","count":23},{"name":"Ian Alexander","email":"jitsu@google.com","login":"jitsu-net","count":16},{"name":"Michael Matloob","email":"matloob@golang.org","login":"matloob","count":9},{"name":"Michael Pratt","email":"mpratt@google.com","login":"prattmic","count":3},{"name":"Dmitri Shuralyov","email":"dmitri@shuralyov.com","login":"dmitshur","count":3},{"name":"thepudds","email":"thepudds1460@gmail.com","login":"thepudds","count":1},{"name":"Michael Anthony Knyszek","email":"mknyszek@google.com","login":"mknyszek","count":1}],"past_year_committers":[{"name":"Michael Matloob","email":"matloob@golang.org","login":"matloob","count":9},{"name":"jitsu-net","email":"jitsu@google.com","login":"jitsu-net","count":3},{"name":"thepudds","email":"thepudds1460@gmail.com","login":"thepudds","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-23T00:00:05.965Z","repositories_count":8559165,"commits_count":1301160677,"contributors_count":59657723,"owners_count":1841395,"committers_count":3883833,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"rsc/rf","html_url":"https://github.com/rsc/rf","last_synced_at":"2026-10-22T16:16:29.717Z","status":null,"issues_count":24,"pull_requests_count":34,"avg_time_to_close_issue":1138473.1,"avg_time_to_close_pull_request":209241.57894736843,"issues_closed_count":10,"pull_requests_closed_count":19,"pull_request_authors_count":9,"issue_authors_count":15,"avg_comments_per_issue":1.2916666666666667,"avg_comments_per_pull_request":0.6176470588235294,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":160051.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-16T17:07:27.940Z","updated_at":"2026-10-22T16:16:29.717Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Frf/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"NONE":15,"COLLABORATOR":6,"CONTRIBUTOR":3}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":15,"COLLABORATOR":11,"NONE":8}},"issue_authors":{"table":{"mdempsky":5,"vikstrous2":2,"rogpeppe":2,"prattmic":2,"dmitshur":2,"ghost":2,"magodo":1,"sbinet":1,"bkielbasa":1,"mvdan":1,"zephyrtronium":1,"vearutop":1,"mknyszek":1,"cszczepaniak":1,"zx2c4":1}},"pull_request_authors":{"table":{"jitsu-net":17,"dmitshur":6,"prattmic":3,"matloob":2,"sivchari":2,"posener":1,"rogpeppe":1,"pymq":1,"mdempsky":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-23T00:00:07.020Z","repositories_count":18189100,"issues_count":48977511,"pull_requests_count":150844926,"authors_count":12098156,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"COLLABORATOR":6}},"past_year_issue_authors":{"table":{"cszczepaniak":1}},"past_year_pull_request_authors":{"table":{"jitsu-net":4,"matloob":2}},"maintainers":[{"table":{"login":"mdempsky","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mdempsky"}},{"table":{"login":"dmitshur","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dmitshur"}},{"table":{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"}},{"table":{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"}},{"table":{"login":"prattmic","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/prattmic"}}],"active_maintainers":[{"table":{"login":"jitsu-net","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jitsu-net"}},{"table":{"login":"matloob","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matloob"}}]}},"events":{"total":{"CreateEvent":1,"DeleteEvent":1,"ForkEvent":4,"IssueCommentEvent":16,"IssuesEvent":9,"MemberEvent":1,"PullRequestEvent":26,"PullRequestReviewCommentEvent":8,"PullRequestReviewEvent":16,"PushEvent":11,"WatchEvent":16},"last_year":{"ForkEvent":2,"IssueCommentEvent":8,"IssuesEvent":4,"PullRequestEvent":4,"PullRequestReviewEvent":3,"PushEvent":2,"WatchEvent":5}},"keywords":[],"dependencies":[{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2022-09-04T10:22:58.195Z","updated_at":"2022-09-04T10:22:58.195Z","repository_link":"https://github.com/rsc/rf/blob/main/go.mod","dependencies":[{"id":3784838049,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.3.0","direct":true,"kind":"runtime","optional":false},{"id":3784838050,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201111224557-41a3a589386c","direct":true,"kind":"runtime","optional":false},{"id":3784838051,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20200804184101-5ec99f83aff1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"go","filepath":"go.sum","sha":null,"kind":"lockfile","created_at":"2022-09-04T10:22:58.261Z","updated_at":"2022-09-04T10:22:58.261Z","repository_link":"https://github.com/rsc/rf/blob/main/go.sum","dependencies":[{"id":3784838385,"package_name":"github.com/yuin/goldmark","ecosystem":"go","requirements":"v1.2.1","direct":false,"kind":"runtime","optional":false},{"id":3784838386,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20190308221718-c2843e01d9a2","direct":false,"kind":"runtime","optional":false},{"id":3784838387,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20191011191535-87dc89f01550","direct":false,"kind":"runtime","optional":false},{"id":3784838388,"package_name":"golang.org/x/crypto","ecosystem":"go","requirements":"v0.0.0-20200622213623-75b288015ac9","direct":false,"kind":"runtime","optional":false},{"id":3784838389,"package_name":"golang.org/x/mod","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":3784838390,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190404232315-eb5bcb51f2a3","direct":false,"kind":"runtime","optional":false},{"id":3784838391,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20190620200207-3b0461eec859","direct":false,"kind":"runtime","optional":false},{"id":3784838392,"package_name":"golang.org/x/net","ecosystem":"go","requirements":"v0.0.0-20201021035429-f5854403a974","direct":false,"kind":"runtime","optional":false},{"id":3784838393,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20190423024810-112230192c58","direct":false,"kind":"runtime","optional":false},{"id":3784838394,"package_name":"golang.org/x/sync","ecosystem":"go","requirements":"v0.0.0-20201020160332-67f06af15bc9","direct":false,"kind":"runtime","optional":false},{"id":3784838395,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190215142949-d0b11bdaac8a","direct":false,"kind":"runtime","optional":false},{"id":3784838396,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20190412213103-97732733099d","direct":false,"kind":"runtime","optional":false},{"id":3784838397,"package_name":"golang.org/x/sys","ecosystem":"go","requirements":"v0.0.0-20200930185726-fdedc70b468f","direct":false,"kind":"runtime","optional":false},{"id":3784838398,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.0","direct":false,"kind":"runtime","optional":false},{"id":3784838399,"package_name":"golang.org/x/text","ecosystem":"go","requirements":"v0.3.3","direct":false,"kind":"runtime","optional":false},{"id":3784838400,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20180917221912-90fa682c2a6e","direct":false,"kind":"runtime","optional":false},{"id":3784838401,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20191119224855-298f0cb1881e","direct":false,"kind":"runtime","optional":false},{"id":3784838402,"package_name":"golang.org/x/tools","ecosystem":"go","requirements":"v0.0.0-20201111224557-41a3a589386c","direct":false,"kind":"runtime","optional":false},{"id":3784838403,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20190717185122-a985d3407aa7","direct":false,"kind":"runtime","optional":false},{"id":3784838404,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20191011141410-1b5146add898","direct":false,"kind":"runtime","optional":false},{"id":3784838405,"package_name":"golang.org/x/xerrors","ecosystem":"go","requirements":"v0.0.0-20200804184101-5ec99f83aff1","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/go.yml","sha":null,"kind":"manifest","created_at":"2024-01-13T18:36:48.481Z","updated_at":"2024-01-13T18:36:48.481Z","repository_link":"https://github.com/rsc/rf/blob/main/.github/workflows/go.yml","dependencies":[{"id":15591647786,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":15591647787,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]}],"score":10.148783908491472,"created_at":"2026-10-22T16:16:24.630Z","updated_at":"2026-10-23T19:32:57.740Z","avatar_url":"https://github.com/rsc.png","language":"Go","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/390037","html_url":"https://summary.ecosyste.ms/projects/390037"}