# Add file/ files

### Add one or more files to a repository using the web UI

Follow these steps to upload one or more files to your repository on Protocol.Land using the web UI:

1. Navigate to the main page of the repository and click “Add file” located on the top-left corner above the list of files.\
   ![](/files/gZQONuYMv1f19ta8FvfO)
2. Click “Upload files” from the modal you are prompted with.\
   ![](/files/AGezkbr5aAyuPv7272AG)
3. You will be prompted with another modal for file selection.\
   ![](/files/wIP0r8SzVwgvLZ7XRwuH)
4. Click “Browse Files” and select the desired file/ files or even entire folders.
5. Type in the desired commit message that summarizes the changes.
6. Preview the estimated cost of committing your changes by hovering over the information icon.
7. Click “Upload”.
8. You will be redirected to the main page of the repository, where the files list of the active branch will now include your newly uploaded file(s).

### Add and update files to a repository using the command line

Follow these steps to add and update files to your repository on Protocol.Land using the command line:

{% hint style="info" %}
Note: Ensure you have the [git remote helper](https://www.npmjs.com/package/@protocol.land/git-remote-helper) installed and properly configured to interact with repositories hosted on Protocol.Land using the command line.
{% endhint %}

1. In your local repository, make the desired changes to existing files or add new files to the project.
2. Open your command line.
3. Stage file(s) for commit in your local repository with the following command:

```bash
git add .
```

4. Commit the staged file(s) as follows along with a commit message that summarizes the changes:

```bash
git commit -m “Update files”
```

5. Push your changes from the local repository to Protocol.Land:

```bash
git push origin <your_branch_name>
```

6. The pushed changes will be updated in the files list of the working branch.


---

# 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.protocol.land/working-with-files/add-file-files.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.
