Skip to content

[cli]: rename cli/ → ivy-examples-cli/ and update package id to Ivy.Examples.Cli#459

Open
ArtemLazarchuk wants to merge 3 commits into
developmentfrom
feat/update-folder-for-cli
Open

[cli]: rename cli/ → ivy-examples-cli/ and update package id to Ivy.Examples.Cli#459
ArtemLazarchuk wants to merge 3 commits into
developmentfrom
feat/update-folder-for-cli

Conversation

@ArtemLazarchuk
Copy link
Copy Markdown
Collaborator

What changed

  • Renamed the cli/ directory to ivy-examples-cli/ to make the folder name
    consistent with the tool command name (ivy-examples) and the NuGet package id.
  • Updated <PackageId> from Ivy.Cli to Ivy.Examples.Cli so the NuGet package
    is published under the correct id.
  • Rewrote README.md with a clear, structured installation guide, a full command
    reference table, and instructions for updating the installed tool after code changes.

No logic changes

All source files were moved as-is — no behaviour was modified.

…g Sliplane resources, Tendril deployments, and NuGet statistics. Includes README documentation and .gitignore for build artifacts.
…iptions, command references, and configuration details while streamlining installation instructions.
…nstallation commands, reflecting the new package name and enhancing clarity.
@ArtemLazarchuk ArtemLazarchuk requested a review from rorychatt May 14, 2026 13:56
@ArtemLazarchuk ArtemLazarchuk self-assigned this May 14, 2026
@ArtemLazarchuk
Copy link
Copy Markdown
Collaborator Author

Ivy Examples CLI

Ivy Examples CLI is the repo’s terminal companion: one ivy-examples command bundles shortcuts for Ivy-related work—fewer one-off scripts, more piping and automation. Run ivy-examples --help to see what ships today; the list grows with the examples we maintain. Command output is YAML.

Features

  • Sliplane — Control API for projects, servers, services, metrics, logs, domains, registry credentials, OAuth clients
  • Tendril — Deploy instances and read status against a Tendril base URL
  • NuGet — Ivy-related NuGet metrics: download counts, stars, summaries, and other statistics from the Ivy metrics pipeline (not a generic nuget.org browser)
  • Config~/.ivy/config.json; keys resolve from flags → env → prompt

If another app needs CLI coverage, you can add a new command here when the need arises—the codebase is set up so new branches and commands drop in without ceremony.

Command reference

Secrets and URLs: the CLI asks when needed and can save them to ~/.ivy/config.json, or you set them with ivy-examples config set (see Config).

Sliplane

Needs: A Sliplane API secret (and sometimes an org id for older tokens)—configure once; it can be stored in config so you are not prompted every run.

Path Actions
ivy-examples sliplane me
ivy-examples sliplane projects list, create, update, delete
ivy-examples sliplane servers list, get, create, delete, rescale, metrics, volumes, create-volume
ivy-examples sliplane services list, get, create, update, delete, pause, unpause, deploy, logs, metrics, events, add-domain, remove-domain
ivy-examples sliplane credentials list, get, create, update, delete
ivy-examples sliplane oauth list, get, update, users

Combine Path + Actions (e.g. ivy-examples sliplane projects list). See ivy-examples sliplane --help for flags.

Tendril

Needs: Tendril URL (and API secret if your instance requires it). Sliplane secret is also required for every command here—same idea as the Sliplane section.

Command Description
ivy-examples tendril deploy Deploy a Tendril instance
ivy-examples tendril status Service status
ivy-examples tendril servers Servers available for deploy
ivy-examples tendril projects Projects available for deploy

NuGet

Needs: Usually nothing—defaults hit the Ivy metrics host. If you use another instance, set its URL/secret once (config or prompt).

Command Description
ivy-examples nuget summary Overall stats
ivy-examples nuget stars Star counts per package
ivy-examples nuget starred Starred packages
ivy-examples nuget unstarred Unstarred packages
ivy-examples nuget downloads Download counts
ivy-examples nuget downloads-history Downloads over time

Config

Needs: None—edits ~/.ivy/config.json only.

Command Purpose
ivy-examples config list Show saved keys (values may be masked)
ivy-examples config get Read one key
ivy-examples config set Save a key (values other branches reuse: Sliplane, Tendril, NuGet-stats, etc.)
ivy-examples config unset Remove one key
ivy-examples config clear Delete the whole file

Installation

From this repo

cd ivy-examples-cli/src
dotnet pack -c Release -o ../nupkg
dotnet tool install -g --add-source ../nupkg Ivy.Examples.Cli
ivy-examples --help

Development

cd ivy-examples-cli/src
dotnet run -- --help

Updating the installed tool

If you installed with From this repo above, rebuild the package and refresh the global tool after code changes:

cd ivy-examples-cli/src
dotnet pack -c Release -o ../nupkg
dotnet tool update -g --add-source ../nupkg Ivy.Examples.Cli

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