> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sondercloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquivos

> Gerenciando arquivos e diretórios dentro de uma aplicação

O SDK gerencia arquivos e diretórios dentro do container de uma aplicação implantada, através dos métodos de arquivo de `sonder.apps`.

## Listar arquivos

```ts theme={null}
const files = await sonder.apps.listFiles(appId);         // lista '/app'
const srcFiles = await sonder.apps.listFiles(appId, '/app/src');
```

**path** `string` (default: /app)

Diretório a ser listado dentro do container da aplicação.

Retorna um array de `RemoteFileEntry`, com `name`, `path`, `isDirectory`, e opcionalmente `size` e `modifiedAt`.

## Ler um arquivo

```ts theme={null}
const content = await sonder.apps.readFile(appId, '/app/src/config.json');
```

## Escrever em um arquivo

```ts theme={null}
await sonder.apps.writeFile(
  appId,
  '/app/src/config.json',
  JSON.stringify({ foo: 'bar', env: 'production' }),
);
```

> [!WARNING]
>
> O conteúdo enviado não pode exceder 2 MB.

## Renomear ou mover

```ts theme={null}
await sonder.apps.renameFile(appId, '/app/old-name.js', '/app/new-name.js');
```

`oldPath` e `newPath` são ambos obrigatórios — a chamada lança erro localmente se algum estiver ausente.

## Criar diretório

```ts theme={null}
await sonder.apps.createFolder(appId, '/app/uploads');
```

## Remover arquivo ou diretório

```ts theme={null}
await sonder.apps.deleteFile(appId, '/app/uploads/temp.log');
```

## Referência de métodos

| Método | Rota | Descrição |
| - | - | - |
| `apps.listFiles(appId, path?)` | `GET /v1/apps/:id/files` | Lista arquivos e diretórios. `path` padrão: `/app`. |
| `apps.readFile(appId, path)` | `GET /v1/apps/:id/files/content` | Lê o conteúdo de um arquivo. |
| `apps.writeFile(appId, path, content)` | `PUT /v1/apps/:id/files/content` | Escreve conteúdo em um arquivo (até 2 MB). |
| `apps.renameFile(appId, oldPath, newPath)` | `PUT /v1/apps/:id/files/rename` | Renomeia ou move um arquivo/diretório. |
| `apps.createFolder(appId, path)` | `POST /v1/apps/:id/files/mkdir` | Cria um diretório. |
| `apps.deleteFile(appId, path)` | `POST /v1/apps/:id/files/delete` | Remove um arquivo ou diretório. |

> [!NOTE]
>
> `path`, `oldPath` e `newPath` são obrigatórios em todos os métodos acima — omiti-los lança um erro antes mesmo da requisição sair.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.