{"id":15705037,"url":"https://github.com/sj26/rubygems-keychain","last_synced_at":"2025-05-12T18:09:08.438Z","repository":{"id":66254555,"uuid":"112817176","full_name":"sj26/rubygems-keychain","owner":"sj26","description":"Store Rubygems api keys and signing certificates securely in your macOS Keychain","archived":false,"fork":false,"pushed_at":"2020-03-01T01:33:09.000Z","size":55,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-22T04:54:32.789Z","etag":null,"topics":["icloud","keychain","macos","ruby","rubygems"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/sj26.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}},"created_at":"2017-12-02T06:00:07.000Z","updated_at":"2020-03-01T01:33:09.000Z","dependencies_parsed_at":"2023-06-07T21:33:52.738Z","dependency_job_id":null,"html_url":"https://github.com/sj26/rubygems-keychain","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.030303030303030276","last_synced_commit":"6c728368dd7caf3203366d796c73c540cc98b1ab"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sj26%2Frubygems-keychain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sj26%2Frubygems-keychain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sj26%2Frubygems-keychain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sj26%2Frubygems-keychain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sj26","download_url":"https://codeload.github.com/sj26/rubygems-keychain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231409513,"owners_count":18372470,"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","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":["icloud","keychain","macos","ruby","rubygems"],"created_at":"2024-10-03T20:14:38.707Z","updated_at":"2024-12-26T20:47:38.539Z","avatar_url":"https://github.com/sj26.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rubygems Keychain\n\n[![Gem Version](https://badge.fury.io/rb/rubygems-keychain.svg)](https://badge.fury.io/rb/rubygems-keychain)\n\nStore Rubygems api keys and signing certificates securely in your macOS Keychain. Works with iCloud Keychain.\n\n**Warning: This gem is in active development and should not yet be considered stable**\n\n## Installation\n\nInstall with Rubygems:\n\n```\ngem install rubygems-keychain --pre\n```\n\nNow you probably want to import your existing api keys:\n\n```\ngem keychain import\n```\n\nWhen you're ready, securely remove the old credentials file:\n\n```\nrm -P ~/.gem/credentials\n```\n\nYou can always find your API key again [on your rubygems.org profile](https://rubygems.org/profile/edit).\n\n## Usage\n\nThis gem overrides the default api key get and set methods in Rubygems so should work transparently with all commands. For example:\n\n```\n$ gem owner mailcatcher\nEnter your RubyGems.org credentials.\nDon't have an account yet? Create one at https://rubygems.org/sign_up\n   Email:   sj26@sj26.com\nPassword:   ********\n\nSigned in.\nOwners for gem: mailcatcher\n- sj26@sj26.com\n\n$ stat ~/.gem/credentials\nstat: /Users/sj26/.gem/credentials: stat: No such file or directory\n```\n\n### Import\n\nYou can import existing api keys from your credentials file using:\n\n```\n$ gem keychain import\nImporting api keys from /Users/sj26/.gem/credentials:\n - rubygems (rubygems.org)\n - foo\n - https://gems.example.com\n```\n\nOptionally specify the path to a credentials file:\n\n```\n$ gem keychain import ~/Dropbox/.gem/credentials\nImporting api keys from /Users/sj26/Dropbox/.gem/credentials:\n - ...\n```\n\n### List\n\nList the api keys stored in the Keychain by name/host:\n\n```\n$ gem keychain list\n- rubygems (https://rubygems.org)\n- foo\n- https://gems.example.com\n```\n\nThis will never output the actual keys, just their names.\n\n### Add\n\nAdd new api keys using `gem keychain add`:\n\n```\n$ gem keychain add\nName/host:  foo\nAPI Key:  🔑\nINFO:  Successfully added key for 'foo'\n```\n\nYou can specify the name and optionally the key on the command line if you like, but that is less secure:\n\n```\n$ gem keychain add foo abc123\nINFO:  Successfully added key for 'foo'\n```\n\nTo add an api key for rubygems.org use `rubygems` as the name.\n\n### Remove\n\nRemove api keys using `gem keychain rm`:\n\n```\n$ gem keychain rm\nWhich api key do you want to remove?\n 1. rubygems (rubygems.org)\n 2. foo\n\u003e 2\nAre you sure you want to remove the api key 'foo'? [yN]  y\nINFO:  Successfully removed api key 'foo'\n```\n\nYou can specify the api key name on the command line, and force removal if you wish:\n\n```\n$ gem keychain rm --force foo\nINFO:  Successfully removed api key 'foo'\n```\n\n## Coming Soon\n\n- Certificate management for signing gems\n\n## Known Issues\n\n- Bundler's [gem tasks](http://bundler.io/v1.12/guides/creating_gem.html#releasing-the-gem) require a `~/.gem/credentials` file to exist:\n\n  https://github.com/bundler/bundler/blob/5e49f422b69df8fc5a0c0c06cb1adfc167212b5d/lib/bundler/gem_helper.rb#L104\n\n  Workaround: `echo \"{}\" \u003e ~/.gem/credentials`\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Test rubygems plugin integration with `bundle exec gem ...` which will load the plugin from the current directory.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\nThe helper tool is written in Swift and needs to be code signed correctly for iCloud Keychain to work. At the moment this is only possible by the primary author.\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/sj26/rubygems-keychain.\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsj26%2Frubygems-keychain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsj26%2Frubygems-keychain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsj26%2Frubygems-keychain/lists"}