{"id":16111075,"url":"https://github.com/nikiforovall/cli-persistent-parameters-example","last_synced_at":"2025-04-06T06:29:20.010Z","repository":{"id":122364131,"uuid":"528987318","full_name":"NikiforovAll/cli-persistent-parameters-example","owner":"NikiforovAll","description":"Example of how to add persistent parameters to a CLI application (console application)","archived":false,"fork":false,"pushed_at":"2022-08-26T14:25:14.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-12T12:17:18.965Z","etag":null,"topics":["cli","console-application","example","poc"],"latest_commit_sha":null,"homepage":"https://nikiforovall.github.io/dotnet/2022/08/26/persisted-parameters-in-dotnet-cli.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NikiforovAll.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-08-25T19:15:04.000Z","updated_at":"2022-08-26T14:44:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"25dd5133-7747-42ea-9d67-0e61bbee9b20","html_url":"https://github.com/NikiforovAll/cli-persistent-parameters-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikiforovAll%2Fcli-persistent-parameters-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikiforovAll%2Fcli-persistent-parameters-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikiforovAll%2Fcli-persistent-parameters-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikiforovAll%2Fcli-persistent-parameters-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NikiforovAll","download_url":"https://codeload.github.com/NikiforovAll/cli-persistent-parameters-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445644,"owners_count":20939950,"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","console-application","example","poc"],"created_at":"2024-10-09T19:40:18.175Z","updated_at":"2025-04-06T06:29:19.987Z","avatar_url":"https://github.com/NikiforovAll.png","language":"C#","readme":"# Persisted parameters in CLI applications  [![build](https://github.com/NikiforovAll/cli-persistent-parameters-example/actions/workflows/test-dotnet.yml/badge.svg)](https://github.com/NikiforovAll/cli-persistent-parameters-example/actions/workflows/test-dotnet.yml)\n\nThe goal is to demonstrate how to implement persisted parameters. Kinda what *Azure CLI* and *AWS CLI* do to improve developer experience.\n\nFor example, Azure CLI offers persisted parameters that enable you to store parameter values for continued use.\n\n```bash\n# oleksii_nikiforov in ~/projects\n\u003e az config -h\n\nGroup\n    az config : Manage Azure CLI configuration.\n        Available since Azure CLI 2.10.0.\n        WARNING: This command group is experimental and under development. Reference and support\n        levels: https://aka.ms/CLI_refstatus\n\nSubgroups:\n    param-persist : Manage parameter persistence.\n\nCommands:\n    get           : Get a configuration.\n    set           : Set a configuration.\n    unset         : Unset a configuration.\n```\n\n## Idea\n\nThe general approach is based on idea of storing configuration in well-known location.\n\nFor example: \n\n- `~/.azure/config` is used by Azure CLI\n- `~/.aws/config` and `~/.aws/credentials` are used by AWS CLI\n\nThe solution is not intended to be used as-is in production but is a good starting point.\n\n## Tests\n\nThis projects utilized snapshot testing via [Verify](https://github.com/VerifyTests/Verify).\nFor more details regarding the implementation see [./tests/CliStore.Tests](./tests/CliStore.Tests)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikiforovall%2Fcli-persistent-parameters-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikiforovall%2Fcli-persistent-parameters-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikiforovall%2Fcli-persistent-parameters-example/lists"}