feat(cli): add registries create command#2874
Open
manawenuz wants to merge 6 commits into
Open
Conversation
Adds a Claude Code / AI agent skill for the arcane-cli under skills/arcane-cli/SKILL.md. Installable via: npx skills add getarcaneapp/arcane@arcane-cli Covers: all CLI commands, JSON response shapes (wrapped vs flat), environment discovery, project env file security rules, global flags, common patterns, and known pitfalls (API key permissions, env ID usage). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds `arcane-cli registries create` with flags for url, username,
token, registry-type (generic/ecr), insecure, disabled, description,
and AWS ECR credentials.
Also fixes a bug in `registries update` where --password was sending
the wrong JSON key ("password" instead of "token"), causing token
updates to be silently ignored.
Updates skills/arcane-cli/SKILL.md with the new command, flag table,
and examples for ghcr.io, Docker Hub, self-hosted, and ECR.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Huma validation requires insecure, awsAccessKeyId, awsSecretAccessKey, and awsRegion to be present in the request body even for generic registries. Send them unconditionally (empty string / false as defaults). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…abled The update command used cmd.Flags().Changed() with hardcoded true/false, so '--enabled=false' would still enable and '--disabled=false' would still disable — the opposite of what was requested. Use the flag values directly (registryUpdateEnabled / !registryUpdateDisabled); the mutual-exclusion guard already prevents both flags being set together. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
|
@kmendell ready for review when you get a chance — adds the |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
kmendell
reviewed
Jun 10, 2026
Member
There was a problem hiding this comment.
you can remove this file since i made the updates skills repo for it
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.
Summary
arcane-cli registries create— the only CRUD operation missing from the registries subcommandregistries update:--passwordwas sending{"password": ...}but the API expects{"token": ...}, so token updates via CLI were being silently ignoredskills/arcane-cli/SKILL.mdwith the new command, full flag table, and examples for ghcr.io, Docker Hub, self-hosted HTTP registries, and AWS ECRNew command
--urlghcr.io,docker.io--username--token--registry-typegenericgenericorecr--insecure--disabled--description--aws-access-key-id--aws-secret-access-key--aws-regionBug fix
registries update --passwordwas serialising to{"password": "..."}butUpdateContainerRegistryRequestexpects{"token": "..."}. Fixed to send the correct key; the flag name--passwordis preserved for backwards compatibility.Test plan
arcane-cli registries create --url ghcr.io --username user --token ghp_xxxcreates a registry and prints detailsarcane-cli registries create --url ghcr.io --username user --token ghp_xxx --jsonreturns JSONarcane-cli registries create(no--url) returns a usage errorarcane-cli registries update <id> --password newtokencorrectly updates the tokenarcane-cli registries create --registry-type ecr --aws-access-key-id ... --aws-secret-access-key ... --aws-region us-east-1 --url <ecr-url>creates an ECR registry🤖 Generated with Claude Code
Disclaimer Greptiles Reviews use AI, make sure to check over its work.
To better help train Greptile on our codebase, if the comment is useful and valid Like the comment, if its not helpful or invalid Dislike
To have Greptile Re-Review the changes, mention
greptileai.Greptile Summary
This PR adds the missing
registries createsubcommand and fixes a silent bug whereregistries update --passwordwas sending{"password": ...}instead of the{"token": ...}key the API expects, meaning token updates were silently dropped.registries createis added with full flag support (--url,--token,--username,--registry-type,--insecure,--disabled,--description, and AWS ECR fields);--urlis marked required.registries update --passwordnow correctly maps to{"token": ...}in the request body, matchingUpdateContainerRegistryRequest.skills/arcane-cli/SKILL.mdis added to document the full CLI command surface, including examples for ghcr.io, Docker Hub, self-hosted, and AWS ECR.Confidence Score: 3/5
Safe to merge after fixing the
--disabledflag inversion increateCmd.The
createCmdhas a flag-handling inversion: it testscmd.Flags().Changed("disabled")instead of readingregistryCreateDisableddirectly. A user who explicitly passes--disabled=falsewill get a registry created in the disabled state — the opposite of their intent. While unusual input, the new command path actively produces wrong data for it.cli/pkg/registries/cmd.go — specifically the
enabledfield construction increateCmd.Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "fix(cli): always send required fields in..." | Re-trigger Greptile