Crie um aplicativo Fabric com Claude Code

Use essa receita para criar um aplicativo Fabric que transforme um arquivo CSV em um explorador de dados interativo. Claude Code inspeciona o arquivo, estrutura o projeto, implementa filtros e visualizações que se ajustam às colunas disponíveis e valida o aplicativo a partir do seu terminal.

O aplicativo completo inclui o arquivo CSV em seu conteúdo estático e carrega os dados no navegador. Essa abordagem funciona bem para dados de exemplo, públicos ou não sensíveis que não exigem conexão ativa.

Neste tutorial, você:

  • Instale e inicie o Claude Code.
  • Peça para o Claude Code fazer andaimes e inspecionar um aplicativo Fabric.
  • Construa um explorador interativo ao redor do seu arquivo CSV.
  • Revise e valide as mudanças geradas.
  • Implante o aplicativo no Fabric.
  • Verifique a implantação e abra o app.

Pré-requisitos

  • Node.js 20 ou posterior.
  • Um terminal suportado por Claude Code.
  • Uma conta Claude Pro, Max, Team, Enterprise ou Console com acesso ao Claude Code.
  • Um conta Microsoft com acesso a Fabric.
  • Um workspace Fabric em que você tem permissões de Colaborador, Membro ou Administrador.
  • A carga de trabalho do Fabric Apps ativada para seu locatário.
  • Um arquivo CSV UTF-8 com uma linha de cabeçalho. Conheça o caminho completo até o arquivo antes de começar Claude Code.

Important

Um arquivo CSV implantado como conteúdo estático do app está disponível para pessoas que podem acessar o app. Não use essa receita para segredos, dados pessoais ou outras informações sensíveis.

Para requisitos do sistema e opções de conta do Claude Code, consulte a documentação de configuração do Claude Code.

Instalar o Código Claude

Instale o Claude Code usando o método do seu sistema operacional.

Windows

Instale o código Claude com WinGet:

winget install Anthropic.ClaudeCode

macOS, Linux, ou Subsistema do Windows para Linux

Use o instalador nativo:

curl -fsSL https://claude.ai/install.sh | bash

Verifique a instalação:

claude --version
claude doctor

Para outros métodos de instalação, veja Instalar Claude Code.

Iniciar o Código Claude

  1. Abra um terminal na pasta pai onde você quer criar o projeto.

  2. Comece o Código Claude:

    claude
    
  3. Complete o fluxo de autenticação do navegador se solicitado.

  4. Revise as permissões de acesso à pasta e comandos que o Claude Code solicita.

Não comece o Claude Code em uma pasta que contenha arquivos não relacionados que você não quer que ele inspecione ou modifique.

Suporte e execute o aplicativo

Cole o seguinte prompt no Claude Code:

Set up a new Rayfin app for me, end to end.

Create the project in a folder named csv-data-explorer. Before changing code, read any
CLAUDE.md, copilot-instructions.md, and agent guidance included in the scaffolded project.

Do the work yourself instead of only printing instructions:
1. Run `npm create @microsoft/rayfin@latest csv-data-explorer`.
2. Inspect the scaffolded project. Explain the purpose of rayfin/rayfin.yml,
   rayfin/data/, and src/.
3. Install dependencies if the scaffold command didn't install them.
4. Run `npx rayfin login` and pause while I complete sign-in.
5. Deploy the backend with `npx rayfin up`.
6. Confirm the deployment with `npx rayfin up status`.
7. Start the frontend with `npm run dev`.
8. Tell me the local URL to open and summarize what you created.

Ask before making a destructive change or using a force option.

Aprove os comandos somente depois de revisá-los. Complete o login do navegador Rayfin quando solicitado. Depois que o frontend iniciar, abra a URL local informada pelo Claude Code.

Peça ao Claude Code para construir o explorador de dados

Dê ao Claude Code o caminho completo até seu arquivo CSV e descreva como as pessoas devem explorar os dados. O agente pode inspecionar os cabeçalhos e valores de amostra para adaptar controles e visualizações ao conjunto de dados.

Use o prompt a seguir como receita inicial. Substitua <full-path-to-csv-file> pelo caminho para o seu arquivo.

Turn this Fabric app into a data explorer for the CSV file at
<full-path-to-csv-file>.

Requirements:
- Inspect the headers and a representative sample of rows first. Summarize the
   inferred date, numeric, Boolean, and categorical columns before editing.
- Don't modify the source file. Copy it into an appropriate static asset folder with
   a clear name so the deployed app can load it.
- Parse quoted fields, escaped commas, missing values, and line breaks correctly.
   Use an existing CSV dependency if the project includes one. Otherwise, add a
   well-maintained parser and explain why it's needed.
- Build KPI callouts and two useful charts based on the columns actually present.
   Don't invent fields or values.
- Add a global search, column filters appropriate to each inferred data type, sortable
   columns, pagination, and a control to clear all filters.
- Show the filtered row count, and calculate KPIs and charts from the filtered rows.
- Add a detailed data grid and preserve the original column names.
- Include loading, empty, and error states.
- Report malformed rows without crashing the app.
- Make the layout usable with a keyboard and responsive at desktop and mobile sizes.
- Follow the scaffolded project's existing component and styling patterns.
- Don't add dependencies unless they're necessary.

Before editing, inspect the relevant files and give me a short implementation plan.
Then make the changes, run the existing build, start the app, and validate the main
flows in a browser at desktop and mobile sizes. Explain any errors you fix.

Revise o plano antes que Claude Code edite o projeto. Se o plano não atender aos seus requisitos, corrija-o antes de aprovar a implementação.

Examinar as alterações geradas

Depois que Claude Code terminar, peça que ele revise seu trabalho:

Review the changes you made against every requirement in my previous prompt.

Check for:
- Incorrect parsing of quoted fields, escaped commas, missing values, or line breaks.
- Type inference that changes valid identifiers or loses numeric precision.
- KPIs or charts that don't update from the filtered rows.
- Search, filtering, sorting, pagination, or clear-filter controls that don't work.
- Invented fields, values, or fallback data that aren't in the CSV file.
- The original CSV file being modified.
- Missing loading, empty, or error states.
- TypeScript, build, browser console, or responsive layout errors.

Fix confirmed issues, rerun the existing build and browser checks, and summarize the
final behavior.

Revise você mesmo o diff do controle de código-fonte. Preste atenção especial a:

  • O ativo CSV copiado e se é adequado publicá-lo.
  • Análise sintática CSV e inferência de tipos.
  • Configuração de serviço em rayfin/rayfin.yml.
  • Novas dependências em package.json.
  • Segredos ou credenciais que você não deve cometer.

Validar o aplicativo

Peça ao Claude Code para executar a validação existente do projeto:

Validate the app without adding new tools.

1. Run the existing build and type-check commands from package.json.
2. Start the frontend if it isn't already running and report the local URL.
3. In a browser, verify the initial row count against the CSV file.
4. Test search, each filter type, sorting, pagination, clear filters, and malformed-row
   handling. Confirm that KPIs and charts update with the filtered rows.
5. Check desktop and mobile layouts and report browser console errors.
6. Fix confirmed issues and rerun the failed check.

No navegador, compare algumas linhas, totais e resultados filtrados com o arquivo CSV de origem. Teste resultados vazios, dados malformados, navegação por teclado e telas estreitas.

Implante o aplicativo finalizado

Depois de revisar as mudanças e testar o app, peça ao Claude Code para implantá-lo:

Deploy the reviewed app to Fabric.

1. Show me the current git diff and summarize what will be deployed.
2. Run `npx rayfin up`.
3. Run `npx rayfin up status`.
4. Confirm that the deployment is healthy.
5. Give me the hosted app URL and Fabric portal link from the command output.

Stop and explain the issue if deployment or verification fails.

O mesmo npx rayfin up comando atualiza uma implantação existente quando você continua desenvolvendo o app.

Continue iterando com Claude Code

Use prompts específicos para alterações posteriores. Inclua o comportamento desejado, usuários afetados, restrições e passos de validação.

Add saved views to the CSV data explorer.

Let users name and save the current search, filters, sort order, and visible columns
in browser storage. Don't store or duplicate CSV rows in browser storage. Add controls
to apply, rename, and delete a saved view. Run the existing build and browser checks,
then list the user flows I should retest.

Mantenha cada pedido pequeno o suficiente para ser analisado. Faça um commit de um estado funcional antes de pedir que o Claude Code faça uma alteração grande ou potencialmente destrutiva.

Solucionar problemas no fluxo de trabalho do Claude Code

Claude Code só imprime comandos

Diga ao Claude Code para executar os comandos e reportar os resultados. Revise e aprove as permissões de comando solicitadas.

Um comando aguarda o login

Complete o fluxo de login do navegador. Depois, avise ao Claude Code que o login está completo para que possa continuar.

O código Claude funciona na pasta errada

Saia da sessão, abra um terminal na pasta do projeto com estrutura e execute claude novamente.

Claude Code não consegue encontrar um comando

Execute claude doctor para verificar a instalação do Claude Code. Para os comandos do Rayfin, verifique se o Node.js 20 ou posterior e as dependências do projeto estão instalados.

O app abre, mas os dados CSV não carregam

Peça ao Claude Code para inspecionar os erros da rede e do console do navegador, verificar o caminho do ativo implantado e confirmar que o arquivo CSV está incluído na saída estática da compilação.

Claude Code propõe --force

Exija que o Claude Code mostre primeiro as operações de esquema potencialmente destrutivas. Aceite --force apenas quando você compreender e aceitar a possível perda de dados.

Para outros problemas com o aplicativo, veja Solucionar Problemas com Apps Fabric.