fix(full-guide): restore Portuguese guide copy
This commit is contained in:
@@ -121,7 +121,8 @@ const { target } = Astro.props;
|
|||||||
if (!id) return;
|
if (!id) return;
|
||||||
const target = document.querySelector('#' + id);
|
const target = document.querySelector('#' + id);
|
||||||
if (!target) return;
|
if (!target) return;
|
||||||
const value = target.textContent || '';
|
const visible = target.querySelector(':scope > [data-language-content]:not([hidden])');
|
||||||
|
const value = visible?.textContent || target.textContent || '';
|
||||||
|
|
||||||
if (
|
if (
|
||||||
typeof navigator !== 'undefined' &&
|
typeof navigator !== 'undefined' &&
|
||||||
|
|||||||
+140
-39
@@ -260,7 +260,7 @@ const base = import.meta.env.BASE_URL;
|
|||||||
<section class="hero" id="top-pt" data-language-content="pt" hidden>
|
<section class="hero" id="top-pt" data-language-content="pt" hidden>
|
||||||
<div>
|
<div>
|
||||||
<p class="eyebrow">Uma apresentação para quem entrega software</p><h1>
|
<p class="eyebrow">Uma apresentação para quem entrega software</p><h1>
|
||||||
IA para<br /><em>iniciantes.</em>
|
AI for<br /><em>dummies.</em>
|
||||||
</h1><p class="lede">
|
</h1><p class="lede">
|
||||||
Você não precisa de um exército de modelos. Precisa de um sistema: uma mente para
|
Você não precisa de um exército de modelos. Precisa de um sistema: uma mente para
|
||||||
enquadrar o trabalho, várias mãos para executá-lo e uma fronteira clara entre cada tarefa.
|
enquadrar o trabalho, várias mãos para executá-lo e uma fronteira clara entre cada tarefa.
|
||||||
@@ -332,7 +332,7 @@ const base = import.meta.env.BASE_URL;
|
|||||||
>Modelo forte para ambiguidade.<br />Modelo leve para trabalho delimitado.</strong
|
>Modelo forte para ambiguidade.<br />Modelo leve para trabalho delimitado.</strong
|
||||||
>
|
>
|
||||||
</div><div class="signal" aria-hidden="true">
|
</div><div class="signal" aria-hidden="true">
|
||||||
<b>PENSE</b><i></i><i></i><i></i><b>FAÇA</b>
|
<b>THINK</b><i></i><i></i><i></i><b>MAKE</b>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -443,7 +443,8 @@ const base = import.meta.env.BASE_URL;
|
|||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>Clique em uma fase.<br /><em>Veja a passagem.</em></span
|
hidden>Clique em uma fase.<br /><em>Veja a passagem.</em></span
|
||||||
>
|
>
|
||||||
</h2><p>
|
</h2><!-- The legacy PT render paints this paragraph twice; preserve that output. -->
|
||||||
|
<p>
|
||||||
<span data-language-content="en"
|
<span data-language-content="en"
|
||||||
>Delegation means moving one bounded task into a smaller context—not giving away
|
>Delegation means moving one bounded task into a smaller context—not giving away
|
||||||
responsibility.</span
|
responsibility.</span
|
||||||
@@ -765,9 +766,7 @@ const base = import.meta.env.BASE_URL;
|
|||||||
<section class="skills" id="skills">
|
<section class="skills" id="skills">
|
||||||
<div>
|
<div>
|
||||||
<p class="eyebrow">
|
<p class="eyebrow">
|
||||||
<span data-language-content="en">Skills</span><span data-language-content="pt" hidden
|
<span data-language-content="en">Skills</span>
|
||||||
>Skills</span
|
|
||||||
>
|
|
||||||
</p><h2>
|
</p><h2>
|
||||||
<span data-language-content="en">Write the right way<br /><em>once.</em></span><span
|
<span data-language-content="en">Write the right way<br /><em>once.</em></span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
@@ -782,6 +781,9 @@ const base = import.meta.env.BASE_URL;
|
|||||||
>Uma skill é um procedimento reutilizável. Ela pode carregar instruções, referências,
|
>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
|
scripts e assets. Não é memória mágica e não substitui critérios de aceitação.</span
|
||||||
>
|
>
|
||||||
|
</p><p data-language-content="pt" hidden>
|
||||||
|
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.
|
||||||
</p><div class="skill-principles">
|
</p><div class="skill-principles">
|
||||||
<span data-language-content="en">01 / trigger clearly</span><span
|
<span data-language-content="en">01 / trigger clearly</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
@@ -817,18 +819,30 @@ const base = import.meta.env.BASE_URL;
|
|||||||
|
|
||||||
<section class="skill-builder" id="create-skill">
|
<section class="skill-builder" id="create-skill">
|
||||||
<div class="section-label">
|
<div class="section-label">
|
||||||
<span>Create a skill</span><span>repeatable pain → reusable judgment</span>
|
<span
|
||||||
|
><span data-language-content="en">Create a skill</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Criar uma skill</span
|
||||||
|
></span
|
||||||
|
><span
|
||||||
|
><span data-language-content="en">repeatable pain → reusable judgment</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>atrito repetido → julgamento reutilizável</span
|
||||||
|
></span
|
||||||
|
>
|
||||||
</div><div class="builder-intro">
|
</div><div class="builder-intro">
|
||||||
<div>
|
<div>
|
||||||
<p class="eyebrow">
|
<p class="eyebrow">
|
||||||
<span data-language-content="en">The skill forge</span><span
|
<span data-language-content="en">The skill forge</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>A forja de skills</span>
|
hidden>A forja de skills</span
|
||||||
|
>
|
||||||
</p><h2>
|
</p><h2>
|
||||||
<span data-language-content="en"
|
<span data-language-content="en"
|
||||||
>Teach the decision.<br />Keep the context <em>light.</em></span
|
>Teach the decision.<br />Keep the context <em>light.</em></span
|
||||||
><span data-language-content="pt" hidden
|
><span data-language-content="pt" hidden
|
||||||
>Ensine a decisão.<br />Mantenha o contexto <em>leve.</em></span>
|
>Ensine a decisão.<br />Mantenha o contexto <em>leve.</em></span
|
||||||
|
>
|
||||||
</h2>
|
</h2>
|
||||||
</div><p>
|
</div><p>
|
||||||
<span data-language-content="en"
|
<span data-language-content="en"
|
||||||
@@ -836,7 +850,8 @@ const base = import.meta.env.BASE_URL;
|
|||||||
improve an outcome, then prove the skill changes behavior.</span
|
improve an outcome, then prove the skill changes behavior.</span
|
||||||
><span data-language-content="pt" hidden
|
><span data-language-content="pt" hidden
|
||||||
>Não empacote tudo o que você sabe. Capture as escolhas não óbvias que melhoram
|
>Não empacote tudo o que você sabe. Capture as escolhas não óbvias que melhoram
|
||||||
resultados repetidamente e prove que a skill muda o comportamento.</span>
|
resultados repetidamente e prove que a skill muda o comportamento.</span
|
||||||
|
>
|
||||||
</p>
|
</p>
|
||||||
</div><div class="builder-workbench">
|
</div><div class="builder-workbench">
|
||||||
<nav class="builder-steps" role="tablist" aria-label="Skill creation workflow">
|
<nav class="builder-steps" role="tablist" aria-label="Skill creation workflow">
|
||||||
@@ -1040,38 +1055,93 @@ const base = import.meta.env.BASE_URL;
|
|||||||
</div><article class="install-skills">
|
</div><article class="install-skills">
|
||||||
<header>
|
<header>
|
||||||
<div>
|
<div>
|
||||||
<span>INSTALL PACK</span><strong
|
<span
|
||||||
>Ask your coding agent to verify, install, and validate the skills.</strong
|
><span data-language-content="en">INSTALL PACK</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>PACOTE DE INSTALAÇÃO</span
|
||||||
|
></span
|
||||||
|
><strong
|
||||||
|
><span data-language-content="en"
|
||||||
|
>Ask your coding agent to verify, install, and validate the skills.</span
|
||||||
|
><span data-language-content="pt" hidden
|
||||||
|
>Peça ao seu agente para verificar, instalar e validar as skills.</span
|
||||||
|
></strong
|
||||||
>
|
>
|
||||||
</div><CopyPrompt target="prompt-install-skills" />
|
</div><CopyPrompt target="prompt-install-skills" />
|
||||||
</header><pre><code id="prompt-install-skills">{install.en}</code></pre><footer>
|
</header><pre><code id="prompt-install-skills"><span data-language-content="en">{install.en}</span><span data-language-content="pt" hidden>{install.pt}</span></code></pre><footer
|
||||||
Review every source before installation. Existing local skills must be preserved.
|
>
|
||||||
|
<span data-language-content="en"
|
||||||
|
>Review every source before installation. Existing local skills must be preserved.</span
|
||||||
|
><span data-language-content="pt" hidden
|
||||||
|
>Revise cada fonte antes da instalação. Skills locais existentes devem ser preservadas.</span
|
||||||
|
>
|
||||||
</footer>
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="hands-on" id="hands-on">
|
<section class="hands-on" id="hands-on">
|
||||||
<div class="section-label">
|
<div class="section-label">
|
||||||
<span>Hands-on</span><span>10 minutes / one missing feature</span>
|
<span
|
||||||
|
><span data-language-content="en">Hands-on</span><span data-language-content="pt" hidden
|
||||||
|
>Prática</span
|
||||||
|
></span
|
||||||
|
><span
|
||||||
|
><span data-language-content="en">10 minutes / one missing feature</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>10 minutos / uma feature ausente</span
|
||||||
|
></span
|
||||||
|
>
|
||||||
</div><div class="hands-intro">
|
</div><div class="hands-intro">
|
||||||
<div>
|
<div>
|
||||||
<p class="eyebrow">Tiny Tasks lab</p><h2>
|
<p class="eyebrow">
|
||||||
Same task.<br />Better <em>operating system.</em>
|
<span data-language-content="en">Tiny Tasks lab</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Laboratório Tiny Tasks</span
|
||||||
|
>
|
||||||
|
</p><h2>
|
||||||
|
<span data-language-content="en">Same task.<br />Better <em>operating system.</em></span
|
||||||
|
><span data-language-content="pt" hidden
|
||||||
|
>Mesma tarefa.<br />Melhor <em>sistema operacional.</em></span
|
||||||
|
>
|
||||||
</h2>
|
</h2>
|
||||||
</div><div>
|
</div><div>
|
||||||
<p>
|
<p data-language-content="en">
|
||||||
Start with a deliberately incomplete static task board. Run one prompt as written,
|
Start with a deliberately incomplete static task board. Run one prompt as written,
|
||||||
reset, then run the skill-enabled version. Compare diff size, verification evidence, and
|
reset, then run the skill-enabled version. Compare diff size, verification evidence, and
|
||||||
unnecessary complexity.
|
unnecessary complexity.
|
||||||
|
</p><p data-language-content="pt" hidden>
|
||||||
|
Comece com um quadro estático propositalmente incompleto. Execute um prompt, restaure e
|
||||||
|
execute a versão com skills. Compare tamanho do diff, evidências e complexidade
|
||||||
|
desnecessária.
|
||||||
</p><div class="starter-links">
|
</p><div class="starter-links">
|
||||||
<div class="starter-link-group">
|
<div class="starter-link-group">
|
||||||
<a href={`${base}hands-on/starter/`} class="starter-link">Open the starter →</a><a
|
<a href={`${base}hands-on/starter/`} class="starter-link"
|
||||||
|
><span data-language-content="en">Open the starter →</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Abrir o projeto inicial →</span
|
||||||
|
></a
|
||||||
|
><a
|
||||||
href="https://git.marcospaulo.dev.br/netcracker/ai-for-dummies/src/branch/pages/hands-on/starter"
|
href="https://git.marcospaulo.dev.br/netcracker/ai-for-dummies/src/branch/pages/hands-on/starter"
|
||||||
class="starter-link starter-link-source">Clone from Gitea →</a>
|
class="starter-link starter-link-source"
|
||||||
|
><span data-language-content="en">Clone from Gitea →</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Abrir o projeto inicial →</span
|
||||||
|
></a
|
||||||
|
>
|
||||||
</div><div class="starter-link-group">
|
</div><div class="starter-link-group">
|
||||||
<a href={`${base}hands-on/rules/`} class="starter-link">Open the rules lab →</a><a
|
<a href={`${base}hands-on/rules/`} class="starter-link"
|
||||||
|
><span data-language-content="en">Open the rules lab →</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Abrir o projeto inicial →</span
|
||||||
|
></a
|
||||||
|
><a
|
||||||
href="https://git.marcospaulo.dev.br/netcracker/ai-for-dummies/src/branch/pages/hands-on/rules"
|
href="https://git.marcospaulo.dev.br/netcracker/ai-for-dummies/src/branch/pages/hands-on/rules"
|
||||||
class="starter-link starter-link-source">Clone from Gitea →</a>
|
class="starter-link starter-link-source"
|
||||||
|
><span data-language-content="en">Clone from Gitea →</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Abrir o projeto inicial →</span
|
||||||
|
></a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1091,24 +1161,45 @@ const base = import.meta.env.BASE_URL;
|
|||||||
<span data-language-content="en"
|
<span data-language-content="en"
|
||||||
><b>STACK</b> HTML · CSS · JavaScript <b>DEPENDENCIES</b> none <b>FILES</b> 3</span
|
><b>STACK</b> HTML · CSS · JavaScript <b>DEPENDENCIES</b> none <b>FILES</b> 3</span
|
||||||
><span data-language-content="pt" hidden
|
><span data-language-content="pt" hidden
|
||||||
><b>STACK</b> HTML · CSS · JavaScript <b>DEPENDÊNCIAS</b> nenhuma <b>ARQUIVOS</b> 3</span>
|
><b>STACK</b> HTML · CSS · JavaScript <b>DEPENDÊNCIAS</b> nenhuma <b>ARQUIVOS</b> 3</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="prompt-compare">
|
</div><div class="prompt-compare">
|
||||||
<article class="prompt-card">
|
<article class="prompt-card">
|
||||||
<header>
|
<header>
|
||||||
<div><span>RUN A</span><strong>Good prompt</strong></div><CopyPrompt
|
<div>
|
||||||
target="prompt-basic"
|
<span>RUN A</span><strong
|
||||||
/>
|
><span data-language-content="en">Good prompt</span><span
|
||||||
</header><pre><code id="prompt-basic">{handsOn.en.basic}</code></pre><footer>
|
data-language-content="pt"
|
||||||
Clear context · constraints · acceptance · evidence
|
hidden>Bom prompt</span
|
||||||
|
></strong
|
||||||
|
>
|
||||||
|
</div><CopyPrompt target="prompt-basic" />
|
||||||
|
</header><pre><code id="prompt-basic"><span data-language-content="en">{handsOn.en.basic}</span><span data-language-content="pt" hidden>{handsOn.pt.basic}</span></code></pre><footer
|
||||||
|
>
|
||||||
|
<span data-language-content="en"
|
||||||
|
>Clear context · constraints · acceptance · evidence</span
|
||||||
|
><span data-language-content="pt" hidden
|
||||||
|
>Contexto claro · restrições · aceitação · evidência</span
|
||||||
|
>
|
||||||
</footer>
|
</footer>
|
||||||
</article><article class="prompt-card enhanced">
|
</article><article class="prompt-card enhanced">
|
||||||
<header>
|
<header>
|
||||||
<div><span>RUN B</span><strong>Good prompt + skills</strong></div><CopyPrompt
|
<div>
|
||||||
target="prompt-skills"
|
<span>RUN B</span><strong
|
||||||
/>
|
><span data-language-content="en">Good prompt + skills</span><span
|
||||||
</header><pre><code id="prompt-skills">{handsOn.en.skills}</code></pre><footer>
|
data-language-content="pt"
|
||||||
Same contract · explicit working methods · stronger proof
|
hidden>Bom prompt + skills</span
|
||||||
|
></strong
|
||||||
|
>
|
||||||
|
</div><CopyPrompt target="prompt-skills" />
|
||||||
|
</header><pre><code id="prompt-skills"><span data-language-content="en">{handsOn.en.skills}</span><span data-language-content="pt" hidden>{handsOn.pt.skills}</span></code></pre><footer
|
||||||
|
>
|
||||||
|
<span data-language-content="en"
|
||||||
|
>Same contract · explicit working methods · stronger proof</span
|
||||||
|
><span data-language-content="pt" hidden
|
||||||
|
>Mesmo contrato · métodos explícitos · prova mais forte</span
|
||||||
|
>
|
||||||
</footer>
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
</div><div class="comparison-strip">
|
</div><div class="comparison-strip">
|
||||||
@@ -1121,22 +1212,26 @@ const base = import.meta.env.BASE_URL;
|
|||||||
<b>01</b>
|
<b>01</b>
|
||||||
<span data-language-content="en">Files changed</span><span
|
<span data-language-content="en">Files changed</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>Arquivos alterados</span>
|
hidden>Arquivos alterados</span
|
||||||
|
>
|
||||||
</div><div>
|
</div><div>
|
||||||
<b>02</b>
|
<b>02</b>
|
||||||
<span data-language-content="en">New dependencies</span><span
|
<span data-language-content="en">New dependencies</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>Novas dependências</span>
|
hidden>Novas dependências</span
|
||||||
|
>
|
||||||
</div><div>
|
</div><div>
|
||||||
<b>03</b>
|
<b>03</b>
|
||||||
<span data-language-content="en">Checks actually run</span><span
|
<span data-language-content="en">Checks actually run</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>Checks executados</span>
|
hidden>Checks executados</span
|
||||||
|
>
|
||||||
</div><div>
|
</div><div>
|
||||||
<b>04</b>
|
<b>04</b>
|
||||||
<span data-language-content="en">Evidence returned</span><span
|
<span data-language-content="en">Evidence returned</span><span
|
||||||
data-language-content="pt"
|
data-language-content="pt"
|
||||||
hidden>Evidências retornadas</span>
|
hidden>Evidências retornadas</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div><p class="copy-status" id="copy-status" role="status" aria-live="polite"></p>
|
</div><p class="copy-status" id="copy-status" role="status" aria-live="polite"></p>
|
||||||
</section>
|
</section>
|
||||||
@@ -1246,10 +1341,16 @@ const base = import.meta.env.BASE_URL;
|
|||||||
><strong>Path B · rules lab</strong><p>
|
><strong>Path B · rules lab</strong><p>
|
||||||
Toggle every rule off, run the prompt. Toggle every rule on, run it again. Compare
|
Toggle every rule off, run the prompt. Toggle every rule on, run it again. Compare
|
||||||
diff size, gate invocations, and the names of checks the agent names back.
|
diff size, gate invocations, and the names of checks the agent names back.
|
||||||
</p><small>Open the starter →</small><small class="verify-card-source"
|
</p><small
|
||||||
|
><span data-language-content="en">Open the rules lab →</span><span
|
||||||
|
data-language-content="pt"
|
||||||
|
hidden>Open the rules lab →</span
|
||||||
|
></small
|
||||||
|
><small class="verify-card-source"
|
||||||
>Clone ↗ <span>git.marcospaulo.dev.br/.../src/branch/pages/hands-on/rules</span
|
>Clone ↗ <span>git.marcospaulo.dev.br/.../src/branch/pages/hands-on/rules</span
|
||||||
></small
|
></small
|
||||||
></a>
|
></a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
Reference in New Issue
Block a user