Add noninteractive identity bootstrap - #54
Merged
Conversation
dimavrem22
marked this pull request as ready for review
August 4, 2026 05:45
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.
Executive Summary
Adds a resumable, non-interactive bootstrap command for connecting an existing Inkbox identity to Claude Code.
Description
inkbox-claude bootstrapaccepts an identity, API base URL, project directory, Voice AI selection, signing-key rotation authorization, and gateway startup flag. Credentials are read fromINKBOX_API_KEYor standard input, and an admin-scoped credential is exchanged for a saved agent-scoped key.The flow preserves hosted voice/model settings, supplies connection guidance only when Voice AI instructions are empty, persists bridge configuration in the existing private env file with owner-only permissions, and can safely resume after partial completion.
Reason
An agent receiving an assigned Inkbox identity should be able to install and configure the official integration end to end without stepping through a human-oriented wizard.
Decisions
--rotate-signing-keybecause replacing the key transfers verified webhook delivery away from gateways using the previous key.--start-gatewayrestarts an existing detached gateway or starts one in the background so unattended setup leaves a responsive runtime.Testing
python3 -m pytest -q: 441 passed and 23 live-only tests skipped in an isolated environment.inkbox-claude bootstrap --identity <handle> --project-dir "$PWD" --voice-ai --rotate-signing-key --start-gateway: returnedstatus: configured;inkbox-claude doctorreported a healthy gateway.