{"id":15681510,"url":"https://github.com/eomm/keepy-cli","last_synced_at":"2025-05-07T10:34:18.278Z","repository":{"id":33981952,"uuid":"164912492","full_name":"Eomm/keepy-cli","owner":"Eomm","description":"A CLI tool to save encrypted `KEY=VALUE` pairs.","archived":false,"fork":false,"pushed_at":"2023-03-07T04:59:29.000Z","size":72,"stargazers_count":10,"open_issues_count":10,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T10:32:59.859Z","etag":null,"topics":["cli","encryption","environment","key-value","store"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Eomm.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":"2019-01-09T18:02:08.000Z","updated_at":"2023-09-08T17:49:05.000Z","dependencies_parsed_at":"2024-10-23T15:29:04.223Z","dependency_job_id":null,"html_url":"https://github.com/Eomm/keepy-cli","commit_stats":{"total_commits":63,"total_committers":7,"mean_commits":9.0,"dds":0.3650793650793651,"last_synced_commit":"619b8227fe092850b48654eb5ec10fcec2913a27"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fkeepy-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fkeepy-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fkeepy-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eomm%2Fkeepy-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eomm","download_url":"https://codeload.github.com/Eomm/keepy-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252860117,"owners_count":21815473,"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":["cli","encryption","environment","key-value","store"],"created_at":"2024-10-03T16:55:44.991Z","updated_at":"2025-05-07T10:34:18.237Z","avatar_url":"https://github.com/Eomm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keepy-cli\n\n[![Coverage Status](https://coveralls.io/repos/github/Eomm/keepy-cli/badge.svg?branch=master)](https://coveralls.io/github/Eomm/keepy-cli?branch=master) [![install size](https://packagephobia.now.sh/badge?p=keepy-cli)](https://packagephobia.now.sh/result?p=keepy-cli)\n![Build Status](https://github.com/Eomm/keepy-cli/workflows/Test/badge.svg)\n\n\nA CLI tool to save encrypted `KEY=VALUE` pairs in file that you can store securely in your repository.\n\nIf you are tired to store elsewhere your `env` keys, now you can save them where you want!\nLike `npm init`, `keepy init` will create a `keepy-store.json` where it store all the keys encrypted with\nthe `aes-256-gcm` algorithm: all you need is a single password!\nThis is a file that you can store directly in the repository, in a secure hard drive or share via email:\nit's just a secure file of which only you have control and ownership.\n\nSome sugar feature to add tags to the keys and restore the file, and you are ready to play with your\ntoken without losing them in your multiple PC or dev's environments!\n\n\n## Install\n\nTo use this tool you need at least Node.js 10.5.0 because it uses [crypto.scryptSync](https://nodejs.org/api/crypto.html#crypto_crypto_scryptsync_password_salt_keylen_options): **only standard lib to crypt your keys**.\n\n### NPM\n\n```sh\nnpm i keepy-cli -g\n```\nIf you install `keepy-cli` globally, you can use it in your command line via `keepy` (without the `-cli`).\n\n### NPX\n\nOf course, you can use `keepy-cli` via npx. You have only to change the commands\nfrom `keepy \u003ccommand\u003e` ➡️ to `npx keepy-cli \u003ccommand\u003e`\n\n\n## Features\n\nCheck the [man](man/) directory to see all the arguments detail or type `npx keepy-cli help`\nto get a preview.\n\n### Init\n\n```sh\nkeepy init [--yes|-Y]\n           [--overwrite|-F]\n           [--password|-w \u003cstring\u003e]\n           [--help|-h]\n```\nCreates a keepy-store.json where all the protected keys will be saved.\nThe file will be create in the current directory.\n\n### Add\n\n```sh\nkeepy add [--key|-k \u003cstring\u003e]\n          [--payload|-p \u003cstring\u003e]\n          [--file|-f \u003cfile path\u003e]\n          [--env|-e]\n          [--update|-u]\n          [--tags|-t \u003cstring 1\u003e \u003cstring 2\u003e \u003cstring n\u003e]\n          [--help|-h]\n```\nThis command adds one key to the keepy-store.json.\nIf you set a file, all the keys will be added with the input tags.\nThe file can be either .env (K=V) or a .json file. If you import from a JSON file the first-level keys will be the keys you have in the store at the end.\nIf you set all the args `payload`, `env`, `file`, they will be evaluated in this order without overwriting.\n\n### Restore\n\n```sh\nkeepy restore [--stout|-s]\n              [--showtag|-g]\n              [--colored|-c]\n              [--env|-e]\n              [--key|-k \u003cstring\u003e]\n              [--tag|-t \u003cstring\u003e]\n              [--file|-f \u003cfile\u003e]\n              [--overwrite|-F]\n              [--password|-w \u003cstring\u003e]\n              [--help|-h]\n```\nRestore the desired keys stored in keepy-store.json to:\n+ stout\n+ environment variable\n+ `K=V` file\nIf you set multiple output, all will be executed because they are independent.\n\n### Delete\n\n```sh\nkeepy delete [--env|-e]\n             [--key|-k \u003cstring\u003e]\n             [--tag|-t \u003cstring\u003e]\n             [--password|-w \u003cstring\u003e]\n             [--help|-h]\n```\nDelete the desired key from the keepy-store.json.\n\n### Help\n\n```sh\nkeepy -h\n```\n\n---\n\nThis is a `keepy-store.json` example:\n\n```json\n{\n  \"meta\": {\n    \"version\": \"1.0.0\",\n    \"secured\": true,\n    \"hint\": \"Say hi in italian..\"\n  },\n  \"secure\": {\n    \"salt\": \"nWs2oqgGZ3CTxa6lI1MuxaVm4ONLqYROMSsruyJ1buE=\",\n    \"verify\": \"WfaOAnvYI+hCRlnJzn1E+OnXTOY9XdafHFIyGu6kxlPgXWqdQ7B2IX4kP5v0eAyGz/+1GmvDXdrE8QSkOKaNT+DqrtPq5NN74W9QV+KtHSjStL3Nyy0=\"\n  },\n  \"data\": [\n    {\n      \"key\": \"7rR9aPIkfXedJQ072PpJNXWirn2RNMxkpAcPGx71/3z+cBtHi03T916OGu33dUo3pNz83oL/3TLFGqtBkEQK7j1lGzlShRNTFpu3uXIF90K1\",\n      \"payload\": \"5WrTzsRiWPg08tmBIqcToX7gKZs0dKpjZmlK03lqHE8tTVIMA+yI1dty4zUv8Tp7kPXYEJzj7S+LGJ+AVp4fWHT/2QhKEC7Aw43TInIRrBXz\",\n      \"tags\": [\n        \"7T6aoF7qdPyJkDqon3+w/NGprabn4FnzN6sdSS33AvJcJOYWwSvEXj2Tq2TcecpS2xB6oQZk4A9f6yj5dL6+foBVsuTk4Fu65+j3/uTbujfbhw==\",\n        \"7fTUENiDEFEWSglpDwsoyB5RdmimgVXGeDabkUfaOtM/QlOps0mNgV+bkvQ10g6KfFuGTCtUdse2qu1ubX119eeQHzjq6ybYBZ3NsIYoIug9HA==\"\n      ]\n    }\n  ]\n}\n```\n\n\n## Architecture\n\nThis cli architecture has been inspired by [fastify-cli](https://github.com/fastify/fastify-cli)\n\n\n## Test\n\nFor run the tests simply execute:\n```\nnpm test\n```\n\n\n## License\n\nCopyright [Manuel Spigolon](https://github.com/Eomm), Licensed under [MIT](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feomm%2Fkeepy-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feomm%2Fkeepy-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feomm%2Fkeepy-cli/lists"}