Skip to content

feat(CLI-1): sync CLI source from monorepo#467

Open
xescugc wants to merge 2 commits into
masterfrom
cli-1/oss-installer-shim
Open

feat(CLI-1): sync CLI source from monorepo#467
xescugc wants to merge 2 commits into
masterfrom
cli-1/oss-installer-shim

Conversation

@xescugc

@xescugc xescugc commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Syncs full CLI source code from the youdeploy-http-api monorepo
  • Replaces the Go installer shim with compilable CLI source (minus tests/mocks)
  • Import paths rewritten from youdeploy-http-api/cli/ to cycloid-cli/
  • Shared dependencies included: gen/models, utils/ptr, utils/coalesce
  • All yderr error handling replaced with standard fmt.Errorf

Test plan

  • go build . compiles successfully
  • No remaining youdeploy-http-api imports in .go files
  • Verify goreleaser builds work

xescugc added 2 commits June 23, 2026 11:22
Replace all CLI source code with a thin installer binary that
auto-downloads the correct platform-specific pre-built cy binary
from GitHub Releases on first run.

What remains:
- main.go: shim that downloads + caches + exec's real cy binary
- go.mod: stdlib only, no external dependencies
- scripts/cy-wrapper.sh: docker toolkit wrapper (unchanged)
- LICENSE, README.md

What was removed:
- All CLI source (cmd/, internal/, printer/, config/, interpolator/)
- All generated code (client/models/, client/client/)
- All build tooling (Makefile, goreleaser, swagger, compose)
- All tests (e2e/, pkg/testcfg/)
- All dev config (golangci, changie, flake.nix)

The real CLI source now lives in the BE repo (youdeploy-http-api/cli/).
This repo will be synced from the BE on each release.

go install github.com/cycloidio/cycloid-cli@latest installs the shim.
On first run: cy organizations list downloads the real binary and exec's it.
Copy full CLI source code from youdeploy-http-api monorepo with import
paths rewritten to github.com/cycloidio/cycloid-cli. Includes shared
dependencies (gen/models, utils/ptr, utils/coalesce). Tests and mocks
are excluded. All yderr usage replaced with standard fmt.Errorf.
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.

1 participant