Cartão de ações
Este cartão lista todas as ações que o Fito oferece, na ordem em que você as executa. Ele é para quem já sabe o que é o Fito e quer o mapa de uma página só: quem aprende, quem cria casos, quem faz curadoria ou quem administra.
Ele não ensina nenhuma delas. Cada linha aponta para a página que ensina.
Ele não cobre a API HTTP do Fito, e não cobre como rodar um servidor do Fito.
Como ler este cartão
Seção intitulada “Como ler este cartão”Uma ação é um comando da TUI que você digita em uma sessão do pi, ou uma página, um controle ou um parâmetro na aplicação web. As cinco fases são uma ordem, não um cardápio: cada uma supõe a fase acima dela.
Toda célula de Ação começa com a superfície em que a ação acontece, porque uma
/ inicial sozinha não diz se um nome é um comando ou um endereço. O resto da
notação é o mesmo que a
Referência de comandos da TUI usa, e
duas marcas carregam as duas coisas que param um comando antes de ele começar:
| Notação | Significado |
|---|---|
| Um comando que você digita em uma sessão do pi | |
| Uma página ou um controle na aplicação web | |
<name> |
Um valor que você fornece |
[part] |
Opcional |
a|b |
Escolha um |
... |
Pode repetir |
?name= |
Um parâmetro de consulta em um endereço web |
| Login | Rode /fito-login antes |
| Personas | Precisa do pacote pi-subagents |
Fase 0 — Instalar e entrar
Seção intitulada “Fase 0 — Instalar e entrar”Nada mais funciona antes disto. Você instala a metade do terminal uma vez, e carrega duas identidades: uma conta do Fito e a conta do GitHub de onde os seus envios saem.
| Ação | O que faz | Flags e parâmetros | O que é preciso antes, e a página completa |
|---|---|---|---|
pi install npm:fito-tui |
Instala o pacote do Fito para o seu usuário, para que toda sessão do pi, em qualquer pasta, ofereça os comandos /fito- |
Nenhum. O pi config o desliga sem removê-lo. Remova antes uma instalação por clone do Fito — com as duas, o pi carrega duas cópias e se recusa a iniciar |
Node.js 24, um runtime do pi, git, gh. Instalação e pré-requisitos |
pi install npm:pi-subagents |
Instala o transporte de trabalhadores que onze comandos usam. Sem ele, eles dizem Unknown tool: subagent |
Nenhum. Ele é instalado sem versão de propósito, e o Fito precisa da 0.68.0 ou mais nova | Um runtime do pi. Instalação e pré-requisitos |
| Configurar um provedor de LLM no pi | Dá ao tutor, à avaliação e a toda persona trabalhadora um modelo para chamar | --provider, --model e --api-key valem só para uma sessão e ganham de uma chave guardada |
Um runtime do pi. Instalação e pré-requisitos |
pi update --extensions |
Instala um Fito mais novo e um pi-subagents mais novo. O pi avisa quando inicia que saiu uma versão nova, e o Fito avisa quando o servidor recusa a sua versão ou quando o seu pi-subagents é antigo demais |
Nenhum. Rode no seu shell e depois inicie o pi de novo | O Fito instalado pelo npm. Instalação e pré-requisitos |
/auth/signup |
Cria a sua conta do Fito a partir de um e-mail e uma senha | Nenhum | Nada. Criar uma conta e entrar |
/auth/login |
Faz a sua entrada por senha, ou pelo Continue with GitHub. Vincule o GitHub aqui: o artefato de envio é um pull request, então enviar exige isso | Nenhum | Uma conta do Fito. Criar uma conta e entrar |
/fito-login |
Abre o seu navegador, faz a sua entrada e grava o par de tokens em ~/.fito/credentials |
Nenhum | Uma conta do Fito. Entrar pelo terminal |
/fito-auth-refresh |
Troca o refresh token guardado por um par novo | Nenhum | Uma entrada pelo terminal. Entrar pelo terminal |
/fito-logout |
Revoga o refresh token no servidor e apaga as credenciais guardadas | Nenhum | Uma entrada pelo terminal. Entrar pelo terminal |
Fase 1 — Criar conhecimento
Seção intitulada “Fase 1 — Criar conhecimento”Um caso só pode ser delimitado contra conhecimento que já existe, então esta fase vem primeiro. Leia o que o Fito guarda, admita a tecnologia e rode a esteira: ingerir, identificar, gerar, publicar. As competências vêm por último, porque cada elemento se apoia em um componente vivo.
| Ação | O que faz | Flags e parâmetros | O que é preciso antes, e a página completa |
|---|---|---|---|
/knowledge |
Lista todas as tecnologias — ferramentas e práticas — com busca, ordenação e paginação | ?q= texto livre · ?sort=name|component-count · ?page= começa em zero |
Nada. Navegar pela área de conhecimento |
/knowledge/<technology> |
Uma tecnologia: a descrição independente de versão, as suas linhas principais e a contagem de componentes por tipo | ?type=concept|execution-fact|usage-scenario |
Nada. Tecnologias, ferramentas e práticas |
/knowledge/<technology>/<version> |
Uma linha principal (major line), e os componentes escritos para ela. Toda leitura da página fica presa àquela linha | ?type=concept|execution-fact|usage-scenario |
Nada. Versões e definições alternativas |
/knowledge/<type>/<slug> |
Um componente de conhecimento (knowledge component) por inteiro: os campos de conteúdo, o histórico de revisões, as definições alternativas e os casos publicados que o usam | Nenhum. <slug> é o id pontuado completo, como javalin.handler |
Nada. Componentes de conhecimento |
/fito-create-or-update-technology |
Admite uma tecnologia e uma das suas linhas principais. Um trabalhador redige o nome, o tipo e o texto; uma guarda de quase duplicata para a execução para você resolver | --technology <slug>@<version> obrigatório · --source <path> · --fetch · --urls <file> · --docs <path> · --output <path> |
Login. Personas. Provisionar uma tecnologia |
/fito-fetch-urls-content |
Lê um arquivo de URLs, busca cada página ou transcrição do YouTube, limpa e salva como markdown bruto. É a entrada reserva, para uma tecnologia sem código para ler | <URL list file path> obrigatório |
Um python3 capaz de criar um ambiente virtual. Buscar documentação de uma URL |
/fito-identify-domain-concepts · /fito-identify-execution-facts · /fito-identify-usage-scenarios |
Leem a fonte ingerida e propõem candidatos, um tipo de componente por comando. O tipo (kind) da tecnologia escolhe o trabalhador, e nenhuma flag escolhe por você. --source percorre uma árvore de código e monta o pacote que eles leem — não existe comando de ingestão, e a árvore do próprio caso é a entrada preferida, com a documentação buscada como reserva |
<tool-name> obrigatório · --technology-version <slug> obrigatório · --technology <slug> · --description "<text>" · --source <path> · --fetch · --urls <file> · --docs <path> · --output <path> |
A tecnologia e a sua linha principal, provisionadas. Personas. Identificar componentes de conhecimento · Ingerir uma árvore de código-fonte |
/fito-generate-domain-concepts · /fito-generate-execution-facts · /fito-generate-usage-scenarios |
Escrevem cada candidato novo por inteiro, contra o template que o backend guarda para aquele tipo e aquele kind. Candidatos que já existem são pulados. A mesma ingestão só chega a este passo por meio de --identify |
<tool-name> obrigatório · --technology-version <slug>[,<slug>...] obrigatório · --technology <slug> · --version <ver> · --concepts, --facts ou --scenarios <path> · --output <path> · --mode one|batch|all · --select <items> · --audience beginner|intermediate|advanced · --language <lang> · --identify · --source <path> · --fetch · --urls <file> · --docs <path> |
Uma lista de candidatos. Personas. Gerar e publicar componentes |
/fito-push-knowledge |
Publica no Fito os arquivos gerados, um de cada vez. Um parecido ou uma quase duplicata para a execução para a sua escolha: vincular, suceder, pular ou criar componente novo | [folder-or-files] |
Login. Gerar e publicar componentes |
/fito-create-or-update-competence |
Registra uma competência que uma tecnologia exige, com cada elemento apoiado em um componente vivo, ou edita o nome e a descrição de uma | --technology <slug>@<version> obrigatório · --competence <id> · --output <path> |
Login, e você tem um caso ou é admin. Criar uma competência |
/fito-delete-competence |
Apaga uma competência e toda subcompetência abaixo dela, depois de mostrar o que sairia e perguntar | [<competence-id>] ou --technology <slug> — um dos dois |
Login, e a competência é sua ou você é admin. Criar uma competência |
Fase 2 — Criar um caso
Seção intitulada “Fase 2 — Criar um caso”Desenhar, gerar, validar, planejar, construir, publicar. O código-fonte você mesmo constrói, fora do Fito, seguindo o plano que o quarto passo escreve.
| Ação | O que faz | Flags e parâmetros | O que é preciso antes, e a página completa |
|---|---|---|---|
/fito-case-design |
Transforma um objetivo e as tecnologias declaradas em uma proposta de caso. Toda referência a conhecimento é verificada ao vivo, então ele recusa uma tecnologia não provisionada e recusa delimitar um caso cujos componentes ainda não existem | "<goal>" obrigatório · --technology <slug>@<version> obrigatório e repetível · --source <path> · --output <path> |
Os componentes que o caso vai ensinar, já publicados. Desenhar um caso |
/fito-case-generate |
Escreve a pasta .case/ inteira — manifesto, situação, tarefa, rubrica, objetivos, pré-requisitos, estado inicial, notas de solução e um quiz opcional — repetindo editar e validar até o conjunto de regras passar. Você pode rodar esse mesmo conjunto de regras estruturais à mão; ele imprime JSON e sai com 0 para aprovação, 1 para falha e 2 para problema de uso |
[<proposal-path>] · --dir <path> |
Uma proposta. Gerar a pasta .case/ · Validar a pasta .case/ |
/fito-case-plan-source |
Escreve .authoring/source-spec.md e .authoring/source-plan.md: a especificação autocontida e o plano ordenado para o código inicial e o branch de solução |
[<case-dir>] · --scenario reuse|greenfield · --proposal <path> |
Uma pasta .case/. Personas. Planejar o código do caso |
| Construir o código inicial e o branch de solução | Entregue os dois documentos à ferramenta que você preferir — um agente de código, ou você mesmo. O Fito não indica nenhuma e não tem comando para esta metade. .authoring/source-plan.md é o roteiro que você executa na ordem; .authoring/source-spec.md é o critério de aceitação contra o qual você confere o resultado. Cada passo traz o próprio comando de verificação, então um passo termina quando esse comando passa, nunca quando a ferramenta diz que terminou |
Nenhum. No greenfield os primeiros passos do plano montam um projeto completo e compilável a partir do toolchain declarado; no reuse eles enumeram as mudanças no projeto que você já tem. Toda lacuna que o planejador não conseguiu rastrear está nomeada no resumo dele, para você fechar | Os dois documentos de planejamento, e o toolchain do caso instalado na sua máquina. Pronto quando todo gate da rubrica passa em case/solution-vX.Y.Z, e falham exatamente os testes que o known_state.yaml nomeia no ramo inicial. Planejar o código do caso |
/fito-publish-case |
Envia main, o branch de versão congelado vX.Y.Z e o branch de solução para o repositório do caso, e então registra e publica o caso. Um fluxo só serve à primeira publicação e a uma versão nova |
[<case-dir>] · --repo <owner>/<name> · --case-id <uuid> |
Login. Uma árvore .case/ que valida. Publicar um caso |
/fito-case-edit |
Clona o seu próprio repositório do caso em forma de autoria, faz checkout de main e resume para você a versão publicada e a última mudança |
<case-id> obrigatório · --dir <target>, padrão ~/.fito/authoring/<case-id> |
Um caso publicado. Corrigir ou aposentar um caso publicado |
Retire this case, em /cases/<id> |
Marca o caso como aposentado. Ele sai da descoberta, continua servido no próprio endereço e continua aceitando envios de quem já começou | Nenhum | Entrar como dono do caso ou como admin. Corrigir ou aposentar um caso publicado |
Reinstate this case, em /cases/<id> |
Devolve um caso aposentado a publicado, e ele volta a toda leitura que o escondia. Nada liga um caso aposentado ao sucessor dele, então procure por um antes | Nenhum | Entrar como dono do caso ou como admin. Corrigir ou aposentar um caso publicado |
Fase 3 — Aprender
Seção intitulada “Fase 3 — Aprender”Encontre um caso no navegador, trabalhe no terminal, entregue. A sua nota é registrada como proficiência contra componentes individuais, nunca como uma nota única.
| Ação | O que faz | Flags e parâmetros | O que é preciso antes, e a página completa |
|---|---|---|---|
/ |
A página de entrada: o que é o Fito, como um caso funciona e alguns casos em destaque | Nenhum | Nada. Encontrar um caso para trabalhar |
/cases |
O catálogo de casos: busca em texto completo, filtros, ordenação e paginação | ?q= texto livre · ?type= tipo de caso · ?bloom= nível de Bloom · ?technology= slug · ?learningObjective= referência de componente · ?sort=recent|title · ?page= começa em zero |
Nada. Encontrar um caso para trabalhar |
/cases/<id> |
A capa de um caso: visão geral, objetivos de aprendizagem, critérios de rubrica, artefatos comentados, uso público e as instruções de abertura. Com você dentro, mostra também quais pré-requisitos você tem, quais casos ensinam os que faltam, a sua situação em cada competência que o caso avaliou, e cada envio seu já avaliado, resultado por resultado | Nenhum. <id> é o UUID do caso que você cola em todos os comandos abaixo |
Nada para ler; entre na conta para os painéis pessoais. Encontrar um caso para trabalhar |
/fito-case-open |
Faz o fork do caso para o seu GitHub, clona em ~/.fito/cases/<id>/, faz checkout da versão publicada, cria o seu branch de trabalho, registra a matrícula e resume o caso para você — nunca a solução |
<case-id> obrigatório |
Login. gh autenticado. Abrir e trabalhar um caso |
/fito-tutor |
Responde a perguntas presas ao caso enquanto você trabalha, citando ids de componentes. Ele não tem ferramenta de sistema de arquivos, então a solução, o gabarito da rubrica e o do quiz estão fora do alcance dele por construção | [<case-id>] · [question] |
Um caso aberto. Personas. Pergunte ao tutor |
/fito-evaluate |
Avalia o seu checkout local contra a rubrica, de 0 a 3 por critério, e apresenta o quiz quando o caso tem um. É um ensaio: nada é enviado e nada é registrado | <case-id> obrigatório |
Um caso aberto. Personas. Como um caso é avaliado |
/fito-submit |
Envia o seu branch de trabalho, abre ou reaproveita o pull request, roda a mesma avaliação para registro, e grava o resultado no seu perfil como proficiência por componente | <case-id> obrigatório |
Login. Uma identidade do GitHub vinculada. Personas. Enviar e ler o seu resultado |
/competencies |
A sua proficiência registrada: a tabela de todas as competências, cada uma lida como uma etiqueta de nível e uma porcentagem de aproveitamento de proficiência, e o detalhamento de uma competência quando você a escolhe | ?competency= o id de uma competência; sem ele a página lista todas |
Estar na conta. Níveis de Bloom e proficiência |
/analytics |
Os seus painéis de aprendizagem: blocos de resumo, progressão de proficiência, tempo até o primeiro envio, ritmo e uma janela de atividade semanal | Nenhum | Estar na conta. Suas análises de aprendizagem |
Fase 4 — Curadoria e administração
Seção intitulada “Fase 4 — Curadoria e administração”Votar é aberto a toda pessoa com conta. O resto desta fase pertence a quem tem um caso, e os dois painéis a quem é admin.
| Ação | O que faz | Flags e parâmetros | O que é preciso antes, e a página completa |
|---|---|---|---|
| Votar a favor ou contra, em uma página de conhecimento, tecnologia ou caso | Registra o seu único voto naquele alvo. Troque ou retire quando quiser; as contagens aparecem ali mesmo | Nenhum | Estar na conta. Votar em conhecimento, tecnologias e casos |
/curation |
A lista de trabalho de quem cria: tecnologias, componentes e casos ordenados pelos votos contra que cada um atraiu desde a última análise | ?targetType=KNOWLEDGE_COMPONENT|TECHNOLOGY|CASE · ?relatedToMe= padrão true · ?includeSettled= padrão false |
Ser dono de pelo menos um caso. Trabalhar o catálogo de curadoria |
Levantar uma indicação, no painel em /curation |
Registra que um alvo precisa melhorar. Uma indicação viva por alvo, e você não precisa ser dono do alvo | Nenhum | Ser dono de pelo menos um caso. Analisar indicações no seu caso |
Julgar uma indicação, no painel em /curation |
Encerra como RESOLVED, nomeando o componente que responde, ou como WONT_FIX, nomeando o porquê. Você pode adotar o componente de outra pessoa em vez de criar uma quase duplicata |
Nenhum | Uma indicação viva no alvo. Analisar indicações no seu caso |
/admin |
O painel de Operações: pessoas ativas, cadastros, eventos e taxa de erro, a divisão do tráfego entre gente e robô, os endpoints que mais falham, e os dois funis de conversão | Nenhum. O seletor de janela define o período | A marca users.is_admin, ligada à mão no banco. Painéis de administração |
/admin/content |
O painel de Conteúdo: demanda por tecnologia, linhas de saúde por caso, e dificuldade de componente como diferença para a média geral | Nenhum. O seletor de janela define o período | A marca users.is_admin, ligada à mão no banco. Painéis de administração |
Fora deste cartão
Seção intitulada “Fora deste cartão”Quatro coisas ficaram de fora de propósito, e cada uma tem o seu lugar:
| Ficou de fora | Por quê, e onde está |
|---|---|
| A API HTTP do Fito | O cartão lista o que uma pessoa faz, não o que o navegador e a TUI enviam. Os endpoints pertencem à documentação de arquitetura do repositório |
| Rodar um servidor do Fito | Trabalho de quem opera, também na documentação de arquitetura do repositório |
O contrato de arquivos .case/ |
É um formato, não uma ação. Veja O contrato de arquivos .case/ |
| Tokens de sessão, a superfície de resumo, a busca de componentes, o fluxo de eventos | Cada um fica atrás de uma ação acima, não ao lado dela — renovar um token, servir um documento do caso por chave, listar componentes para o diálogo de desenho, registrar o que os painéis contam |
O que vem a seguir
Seção intitulada “O que vem a seguir”- Referência de comandos da TUI — os argumentos de cada comando, quais exigem login e quais exigem personas.
- Referência de skills da TUI — as nove skills por trás dos comandos.
- Referência de páginas da web — todos os endereços, quem consegue abrir e os parâmetros de consulta.
- Comece seu primeiro caso — a Fase 3 como procedimento, em seis passos.