{"id":22831532,"url":"https://github.com/phrase/phrase-cli","last_synced_at":"2026-04-08T10:01:19.372Z","repository":{"id":38416710,"uuid":"259851765","full_name":"phrase/phrase-cli","owner":"phrase","description":"CLI for the Phrase API","archived":false,"fork":false,"pushed_at":"2026-04-01T06:38:53.000Z","size":1046,"stargazers_count":50,"open_issues_count":4,"forks_count":7,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-04-01T09:25:56.034Z","etag":null,"topics":["cli","phrase"],"latest_commit_sha":null,"homepage":"https://developers.phrase.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phrase.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"NOTICE.txt","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-29T07:10:42.000Z","updated_at":"2026-04-01T06:38:56.000Z","dependencies_parsed_at":"2023-10-23T14:59:26.132Z","dependency_job_id":"ee341fc9-ea72-41df-9b50-45defde4aff0","html_url":"https://github.com/phrase/phrase-cli","commit_stats":null,"previous_names":[],"tags_count":168,"template":false,"template_full_name":null,"purl":"pkg:github/phrase/phrase-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phrase%2Fphrase-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phrase%2Fphrase-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phrase%2Fphrase-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phrase%2Fphrase-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phrase","download_url":"https://codeload.github.com/phrase/phrase-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phrase%2Fphrase-cli/sbom","scorecard":{"id":583370,"data":{"date":"2025-08-11","repo":{"name":"github.com/phrase/phrase-cli","commit":"dd954ea4700e95a579bd90b2ea8db235fb769cdb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/vulnerabilities.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":"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":"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":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","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":"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":"23 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"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: MIT 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":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/phrase/phrase-cli/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/phrase/phrase-cli/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/vulnerabilities.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/phrase/phrase-cli/vulnerabilities.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: build/innosetup/Dockerfile:1: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:1aa979d85661c488ce030ac292876cf6ed04535d3a237e49f61542d8e5de5ae0","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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":"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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 2.45.0 not signed: https://api.github.com/repos/phrase/phrase-cli/releases/236787884","Warn: release artifact 2.44.0 not signed: https://api.github.com/repos/phrase/phrase-cli/releases/234852356","Warn: release artifact 2.43.0 not signed: https://api.github.com/repos/phrase/phrase-cli/releases/233521053","Warn: release artifact 2.42.2 not signed: https://api.github.com/repos/phrase/phrase-cli/releases/228750734","Warn: release artifact 2.42.0 not signed: https://api.github.com/repos/phrase/phrase-cli/releases/222347881","Warn: release artifact 2.45.0 does not have provenance: https://api.github.com/repos/phrase/phrase-cli/releases/236787884","Warn: release artifact 2.44.0 does not have provenance: https://api.github.com/repos/phrase/phrase-cli/releases/234852356","Warn: release artifact 2.43.0 does not have provenance: https://api.github.com/repos/phrase/phrase-cli/releases/233521053","Warn: release artifact 2.42.2 does not have provenance: https://api.github.com/repos/phrase/phrase-cli/releases/228750734","Warn: release artifact 2.42.0 does not have provenance: https://api.github.com/repos/phrase/phrase-cli/releases/222347881"],"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"}}]},"last_synced_at":"2025-08-20T19:46:57.882Z","repository_id":38416710,"created_at":"2025-08-20T19:46:57.882Z","updated_at":"2025-08-20T19:46:57.882Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31549900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"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":["cli","phrase"],"created_at":"2024-12-12T20:26:29.951Z","updated_at":"2026-04-08T10:01:19.366Z","avatar_url":"https://github.com/phrase.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CLI v2 client for phrase\n\nThe Phrase Strings Client is available for all major platforms and lets you access all API endpoints as well as easily sync your locale files between your source code and Phrase.\n\nPhrase Strings is a translation management platform for software projects. You can collaborate on language file translation with your team or order translations through our platform. The API allows you to import locale files, download locale files, tag keys or interact in other ways with the localization data stored in Phrase Strings for your account.\n\nThis CLI client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.\n\n- API version: 2.0.0\n- Package version: 2.59.0\n\n- Build package: org.openapitools.codegen.languages.GoClientCodegen\n\nFor more information, please visit [https://developers.phrase.com/api/](https://developers.phrase.com/api/)\n\n\n## Quick Start\n\nThis quick start will guide you through the basic steps to get up and running with the Phrase Strings Client.\n\n#### 1. Install\n\n[Download and install](https://phrase.com/cli) the client for your platform. See our [detailed installation guide](https://support.phrase.com/hc/en-us/articles/5784093863964) for more information.\n\n##### Homebrew\n\nIf you use homebrew, we have provided a tap to make installation easier on Mac OS X:\n\n        brew install phrase-cli\n\nThe tap is linked to our Formula collection and will be updated, when you call `brew update` as well.\n\n#### 2. Init\n\nInitialize your project by executing the `init` command. This lets you define your preferred locale file format, source files and more.\n\n    $ cd /path/to/project\n    $ phrase init\n\nWhen using the US datacenter you need to provide a different API host:\n\n    $ phrase init --host https://api.us.app.phrase.com/v2\n\n#### 3. Upload your locale files\n\nUse the `push` command to upload your locale files from your defined [sources](https://support.phrase.com/hc/en-us/articles/5784118494492-Modify-the-CLI-Configuration-File-Strings#push-and-pull-0-0):\n\n    $ phrase push\n\n#### 4. Download your locale files\n\nUse the `pull` command to download the most recent locale files back into your project according to your [targets](https://support.phrase.com/hc/en-us/articles/5784118494492-Modify-the-CLI-Configuration-File-Strings#push-and-pull-0-0):\n\n    $ phrase pull\n\n#### 5. Docker\n\nYou can also use `phrase` through a docker image, without installing the cli on your computer.\n\n    $ docker run --rm phrase/phrase-cli:2.59.0 help\n\nSome commands are interactive and require the `-it` flag.\n\n    $ docker run -it phrase/phrase-cli:2.59.0 init\n\nCommands that need to read the config file and write locale files can mount a directory.\n\n    $ docker run --volume $(pwd):/code --workdir /code --rm phrase/phrase-cli:2.59.0 pull\n\nYou can also use the docker image as base for more complex images.\n\n#### 6. More\n\nTo see a list of all available commands, simply execute:\n\n    $ phrase\n\nTo see all supported options for a command, simple use the `--help` flag:\n\n    $ phrase locales list --help\n\nSee our [detailed guides](https://support.phrase.com/hc/en-us/articles/5808300599068) for in-depth instructions on how to use the Phrase Strings Client.\n\n## Contributing\n\nThis tool and it's source code are auto-generated from templates that run against a API specification file. Therefore we can not accept any pull requests in this repository. Please use the GitHub Issue Tracker to report bugs.\n\n## Further reading\n* [Phrase Strings Client Download Page](https://phrase.com/cli)\n\n## Licenses\n\nphrase-client is licensed under MIT license. (see [LICENSE](LICENSE))\n\nParts of phrase-client use third party libraries which are vendored and licensed under different licenses\n\n## Author\n\nsupport@phrase.com\n\n## Get help / support\n\nPlease contact [support@phrase.com](mailto:support@phrase.com?subject=[GitHub]%20phrase-cli) and we can take more direct action toward finding a solution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphrase%2Fphrase-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphrase%2Fphrase-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphrase%2Fphrase-cli/lists"}