# Creating your first agreement

{% hint style="info" %}
**Good to know:** Smart contracts without semantics are notoriously hard to interpret and require a professional developer. One of the goals of Ricardian Fabric is to make this more easy. You should pay attention to describe how the smart contract works, if you are attaching one!
{% endhint %}

## The basics

After logging into the application, there is a  sidebar. Find the button to open the contract editor.

![Click this button](/files/VH1Es414ogINujJ5ZvPD)

Your ricardian contract's terms are entered in the text field, where the placeholder shows "Type your legal contract".

### Formatting

The text field comes with a built in formatter. After you have typed something, highlight it to format it:

![](/files/egkIQarvQTuaEWRk4LFW)

You are able to format the text to bold, italic, underline, add a link, quote, add preformatted text, create lists, indent, outdent, align to left, right, center and create headings.

{% hint style="info" %}
Always use full URL paths for the links.
{% endhint %}

### Import a template

There is support for adding an external template. You can import it by clicking on the "Import template" button.

Clicking on the button will trigger the following popup:

![](/files/F6VIhDQMBfxV1m2sg4UE)

You simply drag an drop a .docx file here and it will populate the text area. As the popup explains, it will override it. Ricardian Fabric converts docx formatted files to html.

{% hint style="success" %}
Cooperate with others on the terms of the agreement using Google Docs and simply import it when you are done.
{% endhint %}

{% hint style="warning" %}
The conversion is not perfect. The app uses mammoth.js behind the scenes to convert the docx files.
{% endhint %}

### Configuration

You need to add a smart contract. Click on the button **Configure** to move to the configuration page.

{% content-ref url="/pages/29iZTcKe4Jy19lAItCGb" %}
[Configuration](/guides/ricardian-contracts/configuration.md)
{% endcontent-ref %}

### Deploy the agreement on Ipfs

After accepting the terms you can click on the Create button. The current version requires metamask to sign agreements.&#x20;

![Sign the hash to continue](/files/dEFFv2t7QpATC9WxEnrS)

The signed value is the hash of the Ricardian contract. It's the value that is always recalculated when the terms are accepted.&#x20;

### Congratulations

If you have signed the contract and deployed it! You have successfully deployed a Ricardian Contract to Ipfs. The link has been copied to your clipboard and you are ready to share it with the world.&#x20;

Learn how to permapin your contract on Ipfs so it persisits, in the permaweb guide.

{% content-ref url="/pages/vFRflUZHSBbJnR21avux" %}
[Permaweb](/guides/permaweb.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ricardianfabric.com/guides/ricardian-contracts/creating-your-first-agreement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
