Pular para o conteúdo principal

Comandos

Esta é a referência completa de comandos do copera, agrupada por domínio. Rode copera <command> --help para a lista completa de flags e exemplos de qualquer comando.

dica

A maioria dos comandos aceita --json para saída legível por máquina, e a CLI alterna automaticamente para JSON quando o stdout é encadeado ou redirecionado. Veja Formatos de saída.

Flags globais disponíveis em todo comando: --token, --profile, --json, --output auto|json|table|plain, --quiet/-q, --no-input, --verbose.

Auth

copera auth login                   # fluxo guiado pelo navegador
copera auth login --token=cp_pat_xxx # salva um token diretamente
copera auth login --token # prompt de colagem mascarado, sem navegador
copera auth status # perfil ativo + origem do token
copera auth whoami # a quem o token pertence
copera auth logout # remove a credencial armazenada

Veja Autenticação para tipos de token e modos de login.

Boards

copera bases é um alias embutido para copera boards — use o que parecer mais natural.

copera boards list
copera boards list --query "roadmap" # busca por nome ou descrição
copera boards get <board-id>
[
{
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"name": "Engineering Roadmap",
"description": "Track features, bugs, and milestones across the engineering team.",
"createdAt": "2025-03-10T09:15:42.301Z",
"updatedAt": "2026-02-18T11:30:05.128Z"
}
]

Tabelas

copera tables list --board <board-id>
copera tables list --board <board-id> --query "tasks"
copera tables get <table-id> --board <board-id>

Cada tabela inclui seu schema completo de colunas — columnId, label e type, além de options para colunas STATUS e DROPDOWN. Use tables get para descobrir os IDs de colunas e os IDs de opções que você precisa antes de criar ou atualizar linhas.

Exportar uma tabela

copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv

--view é obrigatório e exporta linhas no mesmo formato de uma view salva. --format aceita CSV, XLSX, JSON, MARKDOWN, HTML, PDF, ZIP e ICS. -o/--output-file escreve em um caminho (padrão: stdout; - também significa stdout).

Linhas

A CLI expõe o ciclo de vida completo da linha — listar, obter, criar, atualizar, excluir — além de comentários, anexos, células de rich text e autenticação de linha.

copera rows list   --board <board-id> --table <table-id>
copera rows list --board <board-id> --table <table-id> --query "oauth"
copera rows get <row-id> --board <board-id> --table <table-id>

copera rows create --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}'

copera rows update <row-id> --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Updated"}]}'

copera rows delete <row-id> --board <board-id> --table <table-id> --force

--query busca nas colunas visíveis e não-senha da tabela.

Descrições e células de rich text

As linhas têm duas superfícies separadas de texto longo:

  • Descrição legada fixa da linha — exibida por rows get como Description (legacy). Use rows description para lê-la. Atualizá-la não é mais suportado pela CLI.
  • Células de coluna RICH TEXT / DESCRIPTION — colunas modernas de texto longo. Uma tabela pode ter várias, então mire em uma com --column <column-id>.
# Lê a descrição legada da linha
copera rows description <row-id> --board <board-id> --table <table-id>

# Lê uma célula de coluna RICH TEXT / DESCRIPTION
copera rows column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>

# Escreve em uma célula de coluna RICH TEXT / DESCRIPTION
copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id> --content "# Notes"

update-column-content suporta --operation replace (padrão), append ou prepend. Para encontrar um ID de coluna de uma coluna de tabela chamada Description, rode copera tables get <table-id> --board <board-id> --json.

Comentários

copera rows comment  <row-id> --board <board-id> --table <table-id> \
--content "Looks good"
copera rows comments <row-id> --board <board-id> --table <table-id>

Anexos

Baixe anexos de colunas FILE ou de comentários:

# De uma coluna FILE
copera rows attachments download <row-id> --board <board-id> --table <table-id> \
--column <column-id> --file <file-id> -o ./contract.pdf

# De um comentário
copera rows comments attachments download <row-id> --board <board-id> --table <table-id> \
--comment <comment-id> --file <file-id> -o ./contract.pdf

Autenticar uma linha

Verifique um par identificador/senha contra as colunas correspondentes de uma linha (por exemplo, uma tabela de credenciais):

copera rows authenticate --board <board-id> --table <table-id> \
--identifier-column <column-id> --identifier-value "[email protected]" \
--password-column <column-id> --password-value "secret"

Suporte a stdin

rows create, rows comment e rows update-column-content leem do stdin quando sua flag de conteúdo é omitida:

echo '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}' \
| copera rows create --board <board-id> --table <table-id>

echo "Looks good" \
| copera rows comment <row-id> --board <board-id> --table <table-id>

echo "# Notes" \
| copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>

Docs

Os comandos de docs exigem um Personal Access Token (cp_pat_...).

copera docs tree
copera docs tree --parent <doc-id> # subárvore sob um doc
copera docs search "keyword"
copera docs get <doc-id> # metadados
copera docs content <doc-id> # corpo como Markdown
copera docs content <doc-id> --no-cache # ignora o cache local

copera docs create --title "New Doc" --content "Initial content"
copera docs update <doc-id> --content "Replacement content"
copera docs update <doc-id> --operation append --content "More content"
copera docs metadata <doc-id> --title "New title"
copera docs delete <doc-id> --force

docs update --operation aceita replace (padrão), append ou prepend. As atualizações de conteúdo são processadas de forma assíncrona — a API aceita a requisição e a aplica logo em seguida. Tanto docs create quanto docs update leem do stdin quando --content é omitido:

cat ./notes.md | copera docs create --title "Q2 Strategy"
cat ./report.md | copera docs update <doc-id>

Drive

Os comandos de drive exigem um Personal Access Token com acesso ao drive.

copera drive tree
copera drive tree --parent <folder-id> # subárvore sob uma pasta
copera drive tree --depth 5 # controla a profundidade de aninhamento (1-10, padrão 3)
copera drive search "quarterly report"
copera drive get <file-id>
copera drive download <file-id> -o report.pdf
copera drive upload ./report.pdf --parent <folder-id>
copera drive upload ./project/ --parent <folder-id> # upload recursivo de diretório
copera drive mkdir "New Folder"
copera drive mkdir "Sub Folder" --parent <folder-id>

Os uploads suportam transferência multipart, upload recursivo de diretório (a estrutura de pastas correspondente é criada automaticamente) e uma barra de progresso em terminais interativos. Ajuste-os com --chunk-size <bytes> (padrão 10 MB) e --concurrency <n> (padrão 4). download escreve no diretório atual a menos que você passe -o/--dest.

Channels

copera channels list
copera channels list --query "deploy" # nome, descrição ou participante
copera channels list --type <type> # filtra por tipo de channel
copera channels list --kind dm --participant <user-id>

copera channels message send "Hello" --channel <channel-id>
copera channels message send "Hello" --user <user-id> # DM por ID de usuário
echo "Deploy done" | copera channels message send --channel <channel-id>

channels list --kind aceita group ou dm. Para enviar uma mensagem direta, use channels message send com --user <user-id> em vez de --channel — a Copera reutiliza o channel de DM existente quando há um. As mensagens suportam Markdown (títulos, negrito/itálico, listas, blocos de código, citações, links):

copera channels message send "## Build Report

* **Status:** Success
* **Duration:** 3m 42s

> All tests passed." --channel <channel-id>

Workspace

copera workspace info       # metadados do workspace
copera workspace members # membros do workspace
copera workspace teams # times do workspace

Estes exigem um Personal Access Token.

Busca

Busque em diferentes tipos de recursos. --type é repetível para restringir os resultados:

copera search "contract"
copera search "contract" --type document --type driveContent

Exige um Personal Access Token.

Notificações

copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force

Exige um Personal Access Token.

Cache

A CLI armazena em cache o conteúdo dos documentos localmente para leituras mais rápidas.

copera cache status   # tamanho, contagem de arquivos e caminho do cache
copera cache clean # limpa o cache

Use copera docs content <id> --no-cache para ignorar o cache em uma única leitura sem limpá-lo.

Utilitários

copera version
copera version --json
copera update # atualiza para a versão mais recente
copera update --version 1.2.0 # fixa em uma versão específica
copera update --force # pula o prompt de confirmação

copera completion bash
copera completion zsh
copera completion fish

Encadeie a saída de completion no arquivo de inicialização do seu shell para habilitar o autocompletar:

copera completion zsh >> ~/.zshrc                                 # zsh
copera completion bash >> ~/.bashrc # bash
copera completion fish > ~/.config/fish/completions/copera.fish # fish

Reinicie seu shell ou rode source ~/.zshrc (ou equivalente) para ativar.

Relacionados