Flow Coder
O que é Coder?
Coder é uma ferramenta de linha de comando (CLI) que transforma a maneira como desenvolvedores, não-desenvolvedores e entusiastas de IA criam e geram código. Coder otimiza o tempo, aumenta a eficiência e simplifica a complexidade do desenvolvimento de novos aplicativos gerando código com o poder da IA.
Junte-se à nossa comunidade Flow Coders — Juntos, compartilhamos e nos conectamos com outros usuários.
Tech Talk sobre o Coder
Acesse o link, logue com sua conta corporativa
Instalação
Com o python instalado, basta instalar com pip
Windows
pip install https://storage.googleapis.com/flow-coder/flow_coder-1.3.1-py3-none-any.whl
Ubuntu / Mac
Nota
É necessário ter o pipx instalado
pipx install https://storage.googleapis.com/flow-coder/flow_coder-1.3.1-py3-none-any.whl
Nota
Não se esqueça de periodicamente verificar se há atualizaçoes no coder, ele vai te avisar na maioria do tempo, para atualizar basta rodar o comando coder update
Usando o coder
Atualmente o coder possui alguns comandos chave que servem para desenvolver o seu código, veja abaixo o passo-a-passo para usá-los com precisão
Autenticação - Coder Auth
-
Add: Adicionar uma autenticação ao coder. Os usuários do flow podem estar participando de diversos tenants, portanto é possível adicionar varias autenticações. Para adicionar uma autenticação é necessário primeiro gerar um client secret e um client id no flow. Para tanto faça login no flow em seu tenat desejado, clique na sigla de seu nome e depois em settings, na aba Your Profile clique em API Keys e em seguida em
Create Api Key, de um nome para sua chave e salve. Um painel com os dados será exibido, copie e cole para um lugar seguro pois não poderá mais ver esses valores assim que clicar em fecharcoder auth add --tenant <seu tenant> --client <seu client id> --secret <seu client secret>Help do comando
Usage: coder auth add [OPTIONS] Add a new tenant with its API key and set it as the active. For generating API keys (client/secret), visit: https://flow.ciandt.com/settings/api-keys Example: coder auth add --tenant my_tenant --client my_client_id --secret my_client_secret Options: --tenant TEXT The tenant ID. [required] --client TEXT The client ID. [required] --secret TEXT The client secret. [required] -
List: Para listar todos os tenants que já realizou login rode esse comando
coder auth list
Inicializar o Coder em uma pasta - Coder Init
Escolha uma pasta do projeto na qual vai trabalhar com o coder, pode ser na raiz do projecto, mas pode também ser em uma pasta mais interna do projeto para delimitar o escopo com o qual ele vai trabalhar e facilitar para ter uma janela de contexto menor
cd pasta_de_trabalho
coder init
Sessões - Coder new
Para começar a interagir com a IA é necessário iniciar uma nova sessão, esse comando é semelhante a iniciar um novo chat na interface gráfica, se iniciar uma sessão sem nome ele cria um nome aleatório para a sessão
coder new
Help do comando
Usage: coder new [OPTIONS] [SESSION_NAME]
Create a new session.
Options:
-i, --include TEXT Folder to be included in context. Can be used multiple
times.
-h, --help Show this message and exit.
Quando uma sessão é criada, será criado uma pasta da sessão em .coder/sessions/nome_sessao e nela conterão arquivosdo tipo markdown que vão ser usados para a comunicação com a IA, os arquivos são constituidos por uma numeração seguido pelo papel, os arquivos que contém __user.md são os seus inputs e os que contém _assistant.md são a resposta da IA.
Abra sempre o ultimo arquivo __user.md e é nesse arquivo que vai digitar o seu prompt e solicitar algo a IA.
Enviar o pedido a IA - Coder Run
Uma vez que digitou o prompt no arquivo é memomento de envia-lo para a IA e receber sua solução. Basta rodar o comando run
coder run
Help do comando
Usage: coder run [OPTIONS] [PROMPT]
Run user prompt in current session.
Options:
-n, --name TEXT Specify the session name.
-a, --apply Automatically apply the session after running it.
-b, --bind TEXT Bind key=value pairs to replace templates, with {{key}}
format, present in user prompt.
-f, --from PATH Specify a file path to use as the user prompt.
--no-stdin Do not read from stdin for the user prompt.
-o, --output PATH Write assistant output to PATH or STDOUT (if -o is passed
without a value; progress goes to STDERR).
-h, --help Show this message and exit.
A resposta da IA será entregue no arquivo _assistant.md prefixado com a mesma numeração do arquivo __user usado para o prompt
Aplicando as alterações - Coder Apply
Uma vez revisado a resposta entregue pela IA e estiver tudo correto, rodar o comando para aplicar as alterações direto na base de código
coder apply
Configuração e Janela de Contexto
Janela de Contexto
Cada modelo de IA possui uma determinada janela de contexto, que basicamente se refere a quantos tokens podem ser enviados em um prompt (um token normalmente representa uma palavra, mas nem sempre, portanto é dificil de calcular olhando apenas contando as palavras), o Coder trabalha de uma forma a enviar todo o código do projeto como parte do prompt, ele escaneia todos arquivos da pasta na qual ele está operando e envia o conteúdo dos arquivos a depender de como está configurado em .coder/config.yaml, se esse conteúdo ultrapassar o número máximo de tokens que o modelo aceita vai resultar em um erro quando rodar o coder run
Configuração
No arquivo de configuração, poderá escolher qual o modelo irá usar e como o coder vai manipular a janela de contexto, observe abaixo as possiveis opções
coder:
persona: |
Você é um especialista em codificação.
model: flow-bedrock-claude-37-sonnet
context:
mode: compact
scope: selected
selection:
model: flow-gemini-2.0-flash
step: 10
limit: 20
coder
-
persona: Descrição da persona para o assistente de IA.
- Padrão: "Você é um especialista em codificação."
-
model: O modelo de IA utilizado para geração de código e assistência.
- Opções:
- flow-openai-gpt-4o
- flow-openai-gpt-4o-mini
- flow-bedrock-claude-37-sonnet
- flow-bedrock-nova-lite
- flow-gemini-2.5-pro
- flow-gemini-2.0-flash
- flow-foundry-deepseek-r1
- Opções:
context
-
mode: O nível de detalhe para o conteúdo dos arquivos.
- Opções:
full: Inclui o conteúdo completo do arquivo.compact: Inclui uma versão reduzida do conteúdo do arquivo (experimental).
- Opções:
-
scope: O escopo dos arquivos a serem incluídos.
- Opções:
all: Inclui todos os arquivos.selected: Inclui apenas arquivos selecionados (experimental).
- Opções:
-
selection:
- model: Modelo utilizado para selecionar arquivos para o contexto.
- step: Passo para a nova seleção de arquivos em cada execução da sessão.
- limit: Limite para o número de arquivos selecionados.
Combinações de Modo e Escopo
- full/all: Inclui todos os arquivos com conteúdo completo. Ideal para repositórios menores. Suporta ~10k linhas de código no GPT-4o.
- full/selected: Inclui arquivos selecionados com conteúdo completo.
- compact/all: Inclui todos os arquivos com conteúdo reduzido.
- compact/selected: Inclui arquivos selecionados com conteúdo reduzido. Suporta >200k linhas de código no GPT-4o/Gemini-Flash (experimental).
Escolha Baseada nas Necessidades do Projeto
Escolha a combinação de modo e escopo com base nas necessidades do seu projeto em termos de precisão e otimização.
Coder Ignore
para reduzir mais ainda a janela de contexto podemos usar o arquivo .coderignore que já é gerado pelo coder init, ele segue as mesmas regras e sintaxe do .gitignore.
Para esse projeto é importante adicionar os seguintes itens ao .coderignore
node_modules
site
docs
docx
*.zip
*.pdf
*.docx
*.log
cache
.cache


