Default to offline 'local' provider when none is configured#189
Merged
Conversation
A brand-new user with no --provider flag, no SIGN_PROVIDER env, and no profile provider would resolve to 'dropbox' and have their first mutating command fail with 'DROPBOX_SIGN_API_KEY is not set' — being asked for hosted-provider credentials they never configured, contradicting the product's offline-first, no-signup promise. Change the built-in default fallback in resolveSignProviderWithSource from 'dropbox' to 'local' (the offline PAdES signer, which needs no keys). The resolution order is otherwise unchanged; anyone selecting a hosted provider via flag/env/profile is unaffected. Updates the provider banner text, CLI help, .env.example, docs, CHANGELOG, and the two unit tests that asserted the old default. The Dropbox signature-persistence tests now set provider explicitly rather than relying on the global default. https://claude.ai/code/session_019psdfrLHax8F93AneF733K
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
sign-clipromises fully-offline signing with no signup and no keys, but the provider resolver defaulted to the hosteddropboxprovider when nothing was configured. A brand-new user with no--providerflag, noSIGN_PROVIDERenv, and no profile would have their first mutating command (request create/send) fail with:i.e. being asked for hosted-provider credentials they never set up — contradicting the product's core promise.
Fix
Change the built-in default fallback in
resolveSignProviderWithSourcefromdropboxto the offlinelocalPAdES signer (needs no keys). The resolution order is otherwise unchanged (flag > env > project profile > user profile > built-in default); anyone selecting a hosted provider via flag/env/profile is unaffected.Changes
src/lib/providers.ts— default fallbackdropbox→local; updated banner text.env.example— shipsSIGN_PROVIDER=localwith explanatory commentssrc/cli.ts— help text updatedagent-guide.md,reference/profiles.md,regression-testing.md,setup/dropbox.md,setup/docusign.mdCHANGELOG.md—[Unreleased] → ChangedentryVerification
tsc --noEmit: cleanrequest createnow resolves tolocaland succeeds instead of erroringhttps://claude.ai/code/session_019psdfrLHax8F93AneF733K
Generated by Claude Code