> For the complete documentation index, see [llms.txt](https://docs.skailhq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skailhq.com/conceitos/readme.md).

# Componentes principais

Antes de entrar nos detalhes, vale entender como o skail organiza sua aplicação (workloads).

**A ideia é simples:**

* você escreve o fluxo do seu sistema como código (SDK)
* o skail executa esse fluxo de forma confiável (Runtime + Orquestrador)
* e você consegue acompanhar tudo em tempo real (Portal)

**Esses elementos trabalham juntos para resolver problemas comuns em sistemas distribuídos, como:**

* fluxos longos e difíceis de manter
* falhas no meio do processo
* retries manuais
* dificuldade de entender o que aconteceu

\
Sem precisar montar filas, jobs, controle de estado ou lógica de retry manual.

Você não precisa dominar todos os detalhes para começar — mas entender o papel de cada um ajuda a construir sistemas mais simples e previsíveis.

O skail é composto por quatro partes que trabalham juntas:

## SDK

O SDK é a parte que você usa no código.

É onde você define:

* o fluxo da sua aplicação (`SkailFunction`)
* as integrações com sistemas externos (`SkailCommand`)
* e como o sistema reage a eventos (`WaitForEvent`, `FireEvent`)

Na prática, é só código C# comum — sem precisar aprender novos paradigmas complexos.

> você escreve o fluxo como se fosse síncrono, mesmo lidando com eventos, tempo e falhas.

O SDK cuida de expor os blocos necessários para isso, sem que você precise se preocupar com infraestrutura ou arquitetura complexa.&#x20;

[Ver mais detalhes do SDK.](/conceitos/readme.md#sdk)

## Runtime

O Runtime é quem executa o seu código.

Ele garante que:

* o fluxo continue exatamente de onde parou
* nenhuma etapa seja executada duas vezes indevidamente
* falhas no meio do processo não quebrem a execução

Mesmo que:

* o processo dure minutos, horas ou dias
* o sistema reinicie
* ou aconteça algum erro no meio

Na prática, o Runtime transforma seu código em uma execução confiável, sem você precisar gerenciar estado manualmente.

[Ver mais detalhes do Runtime.](/conceitos/readme.md#runtime)

## Cloud/Orquestrador

Essa é a camada que coordena tudo.

Ela trabalha junto com o Runtime para garantir que:

* cada execução aconteça no momento certo
* eventos sejam entregues corretamente
* o fluxo avance mesmo com falhas ou interrupções

Você não precisa configurar filas, workers ou infraestrutura distribuída.

O skail cuida disso automaticamente.

## Portal web

O Portal é onde você enxerga tudo o que está acontecendo.

É nele que você:

* configura ambientes (dev, staging, produção)
* gerencia aplicações
* e acompanha execuções em tempo real

**Principalmente, é onde fica o monitor:**

* cada execução aparece com seu estado atual
* cada etapa do fluxo fica visível
* cada chamada externa pode ser inspecionada

**Isso permite:**

* entender rapidamente o que aconteceu
* identificar onde falhou
* e depurar sem depender de logs espalhados

Incluindo o uso do Time Travel Debug, que permite simular e depurar execuções de produção na sua máquina facilmente, com as variáveis e contexto originais, como se estivessem acontecendo agora.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skailhq.com/conceitos/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
