Crate noosphere_cli

Source
Expand description

This crate implements the core functionality of the Noosphere CLI, otherwise known as “orb”. The Noosphere CLI has three goals:

  • Be a reference for those seeking to embed Noosphere in a client application
  • Serve as a pedagogical tool for those seeking to explore the Noosphere protocol
  • Provide swiss army knife-like utility for anyone using Noosphere protocol in their day-to-day lives

Taken in its entirety, this crate implements various high-level routines that are likely to be implemented by other apps that embed Noosphere, including (but not limited to):

  • Saving, syncing, rendering and updating the content of spheres as it changes over time
  • Following and unfollowing other spheres, and accessing their content
  • Managing access to a sphere by other clients and devices

Modules§

cli
Declarative definition for the end-user-facing CLI
commands
Concrete implementations of the commands of the Noosphere CLI
content
Helpers for working with the file system content within a workspace
extension
Helpers for dealing with translation between slugs and files
paths
Implementation related to the file system layout of a sphere workspace
render
This module contains constructs that used when rendering a sphere within a workspace on a file system.
workspace
Operations that are common to most CLI commands

Structs§

CliContext
Additional context used to invoke a Cli command.

Functions§

invoke_cli
Invoke the CLI implementation imperatively.
invoke_cli_with_workspace
Same as invoke_cli, but enables the caller to provide their own initialized Workspace