diff --git a/.gitbook.yaml b/.gitbook.yaml deleted file mode 100644 index e454be0e..00000000 --- a/.gitbook.yaml +++ /dev/null @@ -1 +0,0 @@ -root: ./docs/ diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml index 7ce86f83..0a5af4da 100644 --- a/.github/workflows/code-coverage.yml +++ b/.github/workflows/code-coverage.yml @@ -12,6 +12,9 @@ jobs: coverage: runs-on: ubuntu-latest steps: + - run: sudo apt-get update -y + - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev -y + - uses: actions/checkout@v3 - name: Install Rust @@ -28,3 +31,8 @@ jobs: with: files: lcov.info fail_ci_if_error: true + layout: "reach, diff, flags, files" + behavior: default + require_changes: false + require_base: no + require_head: yes diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 99d0379d..00000000 --- a/docs/README.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -description: >- - Siera has one simple goal: to make self-sovereign identity development - easier. ---- - -# Introduction to Siera - -Siera is a development tool that assists you with your Aries based self-sovereign identity development. - -The CLI makes it easy to create schemas, definitions and credentials, so you can test your Aries application. You can use it both for individual actions or to run automations. - -{% hint style="info" %} -Currently, Siera is on its first release. If you have any feature requests, bugs or recommendations, we'd love to hear them! Open issues or contribute through PRs on our [GitHub](https://github.com/animo/siera) repo. -{% endhint %} - -There are three options to get started with the CLI. You can start without any setup with our community agent. You can connect your GitHub and claim a token to get an individual tenant environment using our multitenant agent. Or you can connect your own development agent to the CLI. Both community agents are free to use and hosted by [Animo Solutions](https://animo.id). Follow [this guide](guides/configuration.md) for set up. - -{% hint style="info" %} -Siera is free to use and specifically for development purposes. Both community agents will occasionally need maintenance or have to be reset. Keep an eye on the [Discord](https://discord.gg/vXRVNh3DYD) for announcements and news. -{% endhint %} - -### Quickstart - -Are you experienced with CLI's and SSI development? The CLI has plenty of built-in documentation to figure it out yourself. Just [install ](guides/installation.md)and run `siera` to get an overview of the features and usage. - -We do recommend taking a quick look at our [configuration guide](guides/configuration.md), as the more experienced developer will probably want to use our tenant environment option or connect their own agent. - -### Getting started - -Curious how you can use Siera? You can follow these guides to get everything up and running in no time. - -{% content-ref url="guides/installation.md" %} -[installation.md](guides/installation.md) -{% endcontent-ref %} - -{% content-ref url="guides/configuration.md" %} -[configuration.md](guides/configuration.md) -{% endcontent-ref %} - -{% content-ref url="guides/using-siera.md" %} -[using-siera.md](guides/using-siera.md) -{% endcontent-ref %} - -All features are highlighted both in these docs as in the CLI through the `--help` option. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md deleted file mode 100644 index 9d38299e..00000000 --- a/docs/SUMMARY.md +++ /dev/null @@ -1,30 +0,0 @@ -# Table of contents - -- [Introduction to Siera](README.md) - -## Guides - -- [Installation](guides/installation.md) -- [Set up Siera](guides/configuration.md) -- [Using Siera](guides/using-siera.md) - -## Features - -- [Overview](features/introduction.md) -- [Configuration](features/environments.md) -- [Connection](features/connections.md) -- [Message](features/messages.md) -- [Schema](features/schemas.md) -- [Credential Definition](features/credential-definitions.md) -- [Credential](features/credentials.md) -- [Proof](features/proof.md) - -## Automations - -- [Overview](automations/introduction.md) -- [Offer credential](automations/usage.md) - -## Community - -- [Roadmap](community/roadmap.md) -- [Contributing](community/contributing.md) diff --git a/docs/automations/introduction.md b/docs/automations/introduction.md deleted file mode 100644 index 635e8feb..00000000 --- a/docs/automations/introduction.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -description: Automated actions that combine multiple functions ---- - -# Introduction - -Siera supports automations that combine multiple functions into one single command. Currently, the goal of automations is to shortcut some convenient development situations, in the future they might evolve to be more complex. - -### Usage - -``` -siera automate -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ----------------------- | -| `-h` | `--help` | Print help information. | - -#### Subcommands - -| Command | Description | -| ---------------------------- | ------------------------------------------------------------------------------ | -| [credential-offer](usage.md) | Simple credential offer automation to offer a premade credential to any agent. | diff --git a/docs/automations/usage.md b/docs/automations/usage.md deleted file mode 100644 index e4dd3121..00000000 --- a/docs/automations/usage.md +++ /dev/null @@ -1,40 +0,0 @@ -# Offer credential - -This simple command will result in a credential offer for a mocked credential that can be accepted immediately by scanning the generated QR code or using the URL. - -### Usage - -``` -siera automate credential-offer -``` - -#### Options - -| Alias | Flag | Description | -| ----- | --------------------------------- | ------------------------------------------------------- | -| `-h` | `--help` | Print help information. | -| `-c` | `--connection-id ` | Connection id of the receiving party. | -| `-n` | `--no-qr` | Disables printing the QR code. | -| `-s` | `--self` | Completes the entire flow with itself. | -| `-t` | `--timeout ` | Timeout for the entire flow in seconds \[default : 60]. | - -#### Example usage - -``` -siera automate credential-offer -``` - -First, you will receive a connection invitation in your wallet, after which you will receive the offered credential. The credential is named default and contains several types of attribute. - -```json -{ - "Bank": "qBank New York", - "Name": "Joyce Brown", - "Valid Until": "20251212", - "Card Number": "4537-6696-0666-0146", - "City": "New York", - "Date Of Birth": "19890321", - "Street": "Main Road 207", - "Security Code": "063" -} -``` diff --git a/docs/community/contributing.md b/docs/community/contributing.md deleted file mode 100644 index 6a1c7593..00000000 --- a/docs/community/contributing.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -description: >- - Feel free to contribute to the repository by forking and submitting a pull - request! ---- - -# Contributing - -We welcome contributions that to make the CLI better. If you do not have a specific contribution in mind, we encourage you to look for issues labelled as [`good first issue`](https://github.com/animo/siera/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) or look at our [roadmap](roadmap.md). - -For significant changes, please open an issue first to discuss the proposed changes with the community to avoid re-work. - -(If you are new to GitHub, you might start with a [basic tutorial](https://docs.github.com/en/get-started/quickstart/set-up-git) and check out a more detailed guide to [pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).) - -Pull requests will be evaluated by the repository guardians on a schedule and if deemed beneficial will be committed to the main branch. Pull requests should have a descriptive name and include a summary of all changes made in the pull request description. - -### Fixes - -If you have a fix, go straight to [Getting set up](contributing.md#getting-set-up). - -### Features - -If you have something bigger in mind (structural changes, new features) we strongly encourage you to create a new GitHub issue that documents: - -- motivate the changes you want to make -- how you want to make them - -This gives your new idea the best chance to get accepted by the repository maintainers. - -### Getting set up - -``` -git clone https://github.com/animo/siera.git -``` - -Once you have the code locally, you should be able to test out the current source code by running: - -``` -cargo run -q -- -``` - -#### Tests - -We love tests, but recognize that there is a shortage of them at the moment. We encourage you to take a look at [Rust's guide](https://doc.rust-lang.org/book/ch11-01-writing-tests.html) on how to create an automated test. We are happy to provide support for writing tests on the PR. - -Currently a simple suite of tests can be executed by running `./tests/run.sh`. diff --git a/docs/community/roadmap.md b/docs/community/roadmap.md deleted file mode 100644 index a8daa13c..00000000 --- a/docs/community/roadmap.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -description: Where we are and where we are heading, let us know what you want to see next! ---- - -# Roadmap - -You can keep track of issues and PRs by following our [GitHub repo](https://github.com/animo/siera) (make sure to star if you enjoy). Community input it very appreciated, either by [opening issues/reporting bugs](https://github.com/animo/siera/issues), [contributing](contributing.md) yourself or by leaving a message in the [Discord](https://discord.gg/vXRVNh3DYD). - -- ✅ Support multiple environments. -- ✅ Connections. -- ✅ Schemas. -- ✅ Credentials. -- ✅ ACA-Py 0.7.3 support. -- ✅ Verbosity levels and extensive logging. -- ✅ Automation: offer credential with mocked data. -- ✅ Community agent support. -- ✅ Tenant support through multitenant agent + personal token. -- ✅ Brew install. -- ✅ Proofs. -- 🚧 Apt-get installation. -- 🚧 Chocolaty installation. -- 🚧 Automation: offer credential with custom data. -- 🚧 Filters for output. -- 🚧 Automation: schema + credential definition with custom data. -- 🚧 Automation: present proof with mock data. -- 🚧 Automation: present proof with custom data. diff --git a/docs/features/connections.md b/docs/features/connections.md deleted file mode 100644 index 7364efd1..00000000 --- a/docs/features/connections.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -description: Retrieve connections or create invitations ---- - -# Connection - -Siera offers various methods to create and receive invitations. - -### Usage - -``` -siera connection [OPTIONS] [SUBCOMMAND] -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | ---------------------------------- | -| invite | Create a new connection invitation | -| list | List all your current connections | -| receive | Receive an invitation by url | - -### Invite - -Create a new connection invitation - -``` -siera connection invite [OPTIONS] -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `-a` | `--auto-accept` | Automatically accept the new connection once they accept this invitation | -| `-h` | `--help` | Print help information | -| `-l` | `--alias ` | The name a new connection will use to identify itself | -| `-m` | `--multi-use` | This invitation can be used more than once | -| `-q` | `--qr` | Print a QR code, convenient for use with mobile apps | -| `-t` | `--toolbox` |

Short-hand to create an invitation for the Aries Toolbox that sets:

  • alias="toolbox"
  • multi-use="false"
  • auto-accept="true"

and gives admin rights over the invitation to the toolbox

| - -#### Example usage - -Create an invitation that can be used more than once and is auto accepted. The `-c` flag automatically copies the invitation URL to your clipboard. - -``` -siera -c connection invite -m -a -``` - -### List - -List all your current connections - -``` -siera connection list [OPTIONS] -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ----------- | ---------------------- | -| `-h` | `--help` | Print help information | -| `-i` | `--id ` | Get a connection by id | - -#### Example usage - -Supply a connection ID to get the connection record. - -``` -siera connection list --id 851e2d1b-acee-4a71-b798-8d02a8addd09 -``` - -### Receive - -Receive an invitation by URL. - -``` -siera connection receive --url -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ------------- | -------------------------------------------------------------- | -| `-h` | `--help` | Print help information | -| `-u` | `--url ` | Receive an invitation with the invitation url, between quotes. | - -#### Example usage - -Supply an invitation URL to accept. Make sure the URL is between quotes. - -``` -siera connection receive --url "https://didcomm.agent.community.animo.id?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiMjNiOGY0ZDAtNzIyNi00ZmQ0LWEyNDAtMjJkNDgxNTViODBlIiwgInJlY2lwaWVudEtleXMiOiBbIjZZVVU2dnp2b0hTV29OWlRDUGE1eFlYV3kyUGJ5VGREcnVKa0VMRXR4NW9kIl0sICJsYWJlbCI6ICJBbmltbyBDb21tdW5pdHkgQWdlbnQiLCAic2VydmljZUVuZHBvaW50IjogImh0dHBzOi8vZGlkY29tbS5hZ2VudC5jb21tdW5pdHkuYW5pbW8uaWQifQ==" -``` diff --git a/docs/features/credential-definitions.md b/docs/features/credential-definitions.md deleted file mode 100644 index 70891bb6..00000000 --- a/docs/features/credential-definitions.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -description: Retrieve or create credential definitions ---- - -# Credential Definition - -Siera offers the following methods for credential definitions: - -### Usage - -``` -siera credential-definition [OPTIONS] [SUBCOMMAND] -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | ------------------------------------ | -| create | Create a new credential definition | -| list | List all your credential definitions | - -### Create - -Create a new credential definition. - -``` -siera credential-definition create --schema-id -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ------------- | ---------------------------------- | -| `-h` | `--help` | Print help information | -| `-s` | `--schema-id` | Schema ID to use in the definition | - -#### Example usage - -Create a credential definition with a schema ID. The `-c` flag automatically copies the created credential definition to your clipboard. - -``` -siera -c credential-definition create -s WVqppUv9X3WyWGrbns5Uia:2:Example:1.0 -``` - -### List - -List all your current credential definitions - -``` -siera credential-definition list [OPTIONS] -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ----------- | --------------------------------- | -| `-h` | `--help` | Print help information | -| `-i` | `--id ` | Get a credential definition by id | diff --git a/docs/features/credentials.md b/docs/features/credentials.md deleted file mode 100644 index 830525a2..00000000 --- a/docs/features/credentials.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -description: Offer or propose credentials ---- - -# Credential - -Siera offers the following methods for credentials: - -### Usage - -``` -siera credential [SUBCOMMAND] -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | ------------------------------------------------ | -| offer | Offer a new credential to an existing connection | - -### Offer - -Offer a new credential to an existing connection - -``` -siera credential offer [OPTIONS] --connection-id --cred-def-id -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | --------------------------------- | ------------------------------------------------- | -| `-h` | `--help` | Print help information | -| `-c` | `--cred-def-id ` | A credential definition to base the credential on | -| `-i` | `--connection-id ` | Existing connection ID to offer the credential to | -| `-k` | `--key ` | An attribute key name | -| `-v` | `--value ` | An attribute value | - -#### Example usage - -Offer a credential to an existing connection. The following command offers a credential with key `name` and value `animo`. - -``` -siera credentials offer -i d583caa1-0bdd-46f9-98d3-8d0bdd4a6056 -c Ehx3RZSV38pn3MYvxtHhbQ:3:CL:213800:default -k name -v animo -``` - -The key and value flags are index matched and should be used as such. The below command matches key 1..3 to value 1..3. - -``` -siera credential offer ... -k=key1 -v=value1 -k=key2 -k=key3 -v=value2 -v=value3 -``` diff --git a/docs/features/environments.md b/docs/features/environments.md deleted file mode 100644 index 1d2437bb..00000000 --- a/docs/features/environments.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -description: Siera allows you to add and choose environments through subcommands. ---- - -# Configuration - -{% hint style="info" %} -See the guide on how to [set up Siera](../guides/configuration.md) for more information on how to add and change environments relating to your agent configuration. -{% endhint %} - -Siera supports using different environments. An environment consists of an environment name, an agent URL, an API key (optional) and a token (optional). A specific environment to use can be specified in a command using the `--environment ` option. - -```yaml ---- -configurations: - default: - endpoint: "https://agent.community.animo.id" - api_key: ~ - token: ~ -``` - -{% hint style="warning" %} -In MS Windows Powershell you need to either run your command prompt application as administrator or allow your current user write access to `C:\Program Files\Common Files\` in order to be able to write a config file to disk. This does not apply when using WSL. -{% endhint %} - -### Usage - -``` -siera configuration [SUBCOMMAND] -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | ---------------------------------------------------------------------- | -| add | Add a new, or overwrite an existing, agent to your configuration file. | -| view | Print your current configuration file. | - -### Add - -Add a new, or overwrite an existing, agent to your configuration file. - -``` -siera configuration add [OPTIONS] -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ----------------------------- | ---------------------------------------------------------------------------- | -| `-a` | --api-key \ | This API key will be passed to the agent. | -| `-d` | --default | Add the default agent to the configuration (can be combined with `--token`). | -| `-e` | `--environment ` | Specify your current environment. | -| `-h` | `--help` | Print help information. | -| `-t` | `--token ` | Authentication token for a multitenancy agent. | -| `-u` | `--agent-url ` | The Agent agent URL that requests will be sent to. | - -#### Example usage - -Add a custom environment to your configuration file. - -``` -siera configuration add --environment= --agent-url= --api-key= --token= -``` - -Siera uses the 'default' environment when no `--environment` flag is given with commands. If you want to use another environment as your default, you can override your current default environment by specifying `--environment=default` in the above command. - -### View - -Print your current configuration file and its path. - -``` -siera configuration view -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | -------- | ----------------------- | -| `-h` | `--help` | Print help information. | - -#### Example usage - -The command results in a print out of both the configuration path and the `config.yaml` itself. diff --git a/docs/features/introduction.md b/docs/features/introduction.md deleted file mode 100644 index 0a709c47..00000000 --- a/docs/features/introduction.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -description: An introduction to all available options and subcommands. ---- - -# Overview - -Siera was created to assist during practical day-to-day development tasks. Its features and subcommands reflect this. - -### Usage - -``` -siera [OPTIONS] -``` - -### Options - -Siera offers the following options. - -| Alias | Flag | Description | -| ----- | ----------------------------- | --------------------------------------------------------------------------- | -| `-a` | `--api-key ` | This API key will be passed to the agent | -| `-c` | `--copy` | Copy output to your clipboard | -| `-e` | `--environment ` | Specify your current environment \[default: default] | -| `-h` | `--help` | Print help information | -| `-o` | `--config ` | Supply a path to your configuration file to use that instead of the default | -| `-q` | `--quiet` | Suppresses most output | -| -`t` | `--token ` | Authentication token for a multi tenancy agent | -| -`u` | `--agent-url ` | The Agent agent URL that requests will be sent to | -| `-v` | `--verbose` | Print debug logs | -| `-V` | `--version` | Print version information | - -### Subcommands - -Siera offers the following subcommands. - -| Subcommand | Description | -| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [automate](../automations/introduction.md) | Automated actions that combine multiple functions | -| [configuration](environments.md) | Add agents to your configuration or view your current configuration. To quickly get started, run the following command: `siera configuraton add --default` | -| [connection](connections.md) | Retrieve connections or create invitations | -| [credential](credentials.md) | Offer or propose credentials | -| [credential-definition](credential-definitions.md) | Retrieve or create credential definitions | -| feature | List all available features | -| [message](messages.md) | Send a secure message to an exist connection | -| [schema](schemas.md) | Retrieve or create schemas | diff --git a/docs/features/messages.md b/docs/features/messages.md deleted file mode 100644 index 6571690b..00000000 --- a/docs/features/messages.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -description: Send a secure message to an existing connection ---- - -# Message - -Siera offers the following methods for messages: - -### Usage - -``` -siera message --connection-id --message -``` - -#### Options - -| Alias | Flag | Description | -| ----- | ---------------------- | ------------------------------------ | -| `-h` | `--help` | Print help information | -| `-i` | `--connection-id ` | Connection ID to send the message to | -| `-m` | `--message ` | Contents of the message | - -#### Example usage - -The following commands sends `hello` to an existing connection: - -``` -siera message -i d583caa1-0bdd-46f9-98d3-8d0bdd4a6056 -m hello -``` diff --git a/docs/features/proof.md b/docs/features/proof.md deleted file mode 100644 index 20fe16cd..00000000 --- a/docs/features/proof.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -description: Present proof with Siera. ---- - -# Proof - -### Usage - -``` -siera proof -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | --------------------------------- | -| request | Request a proof by connection id. | - -### Request - -Request a proof by connection id. - -``` -siera proof request [OPTIONS] --connection-id -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | --------------------------------- | ----------------------------------------------------------------------------------------------- | -| `-h` | `--help` | Print help information | -| `-a` | `--attribute ` | Attribute required in the proof request. eg. `-a=name -a=lastname` | -| `-c` | `--connection-id ` | Connection id to send the proof request to. | -| `-n` | `--name ` | Name of the proof request \[default: proof-request] | -| `-p` | `--predicate ` | Predicates required in the proof request (format = name,operator,value). e.g. `-p= "age,>=,18"` | - -Pay extra attention to the usage of `--attribute` and `--predicate`. - -With the attribute flag, each attribute is flagged individually. - -``` -siera proof request -c -a attribute1 -a attribute2 -a attribute3 -``` - -With the predicate flag, each predicate as a whole (the name, operator and value together) is flagged individually. The name, operator and value are comma separated and between quotes, resulting in `--predicate "name,operator,value"`. - -``` -siera proof request -c ... -p "date,>,20210101" -p "age,>,21" -``` diff --git a/docs/features/schemas.md b/docs/features/schemas.md deleted file mode 100644 index 6cfb6905..00000000 --- a/docs/features/schemas.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -description: Retrieve or create schemas ---- - -# Schema - -Siera offers the following methods for schemas: - -### Usage - -``` -siera schema [OPTIONS] [SUBCOMMAND] -``` - -#### Options - -| Alias | Flag | Description | -| ----- | -------- | ---------------------- | -| `-h` | `--help` | Print help information | - -#### Subcommands - -| Command | Description | -| ------- | ----------------------------- | -| create | Create a new schema | -| list | List all your current schemas | - -### Create a schema - -Create a new schema. - -``` -siera schema create [OPTIONS] --name --attribute -``` - -#### Available flags - -| Alias | Flag | Description | -| ----- | ------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `-h` | `--help` | Print help information | -| `-n` | `--name ` | Name of the schema | -| `-a` | `--attribute ` | Keys that describe the structure of the schema - for example "age". Given in t following format: -a foo -a bar -a baz | -| `-v` | `--version ` | Version of of the schema, useful to be able to specify multiple versions of the same schema \[default: 1.0] | - -#### Example usage - -Create a new schema with the properties `name` and `age`. The `-c` flag automatically copies the ID of the created schema to your clipboard. - -``` -siera -c schema create -n example -a name -a age -``` diff --git a/docs/guides/configuration.md b/docs/guides/configuration.md deleted file mode 100644 index ac85a5e1..00000000 --- a/docs/guides/configuration.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -description: >- - Siera is basically good to go with a single initialization command, - however there are some nice additional configuration options like connecting - your own agent or using a tenant agent. ---- - -# Set up Siera - -### Basic configuration - -After installation, the CLI prompts you to initialize your configuration with the following command. - -``` -siera configuration add --default -``` - -This command creates the following `config.yaml` configuration file. It is important to note that you don't have to do anything with this file. You can get started exploring the features right away with the CLI as it is. - -```yaml -configurations: - default: - endpoint: "https://agent.community.animo.id" - api_key: ~ - token: ~ -``` - -The config file contains an endpoint for the agent that handles all of your CLI actions. By default, this is the URL for the Animo community agent. Using this agent, you can get started right away without any further setup. - -You might find, however, that you want some more advanced configuration in order to avoid the clutter of the community agent (as you will encounter the actions of everyone using it). No worries! In a few easy steps, you can set up your own tenant environment or connect your own agent instead. - -{% hint style="info" %} -The community agent is a single agent, hosted by [Animo Solutions](https://animo.id), that can be used for free by any community member with default setup. It can therefore be reset, or get cluttered with community members connections, schema's and credentials. If you are looking for a more stable environment we recommend setting up the multitenant agent. -{% endhint %} - -### Advanced configuration - use our multitenant agent - -With a tenant you don't have to worry about the connections, schema's and credentials of other community members. You get your own agent to use however you like. - -To use our multitenant agent to set up your own tenant, simply: - -- Choose to [claim your token via Siera website](https://siera.animo.id). -- Connect your GitHub account by following the instructions that pop up. -- Copy the command that appears and run it in your terminal. - -The command will look like the one below, with the token filled. - -``` -siera configuration add --default --token -``` - -If you've initialized the CLI before, the 'default' environment in your `config.yaml` file will now be overwritten with a new default environment. If you haven't initialized the CLI before, the `config.yaml` will be created with the multitenant default environment. - -```yaml -configurations: - default: - endpoint: "https://agent.ssi.community" - api_key: ~ - token: -``` - -This new environment contains the endpoint for the agent that handles all of your CLI actions (in this case, the URL of our tenant agent). It also contains the custom token you claimed by connecting your GitHub account. You can now use a subtenant of the Animo community agent to execute all CLI commands. - -Siera uses the 'default' environment when no `--environment ` flag is given. Having your own tenant will help a lot with keeping your development process clear. However, if you already have a development agent, you might want to consider either adding an environment for it or switching over to it completely. - -{% hint style="info" %} -The multitenant agent, hosted by [Animo Solutions](https://animo.id), can be used for free by any community member who has claimed a token. The data on your environment is persisted. However, this is a free developer tool, so the chance that the agent is reset completely does exist. Keep an eye on the [Discord](https://discord.gg/vXRVNh3DYD) for scheduled maintanance announcements. -{% endhint %} - -### Additional configuration - use your own agent - -Siera supports using different [environments](../features/environments.md). The initialization command creates the following `config.yaml` configuration file, containing only the default environment that uses the community agent. - -```yaml ---- -configurations: - default: - endpoint: "https://agent.community.animo.id" - api_key: ~ - token: ~ -``` - -You can add new environments by using the `configuration add` command and specifying the environment name, agent endpoint, API key (optional) and token (optional) in the `config.yaml`. - -``` -siera configuration add --environment= --agent-url= --api-key= --token= -``` - -```yaml ---- -configurations: - default: - endpoint: "https://agent.community.animo.id" - api_key: ~ - token: ~ - : - endpoint: - api_key: - token: -``` - -To use the new environment, simply use the `--environment ` flag with each of your commands. - -Siera uses the 'default' environment when no `--environment` flag is given. If you want to use another environment as your default, you can override your current default environment by specifying `--environment= default` in the above command. diff --git a/docs/guides/installation.md b/docs/guides/installation.md deleted file mode 100644 index 1a8ccfbb..00000000 --- a/docs/guides/installation.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -description: >- - There are several ways to install Siera, depending on your system and - preferences. Currently the methods are limited but we're working on adding - more. ---- - -# Installation - -### Installing through package managers - -Currently, Siera supports Brew as a package manager. - -``` -brew tap animo/siera -brew install siera -``` - -For other systems than macOS we recommend installing with Cargo, or installing through the binaries. - -### Installing with Cargo - -To install with Cargo, Rust needs to be installed on your system first. This method is suitable for every system, but might have some undocumented dependency errors depending on your system setup. - -``` -cargo install --git https://github.com/animo/siera -``` - -This method of install will **not** update automatically and is therefore not recommended if another option is available to you. To update manually, reuse the installation command. - -### Installing through binaries - -The binaries can be downloaded from the[ website](https://siera.animo.id)`under`the `Get started` dropdown or from the [GitHub releases](https://github.com/animo/siera/releases). This method of install will **not** update automatically and is therefore not recommended if another option is available to you. We have binaries available for: - -- Windows (x86_64) -- macOS (x86_64 / arm) -- Linux (x86_64) diff --git a/docs/guides/using-siera.md b/docs/guides/using-siera.md deleted file mode 100644 index 04457f39..00000000 --- a/docs/guides/using-siera.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -description: Siera follows CLI tool conventions to make it easy to use. ---- - -# Using Siera - -After [installing](installation.md) Siera, you can run `siera` in your terminal to see all the options available to you. In this guide, we'll show you how to use Siera in your development process. - -> If you'd rather explore functionality through the CLI yourself, just use the `--help` or `-h` flag on any of the subcommands to see more info. - -Siera distinguishes options and subcommands. Options before the subcommands are global, options after the subcommands are specific to that subcommand. - -``` -siera [OPTIONS] -``` - -Each subcommand has their own options and subcommands, you can see which ones by using the `-h` or `--help` flag at any level. - -For example, if we wanted to create a schema, a command could look something like: - -``` -siera --copy schema create --name "College Degree" --attribute Grade -# Output: schema id -``` - -Where global option `--copy` copies the output of a command that results in output to your clipboard. - -But options `--name` and `--attribute` are specific to the subcommand `schema create`. - -### Know what to do (--help) - -Every subcommand has the option of a `-h` or `--help` flag, where you'll see the usage of that subcommand, a description of the options as well as which options are required. We recommend playing around with these and trying commands out as the easiest way to get aquainted with the CLI. - -### Know what is happening (--verbose) - -We believe that good logging makes for a good CLI user experience, but we also believe a productivity focused tool should not flood the terminal with logging. That is why Siera uses different log-levels. - -| CLI flags | Rust logger | Description | -| ----------------------------------------- | ----------- | ------------------------------------- | -| `--verbose` or `-v` | `info!` | up to **informational**-level logging | -| `--verbose --verbose` or `-vv` | `debug!` | up to **debug**-level logging | -| `--verbose --verbose --verbose` or `-vvv` | `trace!` | up to **trace**-level logging | - -This means **by default** we will only log command output, warnings and errors. If you're looking for more info, use the more extensive verbosity levels. - ----