Repository navigation
feat(cli): add configure --clear and name the supported OS credential stores in whoami help - #140
TristanSpeakEasy wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 14 files
Shadow auto-approve: would not auto-approve because issues were found.
View guided diff | Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 10 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would not auto-approve. Auto-approval blocked by 2 unresolved issues from previous reviews.
View guided diff | Turn on auto-fix | Re-trigger cubic
…hain delete failures
There was a problem hiding this comment.
0 issues found across 6 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would auto-approve. Adds an optional configure --clear flag to remove individual stored credentials, global parameters, and the default output format, with validation and tests, and updates whoami help text; a bounded, backward-compatible CLI config change.
View guided diff | Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 3 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would auto-approve. Adds a bounded, backward-compatible configure --clear flag to remove stored credentials, global parameters, and default output format, with validation and tests, and updates whoami/auth keyring help text; no rollout, contract, or security-policy change.
View guided diff | Turn on auto-fix | Re-trigger cubic
AshGodfrey
left a comment
There was a problem hiding this comment.
Verified on a regenerated CLI: --clear works for every stored name in comma and repeated forms, an unknown name exits 2 without touching anything, and the whoami legends read correctly.
Why
configurehad no way to remove an individual stored value. Leaving a form field blank keeps the old value, and only the default output format has a clear option. Global parameters can be blanked with--api-version=-style flags, but a credential stored in the OS credential store could only be removed withauth logout, which removes every credential at once.Separately,
whoamiandauth whoamihelp described the[keyring]source as "OS keychain", which does not match what users see on macOS or Windows.What changed
configuregains--clear <name>(repeatable or comma-separated). Names are the stored flag names: credentials, global parameters anddefault-output-format. Secret credentials are deleted from the OS credential store when it is available and blanked in the config file; global parameters and the output format are blanked in the config file.--clearskips the form like the other value flags, and each cleared name is reported (Cleared --api-version).CLI_VALIDATION(exit 2), lists the valid options and leaves the keychain and config file untouched.config.DeleteStoredSecretdeletes a credential from the keychain, treating "not stored" and an unresponsive keychain (already reported as skipped) as success. If the keychain refuses the delete,--clearfails before the config file is saved, so it never reportsClearedfor a credential that is still in effect.[keyring]line inwhoami/auth whoamihelp names the supported stores (macOS Keychain, Windows Credential Manager or Secret Service) and is only shown when the API declares global security. The text is static so generated docs are identical whichever OS builds them. The machine-readable source value stayskeyring.--clear: clearing a credential and a global parameter, an invalid name leaving everything in place, and a failed keychain delete.Testing
TARGET=review make test-cliandTARGET=primary make test-cli: pass.make check-template-cli: passes.--cleara global parameter and the default output format,--clearan unknown name (exit 2 with the option list), and checkedwhoami --help.Public-safety check
.claude/skills/public-repo-communication/SKILL.md).git diff --check.