> For the complete documentation index, see [llms.txt](https://docs.catalyx.solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catalyx.solutions/catalyx-daml-coding-assistant.md).

# CatalyX Daml Coding Assistant

CatalyX Daml Coding Assistant is a VS Code extension that suggests code completions while you write Daml. General-purpose coding assistants see very little Daml during training and often produce code that does not compile; the Daml Coding Assistant is backed by a model fine-tuned specifically on Daml code, so its suggestions follow Daml syntax and idioms.

Completions appear as inline ghost text at your cursor — press **Tab** to accept the full completion, or `Cmd+→` (`Ctrl+→` on Windows/Linux) to accept it word by word.

<figure><img src="/files/x8DHOvw7PhBQEvVf9wn1" alt="A ghost-text completion suggested inline in a .daml file"><figcaption></figcaption></figure>

***

### CatalyX Daml Coding Assistant Overview

<details>

<summary>How It Works</summary>

The extension watches your cursor position in `.daml` files, sends the surrounding code to the inference server, and shows the returned completion as ghost text.

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><ol><li><strong>Install</strong></li></ol></td><td>Add the extension to VS Code from the Visual Studio Marketplace.</td></tr><tr><td><ol start="2"><li><strong>Register</strong></li></ol></td><td>Sign up with your email or Google account — access is granted automatically.</td></tr><tr><td><ol start="3"><li><strong>Complete</strong></li></ol></td><td>Open a <code>.daml</code> file and start typing — suggestions appear inline.</td></tr></tbody></table>

</details>

<details>

<summary>Key Features</summary>

1. **Daml-specific completions**\
   Suggestions come from a model fine-tuned on Daml code, benchmarked to be measurably more accurate on Daml than a leading general-purpose coding assistant (GitHub Copilot).
2. **Inline ghost text**\
   Completions appear as you type, or on demand in manual trigger mode. Accept a whole suggestion, or take it word by word or line by line.
3. **Privacy by default**\
   No code content from your requests is retained unless you explicitly opt in to sharing it. See [Usage & Settings](/catalyx-daml-coding-assistant/usage-and-settings.md#data-sharing-and-privacy).
4. **Open-weight model**\
   The underlying model is published on [Hugging Face](https://huggingface.co/intellecteu/daml-fim-7b), so you can run the whole stack on your own infrastructure. See [Self-Hosting](/catalyx-daml-coding-assistant/self-hosting.md).
5. **Open benchmark**\
   The Daml autocompletion benchmark used to evaluate the model is [open source](https://github.com/intellecteu/daml-fim-benchmark).

</details>

<details>

<summary>Security &#x26; Privacy</summary>

By default, the hosted service does not keep any of your code: the context sent with each completion request is processed in memory and not retained. Only anonymous usage metrics are recorded: whether suggestions were accepted (a boolean only — never the suggestion text), character counts, and latency.

You can optionally opt in to sharing code snippets to help improve the model. You are asked for your choice on first use, and can change it at any time in the extension settings.

Use of the hosted service is subject to the [Terms of Use](https://api.dca.catalyx.solutions/terms); data handling is described in the [Privacy Notice](https://api.dca.catalyx.solutions/privacy).

Organisations that prefer to keep everything in-house can self-host the open-weight model — see [Self-Hosting](/catalyx-daml-coding-assistant/self-hosting.md).

</details>

<details>

<summary>Learn More</summary>

{% embed url="<https://marketplace.visualstudio.com/items?itemName=intellecteu.daml-coding-assistant>" %}

</details>

***

### Get Started

Explore the documentation and start getting Daml completions in your editor.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td>Install the extension, register, and get your first completion.</td><td></td><td><a href="/pages/xtSermUaO5DnoCGDMHgr">/pages/xtSermUaO5DnoCGDMHgr</a></td></tr><tr><td><strong>Usage &#x26; Settings</strong></td><td>Trigger modes, keyboard shortcuts, commands, and configuration.</td><td></td><td><a href="/pages/KnErqMAy8KAXF9dbhjOr">/pages/KnErqMAy8KAXF9dbhjOr</a></td></tr><tr><td><strong>Self-Hosting</strong></td><td>Run the open-weight model on your own infrastructure.</td><td></td><td><a href="/pages/qTMUmwhtyqoua8xPA3DP">/pages/qTMUmwhtyqoua8xPA3DP</a></td></tr><tr><td><strong>Release Notes</strong></td><td>Explore the latest updates, improvements, and bug fixes.</td><td></td><td><a href="/pages/p5HdfIzSIxfpOnf8z3qb">/pages/p5HdfIzSIxfpOnf8z3qb</a></td></tr></tbody></table>

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.catalyx.solutions/catalyx-daml-coding-assistant.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
