Skip to content

XDE-87: CLI uses skillget-manager v0.1.4 + contract-aligned docs#2

Merged
remdev merged 1 commit into
mainfrom
feature/xde-85-cli-skillget-manager-v0.1.4
Mar 29, 2026
Merged

XDE-87: CLI uses skillget-manager v0.1.4 + contract-aligned docs#2
remdev merged 1 commit into
mainfrom
feature/xde-85-cli-skillget-manager-v0.1.4

Conversation

@remdev

@remdev remdev commented Mar 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Pins skillget-manager v0.1.4 (registry client contract on main).
  • Aligns CLI help and skillget config with REGISTRY_CLIENT_CONTRACT.md: documents SKILLGET_REGISTRY_READ_TOKEN and how the read bearer is resolved.
  • QUICKSTART links the contract and explains read-token behavior for private/read-protected registries.

Paperclip

  • Closes workstream for XDE-87 / internal ticket XDE-87.

Test plan

  • go test -mod=vendor -short ./...

- Document SKILLGET_REGISTRY_READ_TOKEN in skillget --help
- skillget config reports how the read bearer is resolved
- QUICKSTART links REGISTRY_CLIENT_CONTRACT and READ token flow

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Made-with: Cursor
Copilot AI review requested due to automatic review settings March 29, 2026 02:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CLI user-facing documentation and skillget config output to align with the skillget-manager registry client contract, especially around read-token behavior for read-protected registries.

Changes:

  • Documented the registry client contract as the source of truth for env vars/routes/status codes.
  • Added QUICKSTART guidance for SKILLGET_REGISTRY_READ_TOKEN and fallback-to-write-token behavior.
  • Enhanced skillget config to report how the read bearer is being resolved.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
docs/QUICKSTART.md Links the client contract doc and explains read-token resolution behavior.
cmd/skillget/main.go Updates --help env var docs and prints read-bearer resolution details in skillget config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cmd/skillget/main.go
Comment on lines +72 to +75
SKILLGET_REGISTRY_READ_TOKEN bearer for read-only registries (GET API + archive_url);
if unset, falls back to the write token when set
SKILLGET_REGISTRY_TOKEN bearer for skillget publish (or SKILLGET_TOKEN)
search/install use anonymous GETs unless a read/write token is set

Copilot AI Mar 29, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The help text describes SKILLGET_REGISTRY_READ_TOKEN as for “read-only registries”, but the manager contract uses it for registries that require auth for reads (read-protected), not necessarily read-only. Consider rewording to avoid misleading users about registry capabilities.

Suggested change
SKILLGET_REGISTRY_READ_TOKEN bearer for read-only registries (GET API + archive_url);
if unset, falls back to the write token when set
SKILLGET_REGISTRY_TOKEN bearer for skillget publish (or SKILLGET_TOKEN)
search/install use anonymous GETs unless a read/write token is set
SKILLGET_REGISTRY_READ_TOKEN bearer for registries that require auth for reads (read-protected
GET API + archive_url); if unset, falls back to the write token
SKILLGET_REGISTRY_TOKEN bearer for skillget publish (or SKILLGET_TOKEN); also used for
authenticated search/install when no read token is set (otherwise
search/install use anonymous GETs)

Copilot uses AI. Check for mistakes.
Comment thread cmd/skillget/main.go
fmt.Println("override: export SKILLGET_REGISTRY_URL=… (or legacy SKPKG_REGISTRY_URL)")
}
switch {
case os.Getenv("SKILLGET_REGISTRY_READ_TOKEN") != "":

Copilot AI Mar 29, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

runConfig checks os.Getenv("SKILLGET_REGISTRY_READ_TOKEN") != "" to decide whether a read bearer is set. This treats whitespace-only values as set, but the underlying skillget-manager trims tokens and would treat whitespace as unset, so skillget config can report an incorrect state. Use strings.TrimSpace(os.Getenv(...)) (or compare against skillgetmanager.RegistryReadBearer() and/or RegistryToken() with trimming) to match actual resolution.

Suggested change
case os.Getenv("SKILLGET_REGISTRY_READ_TOKEN") != "":
case strings.TrimSpace(os.Getenv("SKILLGET_REGISTRY_READ_TOKEN")) != "":

Copilot uses AI. Check for mistakes.
@remdev
remdev merged commit 400f323 into main Mar 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants