Extensão do VS Code para iniciar uma avaliação técnica (tech assessment) de um projeto. Ela coleta as variáveis de ambiente configuráveis e aciona um binário pré-compilado (via Nuitka) que realiza toda a orquestração da avaliação.
O que a extensão faz
Usa o binário flow-tech-assessment-linux-x86_64, empacotado junto com a extensão (armazenado em assets/).
Coleta variáveis de ambiente das configurações do VS Code (Flow Tech Assessment) para parametrizar a execução.
Executa o comando flow-tech-assessment-linux-x86_64 --path <seu-projeto> --reason <motivo>.
Requisitos
VS Code 1.103.0 ou superior.
Node.js (para compilar/rodar a extensão em modo de desenvolvimento).
Host Linux (o binário empacotado foi gerado para linux-x86_64).
Como configurar
Variáveis de ambiente (VS Code Settings)
Abra as configurações do VS Code e procure por “Flow Tech Assessment”. Você pode definir:
flowAssessment.model: modelo base (ex.: gpt-5)
flowAssessment.flowModel: Modelo do Flow (ex.: gpt-5)
flowAssessment.maxTokens: Máximo de tokens (ex.: 3000)
flowAssessment.agentName: Nome do agente (ex.: assessment-agent)
Autenticação (Command Palette)
As credenciais do Flow são obtidas via a extensão de autenticação do Flow (ciandt-global.flow-authentication-provider). A extensão suporta dois modos:
API Key (clientId/clientSecret) — modo padrão. Use o comando Login with Flow API Key.
OAuth — opcional. Use o comando Login with Flow OAuth.
O modo selecionado fica salvo; na ausência de um modo definido, a extensão tenta API Key automaticamente. Ambos os modos usam o provider oficial para solicitar credenciais. Tokens de API Key são criptografados em cache local (~/.mos/storage.bin) e renovados quando expiram.
Como rodar (modo desenvolvimento)
Instale dependências
npm install
Compile
npm run compile (ou npm run watch para recompilar ao salvar)
Rode em uma janela de desenvolvimento do VS Code
Abra este projeto no VS Code
Pressione F5 (Launch Extension) para abrir uma nova janela “Extension Development Host”
Execute os comandos
Abra a Paleta de Comandos (Cmd/Ctrl+Shift+P)
Procure por:
“Open Assessment Setup” (abre o webview de configuração)
“Hello World” (agora apenas abre o Assessment Setup)
Fluxo típico via Assessment Setup:
O botão “Install Dependencies” apenas garante que o binário empacotado esteja com permissão de execução.
Coleta variáveis de ambiente (incluindo credenciais do Flow via autenticação)
Executa ./flow-tech-assessment-linux-x86_64 --path <seu-projeto> quando você clica em “Run Assessment”
Importante: como o binário já foi gerado (via Nuitka) não há dependências externas a serem instaladas.
Dicas e solução de problemas
Permissões de execução: se o binário perder o bit de execução, rode “Install Dependencies” novamente para que a extensão aplique chmod +x.
Logs: acompanhe o canal “Tech Assessment” na aba “Output” do VS Code para ver a saída dos comandos e possíveis erros.
A extensão funciona apenas em Linux no momento (o binário embutido é linux-x86_64).
Ativação do comando: o comando aparece na Paleta quando a extensão está carregada na janela de desenvolvimento. Se não aparecer, certifique-se de ter compilado o projeto e iniciado pelo F5.
Desenvolvimento
Scripts úteis:
npm run watch: recompila a cada alteração
npm run compile: build de produção para a pasta dist
npm test: executa testes da extensão
Actions - A extensão usa GitHub Actions para build e release automático.
Release Workflow
O workflow release.yml é acionado em pushes para a branch com o padrão release/v*.
Ele compila a extensão, empacota os binários para Linux, Windows e MacOS, e cria uma release no GitHub com os artefatos.
O arquivo build_config.json define os detalhes dos binários (versão, nome do arquivo) para cada plataforma.
Possiveis erros
Verifique se as variaveis de ambiente para o download dos binarios estao corretas, principalmente o FLOW_TECH_ASSESSMENT_GH_PAT que deve ter permissoes de leitura de releases na org.
Certifique-se de que a branch de release segue o padrão release/v*, por exemplo release/v0.0.1 e não esteja repetida.
Certifique-se de que o arquivo build_config.json está com a versão correta e atualizada para o novo release.