feat(15d): complete localization of full-guide page to PT

This commit is contained in:
Marcos Paulo
2026-09-05 22:30:50 +00:00
parent c022a93302
commit 054393f7af
38 changed files with 1322 additions and 325 deletions
+143 -28
View File
@@ -198,7 +198,8 @@ const base = import.meta.env.BASE_URL;
<p class="eyebrow">
<span data-language-content="en">A presentation for humans who ship</span><span
data-language-content="pt"
hidden>Uma apresentação para quem entrega software</span>
hidden>Uma apresentação para quem entrega software</span
>
</p><h1>
AI for<br /><em>dummies.</em>
</h1><p class="lede">
@@ -252,7 +253,8 @@ const base = import.meta.env.BASE_URL;
><span data-language-content="en">strong model<br />for ambiguity</span><span
data-language-content="pt"
hidden>modelo forte<br />para ambiguidade</span
></span>
></span
>
</div><div>
<strong>03</strong><span
><span data-language-content="en">bounded workers<br />in parallel</span><span
@@ -265,7 +267,8 @@ const base = import.meta.env.BASE_URL;
><span data-language-content="en">iterations<br />with evidence</span><span
data-language-content="pt"
hidden>iterações<br />com evidências</span
></span>
></span
>
</div><p>
<span data-language-content="en">Read this as a route map, not a prompt recipe.</span><span
data-language-content="pt"
@@ -336,8 +339,13 @@ const base = import.meta.env.BASE_URL;
>{workers.ui.en[2]}</small
>
</div><p class="caption">
The orchestrator preserves intent, writes small contracts, and gathers results that can be
verified. It does not need to type every line.
<span data-language-content="en"
>The orchestrator preserves intent, writes small contracts, and gathers results that can
be verified. It does not need to type every line.</span
><span data-language-content="pt" hidden
>O orquestrador preserva a intenção, escreve pequenos contratos e reúne resultados
verificáveis. Ele não precisa digitar cada linha.</span
>
</p>
</section>
<section class="failure-map">
@@ -403,15 +411,21 @@ const base = import.meta.env.BASE_URL;
<p class="eyebrow">
<span data-language-content="en">The subagent loop</span><span
data-language-content="pt"
hidden>O ciclo de subagentes</span>
hidden>O ciclo de subagentes</span
>
</p><h2 id="workflow-title">
<span data-language-content="en">Click a phase.<br /><em>See the handoff.</em></span><span
data-language-content="pt"
hidden>Clique em uma fase.<br /><em>Veja a passagem.</em></span
>
</h2><p>
Delegation means moving one bounded task into a smaller contextnot giving away
responsibility.
<span data-language-content="en"
>Delegation means moving one bounded task into a smaller contextnot giving away
responsibility.</span
><span data-language-content="pt" hidden
>Delegar é mover uma tarefa delimitada para um contexto menor não abrir mão da
responsabilidade.</span
>
</p>
</div><PhasePanel
phases={[
@@ -494,14 +508,21 @@ const base = import.meta.env.BASE_URL;
<p class="eyebrow">
<span data-language-content="en">Git worktrees</span><span
data-language-content="pt"
hidden>Git worktrees</span>
hidden>Git worktrees</span
>
</p><h2>
<span data-language-content="en">One branch<br />per <em>hand.</em></span><span
data-language-content="pt"
hidden>Uma branch<br />por <em>mão.</em></span>
hidden>Uma branch<br />por <em>mão.</em></span
>
</h2><p>
A worktree is another directory linked to the same repository. Each agent gets its own
checkout and index; history remains shared.
<span data-language-content="en"
>A worktree is another directory linked to the same repository. Each agent gets its own
checkout and index; history remains shared.</span
><span data-language-content="pt" hidden
>Um worktree é outro diretório ligado ao mesmo repositório. Cada agente recebe seu
próprio checkout e índice; o histórico continua compartilhado.</span
>
</p><p class="interaction-hint">
<span data-language-content="en"
>Select a node to inspect its checkout, owner, and next action.</span
@@ -522,11 +543,11 @@ const base = import.meta.env.BASE_URL;
hidden><i></i> 4 checkouts</span
></span
>
</div><WorktreeMap branches={treeBranches} /><article
class="tree-detail"
id="tree-detail"
aria-live="polite"
>
</div><WorktreeMap
branches={treeBranches}
rootLabel={{ en: 'ROOT', pt: 'RAIZ' }}
rootSmall={{ en: '● clean', pt: '● limpo' }}
/><article class="tree-detail" id="tree-detail" aria-live="polite">
<div><span>{labels.owner.en}</span><strong>{trees.main.owner.en}</strong></div><div>
<span>CHECKOUT</span><strong>{trees.main.path}</strong>
</div><p>{trees.main.note.en}</p><code>{trees.main.command}</code>
@@ -539,7 +560,8 @@ const base = import.meta.env.BASE_URL;
<p class="eyebrow">
<span data-language-content="en">Model routing</span><span
data-language-content="pt"
hidden>Roteamento de modelos</span>
hidden>Roteamento de modelos</span
>
</p><h2>
<span data-language-content="en"
>Do not pay for<br />reasoning where<br />you need <em>rhythm.</em></span
@@ -549,10 +571,14 @@ const base = import.meta.env.BASE_URL;
</h2><p class="interaction-hint">
<span data-language-content="en">Choose a job to see why the model profile changes.</span
><span data-language-content="pt" hidden
>Escolha um trabalho para entender por que o perfil do modelo muda.</span>
>Escolha um trabalho para entender por que o perfil do modelo muda.</span
>
</p>
</div><div class="route-console">
<RouteTable
headWork={{ en: 'Work', pt: 'Trabalho' }}
headProfile={{ en: 'Profile', pt: 'Perfil' }}
headPromptShape={{ en: 'Prompt shape', pt: 'Formato do prompt' }}
routes={[
{
id: 'plan',
@@ -608,13 +634,15 @@ const base = import.meta.env.BASE_URL;
<p class="eyebrow">
<span data-language-content="en">Two separate knobs</span><span
data-language-content="pt"
hidden>Dois controles separados</span>
hidden>Dois controles separados</span
>
</p>
<h2>
<span data-language-content="en"
>Choose the engine.<br />Then choose the <em>gear.</em></span
><span data-language-content="pt" hidden
>Escolha o motor.<br />Depois escolha a <em>marcha.</em></span>
>Escolha o motor.<br />Depois escolha a <em>marcha.</em></span
>
</h2>
</div>
<p>
@@ -625,7 +653,8 @@ const base = import.meta.env.BASE_URL;
><span data-language-content="pt" hidden
>Um modelo mais forte muda o teto de capacidade. Mais esforço de raciocínio mais
espaço para esse modelo trabalhar. Comece com a combinação mais leve que passa seus
checks e mova um controle por vez.</span>
checks e mova um controle por vez.</span
>
</p>
</div>
<div class="gearbox">
@@ -703,11 +732,13 @@ const base = import.meta.env.BASE_URL;
<div>
<p class="eyebrow">
<span data-language-content="en">Skills</span><span data-language-content="pt" hidden
>Skills</span>
>Skills</span
>
</p><h2>
<span data-language-content="en">Write the right way<br /><em>once.</em></span><span
data-language-content="pt"
hidden>Escreva do jeito certo<br /><em>uma vez.</em></span>
hidden>Escreva do jeito certo<br /><em>uma vez.</em></span
>
</h2><p>
<span data-language-content="en"
>A skill is a reusable procedure. It can carry instructions, references, scripts, and
@@ -717,9 +748,23 @@ const base = import.meta.env.BASE_URL;
>Uma skill é um procedimento reutilizável. Ela pode carregar instruções, referências,
scripts e assets. Não é memória mágica e não substitui critérios de aceitação.</span
>
</p>
</p><div class="skill-principles">
<span data-language-content="en">01 / trigger clearly</span><span
data-language-content="pt"
hidden>01 / defina o gatilho</span
>
<span data-language-content="en">02 / load detail on demand</span><span
data-language-content="pt"
hidden>02 / carregue detalhes sob demanda</span
>
<span data-language-content="en">03 / return evidence</span><span
data-language-content="pt"
hidden>03 / devolva evidências</span
>
</div>
</div><div class="skill-explorer">
<SkillPackage
packageLabel={{ en: 'SKILL PACKAGE', pt: 'PACOTE DE SKILL' }}
files={[
{ id: 'skill', path: 'SKILL.md', small: 'procedure and limits' },
{ id: 'references', path: 'references/', small: 'facts to consult' },
@@ -791,6 +836,33 @@ const base = import.meta.env.BASE_URL;
hidden>escolha o comportamento antes do modelo</span
></span
>
</div><div class="catalog-intro">
<div>
<p class="eyebrow">
<span data-language-content="en">The field kit</span><span
data-language-content="pt"
hidden>O kit de campo</span
>
</p>
<h2>
<span data-language-content="en"
>Different jobs.<br />Different <em>instincts.</em></span
><span data-language-content="pt" hidden
>Trabalhos diferentes.<br />Instintos <em>diferentes.</em></span
>
</h2>
</div>
<p>
<span data-language-content="en"
>A skill changes how an agent approaches work. Some shape communication. Others enforce
research, debugging, review, or completion discipline. Select one to inspect its
operating rule and verified source.</span
><span data-language-content="pt" hidden
>Uma skill muda como o agente aborda o trabalho. Algumas moldam a comunicação. Outras
impõem pesquisa, diagnóstico, revisão ou disciplina de conclusão. Selecione uma para
inspecionar sua regra operacional.</span
>
</p>
</div><div class="skill-deck">
<div class="skill-index" role="tablist" aria-label="Common agent skills">
{
@@ -802,9 +874,19 @@ const base = import.meta.env.BASE_URL;
aria-selected={skill.id === 'ponytail'}
>
<>
<span>{skill.kind.en}</span>
<span>
<span data-language-content="en">{skill.kind.en}</span>
<span data-language-content="pt" hidden>
{skill.kind.pt}
</span>
</span>
<strong>{skill.title}</strong>
<small>{skill.use.en}</small>
<small>
<span data-language-content="en">{skill.use.en}</span>
<span data-language-content="pt" hidden>
{skill.use.pt}
</span>
</small>
</>
</button>
))
@@ -830,6 +912,23 @@ const base = import.meta.env.BASE_URL;
rel="noopener">{labels.commonSkill.source.en}</a
>
</article>
</div><div class="skill-loadout">
<span data-language-content="en">ONE PRACTICAL LOADOUT</span><span
data-language-content="pt"
hidden>UM LOADOUT PRÁTICO</span
>
<div data-language-content="en">
<b>PLAN</b> unlazy <i></i>
<b>BUILD</b> ponytail-lite <i></i>
<b>DEBUG</b> diagnosing-bugs <i></i>
<b>REPORT</b> caveman
</div>
<div data-language-content="pt" hidden>
<b>PLANEJAR</b> unlazy <i></i>
<b>CONSTRUIR</b> ponytail-lite <i></i>
<b>DIAGNOSTICAR</b> diagnosing-bugs <i></i>
<b>REPORTAR</b> caveman
</div>
</div><article class="install-skills">
<header>
<div>
@@ -898,6 +997,21 @@ const base = import.meta.env.BASE_URL;
></strong
>
</aside>
<aside class="callout">
<span
><span data-language-content="en">START HERE</span><span data-language-content="pt" hidden
>COMECE AQUI</span
></span
><strong
><span data-language-content="en"
>Begin with one agent and one skill. Add parallelism only when the tasks are truly
independent.</span
><span data-language-content="pt" hidden
>Comece com um agente e uma skill. Adicione paralelismo apenas quando as tarefas forem
realmente independentes.</span
></strong
>
</aside>
<section class="verification" id="verification">
<div class="section-label">
<span>Verification</span><span>run each gate separately</span>
@@ -935,13 +1049,14 @@ const base = import.meta.env.BASE_URL;
>Go deeper with official documentation, production case studies, Medium, and practitioner
workflows. <a href={`${base}rules/`}>Rules and enforcement case study </a>
<a href={`${base}skills-review/`}>Skills review desk </a>
<a href={`${base}docs/references/README.md`}>Primary references </a>
<a href={`${base}docs/references/additional-reading.md`}>12-part reading path </a></span
>
<span data-language-content="pt" hidden
>Aprofunde com documentação oficial, casos de produção, Medium e fluxos de praticantes. <a
href={`${base}rules/`}>Estudo de caso sobre regras e enforcement </a
>
<a href={`${base}skills-review/`}>Skills review desk </a>
<a href={`${base}docs/references/README.md`}>Referências primárias </a>
<a href={`${base}docs/references/additional-reading.md`}>Trilha com 12 leituras </a
></span
>