You will find in this section more about common concepts on development field.

The main concepts on Ritchie are

  • CLI
  • Command Tree
  • Credential
  • Environment
  • Formula
  • JSON
  • Repository
  • Standard Streams


It refers to a command line interface, which is a program that processes commands in a software or any computing program only through text.

Command Tree

In the case of Ritchie, the Cobra (a Golang library) pattern was followed using the following logic of building core commands:


To allow more options and freedom for users, it is also allowed to follow the pattern below in the construction of formula commands:


The app name is Ritchie, so we use the name rit to start our command tree.

The executable commands in Ritchie are the commands located at the last level of the tree.

For example, in the image above:

  • The rit set context command is executable, as it is at the last level of the tree.
  • The rit kafka create command is not executable as there is an executable topic subcommand, at the last level of the tree.

This command tree concept is the core of Ritchie’s structure.


It refers to reusable input parameters that you can use in Ritchie (example: access data for any tool or api).


On Ritchie, each environment will have its own credentials, which can be necessary to execute specific formulas through the CLI.

For example: it’s possible to create a professional and a personal environments (or prod and staging) with different credentials, and switch from an environment to another according to the necessity.


On Ritchie’s context, a formula is a script that can be executed through a command line once it has been adapted to Ritchie structure. It allows the user to execute it locally or through Docker and with its necessary dependencies.

Depending on the formula, the user might need to inform input parameters.

Those input parameters can be informed in different ways:

  • After running the command on the terminal (via prompt)
  • When typing the command on the terminal (via stdin or input flags)
  • During the execution of the formula (if coded using prompt)


It refers to JavaScript Object Notation (JSON), that is a standard text based format used to structure data created with Java programming language.


A storage place you can organize features, commands or any files and/or files necessary to use a tool. On Ritchie, there are three repositories created to manage formulas, the server and contributions we receive.

Standard Streams

It refers to a communication channel that allows input and output interconnection between a computer program and its environment.

On Ritchie, we use the standard input (stdin) to execute commands automatically.

Last modified June 15, 2021: fix: change all image links (9612361c)