# Code & Executables

DeSci Nodes supports rich code and analysis script-sharing for enhanced reproducibility. You can publish a code repository (or file) as its own Research Node or add code components to an existing one to enrich your publication.

[Read more about why sharing code is so important.](broken://pages/mkp1Q0nzH4TFwPuGi1xB)

You can add code through these basic upload methods:

* [Add Components](/create-and-publish/create-a-node/add-components.md#adding-a-url) to your code repository (e.g. GitHub)
* [Add Components](/create-and-publish/create-a-node/add-components.md#upload-from-desktop) for code files
* [Add Components](/create-and-publish/create-a-node/add-components.md#drag-and-drop) for code files
* Upcoming: **Create & Edit Code Files**

More information on URL imports as related to code repositories is found below.&#x20;

## Adding a Code Repository

Open the Node Drive in your Node Workspace for the Node you want to add the Code Repository to. Paste the URL to your GitHub repo in the URL line when the Drive is showing the **upload panel**. DeSci Nodes will automatically pull in the full repository for you, including file and folder structures.

{% hint style="info" %}
Be aware that adding code repositories via GitHub URL will always add the **entire repository** to your Node. So make sure that everything in the repo can be shared openly.

We currently do not support the upload of individual folders within a repository or similar.
{% endhint %}

<figure><img src="/files/cMcgNAn1cRybTqWZpNGs" alt=""><figcaption><p>Add your code from GitHub straight into your Node</p></figcaption></figure>

Step-by-step instructions:

You can import your online GitHub code repository by providing its URL in the URL bar of the [Node Drive Panel](/general-user-overview/node-workspace/node-drive-panel.md) in the Node you want to add the code repository to.&#x20;

* Open the [Node Drive Panel](/general-user-overview/node-workspace/node-drive-panel.md), and hit the '+' button.&#x20;
* Select 'Upload' from the dropdown menu.
* In the Upload section that opens, paste the code repository URL in the 'Paste Link' bar near the bottom.&#x20;

  <figure><img src="/files/AA4YjrIrblJQ8S9viun1" alt="" width="188"><figcaption></figcaption></figure>
* Your repository will be added instantly, creating a folder named after the uploaded repository, containing all the files from the online repository. &#x20;

{% hint style="info" %}
In case you made a mistake, [here's how to delete a component](/create-and-publish/publish/update-your-node/delete-components-after-publication.md). Do note that only unpublished components will be removed from the online environment when deleted.&#x20;
{% endhint %}


---

# 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.desci.com/create-and-publish/create-a-node/add-components/code-and-executables.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.
