An economic sentence structure

Like Markdown, but for economic networking and interactions.

Using this syntax, almost all operations can be performed through a chat text input, empowered by a bot and widgets to facilitate some operations (picking a date, select an item from a range of options, …)

Results will be showed graphically: kanban, data-viz, feed, inventories.

The main interaction with the network will be done chatting, and the chat will allow to create economic event, exchange resources, create plans, etc.

The following is an attempt to write done an economic sentence structure to implement as front-end of pub of the commons, after 1year of practice and study of economic networks.


This economic sentence structure (ESS) is a text-to-Js conversion tool for economic network. ESS allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid Jsx.


  • Agent
  • Resource
  • Quantity
  • Economic Event
  • Taxonomy
  • Constructs
  • Macros


An agent is definied preceding a @ to its username
@Alice, @p2p-team, @faircoop


A resource is defined preceding % to its username.
%pie-123, %macao-room-1, %helic-gear

%pie-123 is different from #pie-123, where %pie-123 refers to a specific resource present inside some agent inventory, #pie-123 refer to a taxonomy resource (read later about taxonomy)


Quantity is specified by ‘:’

I !use :3.5 %sugar


An event type is defined preceding ! to its name

  • !work
  • !use
  • !consume
  • !exchange
  • !cite
  • !produce

I !work :3.5 #cooking-pie

(The qty unit can be omitted, since #cooking-pie is already associated with a specific one)
An event must be associated with a taxonomy or a commitment.

Nice to note
An existent economic event can be retrieved and linked using !eventid structure
eg. !716 will refer to: Alice worked 3h to graphic design


[This is not the right word]
Construct are identified by > / >> / >>>
Example of construct are:

  • Commitment
  • Process
  • Plan


An intent commitment is defined by > before its name
> unit-test-feature-request-123


An intent process contains 1 or more commitments and it is defined by >>
>> test-feature-123


A plan contains 1 or more processes and it is defined by >>>
>>> Release-feature-123


Taxonomies are defined by # and can define conversation threads as well as taxonomy skills or taxonomy resources


Macro are reserved word to interact with the economic bot
Each macro is preceded by the character /


It is used to create a new commitment / process / plan

Alice: /new > unit-test-feature-request-2
Bot: Hooray! You have just created a new commitment called _unit-test-feature-request-2_. Before publishing, add some more details…  
What event will fulfill your commitment?  
Alice: !work ~5 #programming-javascript @p2p-team  
Bot: [visual representation of the commitment]
Bot: Your commitment has the mandatory info to be published, you can add a *due date* and a *note*, or publish it…
*Alice click on date and pick a date from the datepicker widget*
*Alice click on note and write some stuff*
Bot: Allright, your commitment is ready to be published, this is the preview, you can publish it or save for later.
*visual representation of the commitment*
*Alice clicks on publish*

It is used to link a commitment with a process, or a process with a plan, or a commitment with a plan, or an event with a process, or a plan with a group.

/link !123 to > unit-test-feature-request-2
/link > unit-test-feature-request-2 to >> test-feature-2
/link !123 to >> test-feature-2
/link >>> feature-123 to @OCE


It is used to require a specific portion of data, organized as a viewbox in the ui.
It can be used to look at the inventory of a specific agent, or show its wallet, see the kanban representation of a plan, or the feed of a specific agent.
Under the hood, this command will create a specific graphql query, and the result will be organized in pre-defined layout templates.
Some examples:
/show wallet @alice
/show kanban >>> feature-123
/show feed >>> @bob
/show plans >>> @oce
/show inventory @fablab-milano