# Introdução

O que é o Nimbly, o que significa full-stack atômico e como um projeto é organizado.

O Nimbly é um **sistema de design atômico full-stack** para produtos digitais sob medida, de sites focados a portais, painéis e aplicações de negócio. Ele cobre a aplicação inteira: páginas e templates, dados e sua administração, a API, usuários e permissões, mídia, jobs agendados e agentes.

## O que significa full-stack atômico

Atômico significa granular. Uma aplicação Nimbly é feita de pequenos blocos de construção, cada um com uma responsabilidade: um template gera markup, uma biblioteca contém lógica de negócio, um recurso define um tipo de dado. Os blocos se combinam em funcionalidades, e as funcionalidades no produto.

Isso vale para toda a stack, não só para a interface. Uma funcionalidade de projetos é um recurso de projetos, a lógica que seleciona registros, um template de cartão e a página que os mostra. Cada parte pode ser reutilizada, substituída ou estendida por conta própria.

O nível de granularidade é você quem decide. Uma página pode ser um único template com HTML simples, ou uma composição de muitos pequenos. O Nimbly não traz uma biblioteca de componentes prontos: cada projeto compõe sua própria interface, e assim carrega exatamente a estrutura e o código de que precisa.

## Comece pela página ou pelos dados

Você pode trabalhar de cima para baixo:

1. Escreva uma página como template, com seu próprio HTML e suas classes.
2. Marque textos como editáveis, para que os editores os alterem na própria página.
3. Quando algo se repete, como projetos, defina-o como recurso num único arquivo JSON. A visão geral no admin, os formulários para adicionar e editar, a API, as permissões e o histórico vêm com essa definição.
4. Selecione os registros na página e repita um template de cartão para cada um.

Ou de baixo para cima: defina primeiro os dados e construa as páginas sobre eles. Os dois caminhos levam à mesma estrutura.

## Cada rota é uma tela em branco

Uma rota faz o que você quiser. O Nimbly não acrescenta layout, invólucro ou formato próprio:

- Termine o template com `[#html#]` e você tem a página padrão, com o head, os assets e a edição na página para editores.
- Escreva seu próprio documento HTML e você tem exatamente isso. Veja [Seu próprio HTML](/pt/docs/guides/html-shell/).
- Responda com JSON, XML, texto simples, CSV, um arquivo ou um PDF. Veja [O que uma rota devolve](/pt/docs/guides/responses/).

O Nimbly vem com Tailwind CSS, DaisyUI e Alpine.js configurados, e o admin é construído com eles. Nas suas próprias rotas eles são um padrão, não uma obrigação: use React, Vue, JavaScript puro ou outro conjunto de ferramentas numa rota ou no site inteiro. Veja [Stack de frontend](/pt/docs/guides/frontend/).

## Sua aplicação e o framework

Um projeto Nimbly tem duas partes. `core/` é o framework, compartilhado por toda aplicação Nimbly. `ext/` é a sua aplicação: rotas, templates, bibliotecas, recursos, configuração e tema.

Todo template, biblioteca, rota e arquivo estático é procurado primeiro em `ext/`, depois em `core/`. Um arquivo com o mesmo nome em `ext/` substitui a versão do core, e arquivos novos ficam ao lado. O próprio core continua intocado, então as atualizações continuam chegando.

Código, conteúdo e dados são arquivos simples. Os registros ficam como arquivos JSON no repositório da aplicação, então o conteúdo é versionado junto com o código e um clone traz o site inteiro; veja [Dados como arquivos](/pt/docs/concepts/data-as-files/). Uma requisição carrega só os blocos que sua rota usa.

## Menos stack, mais produto

O Nimbly deixa de fora o servidor de banco de dados, o ORM e as migrações. Os registros são arquivos JSON no Git, ao lado do código que os usa, e uma definição de recurso basta para ter sua administração, API e permissões. Isso elimina uma camada inteira de complexidade desnecessária: você tem a rapidez da administração gerada junto com a transparência, o controle de versão e a limpeza de um código full-stack próprio. Serve para agências, desenvolvedores independentes e desenvolvimento com IA. Veja [Dados como arquivos](/pt/docs/concepts/data-as-files/).

## Para continuar

- [O Nimbly serve para o meu projeto?](/pt/docs/learn/project-suitability/)
- [Instalação](/pt/docs/learn/installation/)
- [Construa um site de projetos](/pt/docs/learn/projects/), o tutorial
- [Composição atômica](/pt/docs/concepts/atomic-design/)
- [Core e ext](/pt/docs/concepts/core-and-ext/)
- [Trabalhando com agentes de programação com IA](/pt/docs/learn/for-ai-agents/)
