Skip to content
This repository has been archived by the owner on Sep 21, 2024. It is now read-only.

Introduce noosphere-cli crate #71

Merged
merged 2 commits into from
Oct 4, 2022
Merged

Introduce noosphere-cli crate #71

merged 2 commits into from
Oct 4, 2022

Conversation

cdata
Copy link
Collaborator

@cdata cdata commented Oct 4, 2022

This change introduces the noosphere-cli crate, which contains our initial work to offer an accessible CLI client that is compatible with any Noosphere gateway, and may synchronize data between any other Noosphere clients and a folder on the local filesystem.

The noospher-cli builds a program called orb which exposes a variety of helpful, high-level operations to the user:

❯ orb
A CLI tool for saving, syncing and sharing content to the Noosphere

Usage: orb <COMMAND>

Commands:
  config   Read and manage configuration values for a local sphere
  key      Create and securely manage personal keys
  sphere   Create, join or share access to a sphere
  auth     Manage access to a sphere by holders of other keys
  status   Show details about files in the sphere directory that have changed since the last time the sphere was saved
  diff     If a difftool is configured, show a diff between files on disk and saved versions in the sphere
  save     Saves changed files to a sphere, creating and signing a new revision in the process; does nothing if there have been no changes to the files since the last revision
  sync     Synchronizes the local sphere with the copy in a configured gateway; note that this is a "conflict-free" sync that may cause local changes to be overwritten in cases where two or more clients have made changes to the same files
  publish  Tell a configured gateway to update the published version of the sphere in the Noosphere name system
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help information (use `--help` for more detail)

In this initial change, the following subcommands have been implemented: key and sphere.

We will follow-up with a change that introduces auth support, and then save and sync subcommands will come next.

A lot of the legwork to get us to this place included building and landing ucan-wg/rs-ucan#28, as well as refactoring storage primitives to better support the high-level use case of the CLI. This should put us on a better footing to implement the remaining subcommands in short order. The following issues have been added to track follow-on work: #72, #73, #74, #75, #76 and #77.

Fixes #63

@cdata cdata merged commit f3bf1f8 into main Oct 4, 2022
@gordonbrander
Copy link
Contributor

@cdata orb ponder should be an alias for orb status 🧙‍♂️

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Status: 🌱 Done
Development

Successfully merging this pull request may close these issues.

Offer a CLI tool to enable easy, manual interaction with the Noosphere
3 participants