Por que isso é importante: O arquivo Knowledge é o cérebro do seu Projeto. Ele é enviado com cada Prompt de IA que você envia e ajuda a IA a entender todo o contexto.O que incluir:
Sua visão de produto (pense nisso como um PRD)
Jornadas de usuário e personas
Principais recursos e funcionalidades
Design systems e diretrizes de UI
Comportamento específico por tipo de usuário (por exemplo, Admin, User, Investor)
Você pode gerar automaticamente um arquivo de Knowledge via Chat mode:
Gere o conhecimento para o meu Projeto em T=0 com base nos recursos que já implementei.
Prompts claros e detalhados = melhor resultado. Pense na IA como sua parceira de engenharia — ela só sabe o que você disser a ela.Dicas de prompting:
Seja específico: mencione a página exata (por exemplo, /dashboard) e o comportamento esperado.
Use linguagem natural.
Quero que usuários com o papel Investor acessem este componente, mas não Admins.
Adicione capturas de tela: especialmente útil para descrever bugs ou problemas de UX.
Defina limites: diga para a IA o que não deve ser alterado. Ex.:
Não edite /shared/Layout.tsx.
Repita instruções importantes em diferentes prompts. A memória da IA pode ser limitada.
Evite tentar implementar 5 coisas de uma vez. Divida o trabalho em partes menores e testáveis. Use Chat Mode entre cada bloco para validar antes de seguir em frente.
**Modelo de detalhamento de funcionalidade:**Criar a nova páginaAdicionar o layout de UIConectar os dadosAdicionar lógica + casos extremosTestar por papel
Se seu app tiver vários papéis (por exemplo, Admin, Investor, Startup), sempre defina para qual papel o Prompt de IA se aplica. Isso ajuda a evitar bugs causados por lógica/componentes compartilhados.
Como Investor, quero visualizar o dashboard da empresa, mas não devo conseguir editá-lo. Por favor, isole esta funcionalidade apenas para o papel Investor.
Chat mode = seu copiloto de IA. Ele ajuda você a debugar, explorar ideias e planejar implementações — sem editar seu código até que você esteja pronto.Quando mudar para o Chat Mode:
Após 2–3 tentativas sem sucesso com “Try to Fix”
Ao depurar lógica complexa ou problemas de banco de dados
Ao planejar novos recursos
Sugira 3 maneiras de implementar X
Dica de fluxo de trabalho:Alguns usuários gostam de usar o Chat Mode em 60–70% do tempo. Só clique em “Implementar o plano” quando estiver totalmente satisfeito.
Se você se esquecer de usar o Chat mode, este formato melhora a consistência dos resultados e evita alterações colaterais.
Na página /settings, implemente [recurso]. O comportamento esperado é [XYZ]. Por favor, não altere o componente A, o layout B ou a lógica compartilhada, a menos que seja necessário. Siga as melhores práticas de Tailwind / Supabase / X.
Para evitar execução indesejada de código:
Investigue, mas não escreva código ainda.
Sugira 3 maneiras de resolver isso sem mudar nada.
Isso mantém o controle nas suas mãos.
Quando a IA entrar em um “loop”, use esta sequência para evitar ciclos infinitos de correções em código quebrado:
Mude para o Chat mode
Cole a captura de tela do erro
Diga:
Investigue isso sem quebrar outros recursos. Se necessário, volte para a última versão funcionando e corrija a partir dela.
Atenção: o Supabase não faz reversão de forma limpa. Se você reverter uma versão, o schema do seu banco de dados pode deixar de funcionar corretamente.Boas práticas:
Conecte o Supabase depois que o front-end estiver estável
Se precisar reverter, use o seguinte Prompt de IA:
Por favor, valide o schema SQL em T=0 e garanta que nenhuma mudança incompatível tenha ocorrido.
Sempre teste os recursos ligados ao banco de dados antes de publicar
6. Use o GitHub + controle de versão com sabedoria
Cada edição é um commit. Use o pinning para marcar versões estáveis. Depois de cada funcionalidade que estiver funcionando: fixe (pin) a versão
Depois de cada bug: compare as versões visualmente. Você pode usar este Prompt de IA:
Compare version at T–1 to T–0. What changed? What might be breaking?
Volte para uma versão estável se sentir que a IA quebrou coisas demais.
Use branches do GitHub por sua conta e risco. Evite excluir branches antes de voltar para main no Lovable para evitar problemas de sincronização do Projeto.
Você não está sozinho. A IA pode ser mágica em um momento e frustrante no seguinte. Os 5% finais de qualquer desenvolvimento costumam ser a parte mais lenta — e também a mais importante.
Regra de ouro:Dedique tempo aos seus Prompts de IA. Revise tudo. Divida o trabalho em blocos pequenos e testáveis. Quanto mais precisas forem suas entradas, melhores serão suas saídas.
A documentação contém tutoriais passo a passo, modelos, dicas de SEO, integrações e muito mais. Você pode fazer perguntas diretamente ao assistente de IA da documentação.
Adicione um Prompt de IA por nota de voz usando ditado (por exemplo, no Mac, use o microfone para ditar prompts longos). Assim você cria entradas melhores, mais rápido — especialmente útil quando estiver frustrado ou cansado.
Use o padrão de Prompt de IA “I am frustrated…” para ajudar a direcionar melhor o foco da IA
Depois de uma grande edição, sempre confira novamente vários papéis (roles) e seus comportamentos (principalmente quando houver lógica condicional)
Armazene versões estáveis como versões de backup (fallbacks) para depuração rápida
Se você estiver vendo efeitos colaterais inesperados, isso ajuda a evitar bugs causados por lógica genérica demais.
Crie um componente especificamente para [função X] e não reutilize componentes compartilhados, a menos que o escopo esteja claramente definido.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lovable Documentation","description":"Lovable Documentation — Build full-stack websites with AI using natural language. Explore Lovable features, integrations, tutorials, and best practices.","colors":{"primary":"#0095FF","light":"#1AA3FF","dark":"#0084E6"},"logo":{"light":"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=ca1f70ffb8cc99cf980d91ff6495d89f","dark":"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logowhite.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=fef50f97d61a559e9cd2e1e8995e6350","href":"https://lovable.dev/"},"favicon":"/assets/logo/favicon.ico","navbar":{"links":[{"label":"Support","icon":"message","href":"https://lovable.dev/support"},{"label":"Blog","icon":"blog","href":"https://lovable.dev/blog"}]},"footer":{"socials":{"x":"https://x.com/Lovable","github":"https://github.com/lovablelabs","linkedin":"https://linkedin.com/company/lovable-dev","youtube":"https://youtube.com/@lovable","discord":"https://discord.gg/lovable-dev","reddit":"https://www.reddit.com/r/lovable/"}},"seo":{"metatags":{"og:image":"/assets/logo/opengraph-image.png","canonical":"https://docs.lovable.dev"},"indexing":"all"},"contextual":{"options":["copy"]},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"introduction/welcome"},{"language":"es","href":"es/introduction/welcome"},{"language":"ja","href":"ja/introduction/welcome"},{"language":"zh","href":"zh/introduction/welcome"},{"language":"fr","href":"fr/introduction/welcome"},{"language":"de","href":"de/introduction/welcome"},{"language":"pt-BR","href":"pt-BR/introduction/welcome"},{"language":"it","href":"it/introduction/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"generaltranslation-d8a08cd1","hasAudioNarration":false,"actualSubdomain":"generaltranslation-d8a08cd1","customDomains":["lovable.generaltranslation.app"],"gitSource":{"type":"github","owner":"gt-onboarding","repo":"lovable","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae942e94c7ebc4d7c1907d3:success","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"en","tag":"Integrations","count":22},{"language":"de","tag":"Integrationen","count":22},{"language":"es","tag":"Integraciones","count":22},{"language":"fr","tag":"Intégrations","count":22},{"language":"it","tag":"Integrazioni","count":22},{"language":"ja","tag":"連携","count":22},{"language":"pt-BR","tag":"Integrações","count":22},{"language":"zh","tag":"集成","count":22},{"language":"en","tag":"Features","count":16},{"language":"de","tag":"Funktionen","count":16},{"language":"es","tag":"Funciones","count":16},{"language":"fr","tag":"Fonctionnalités","count":16},{"language":"it","tag":"Funzionalità","count":16},{"language":"ja","tag":"機能","count":16},{"language":"pt-BR","tag":"Funcionalidades","count":16},{"language":"zh","tag":"功能特性","count":16},{"language":"en","tag":"Tips \u0026 Tricks","count":11},{"language":"de","tag":"Tipps \u0026 Tricks","count":11},{"language":"es","tag":"Consejos y trucos","count":11},{"language":"fr","tag":"Conseils et astuces","count":11},{"language":"it","tag":"Consigli e trucchi","count":11},{"language":"ja","tag":"ヒントとテクニック","count":11},{"language":"pt-BR","tag":"Dicas e truques","count":11},{"language":"zh","tag":"提示和技巧","count":11},{"language":"en","tag":"Introduction","count":4},{"language":"de","tag":"Einführung","count":4},{"language":"es","tag":"Introducción","count":4},{"language":"fr","tag":"Introduction","count":4},{"language":"it","tag":"Introduzione","count":4},{"language":"ja","tag":"はじめに","count":4},{"language":"pt-BR","tag":"Introdução","count":4},{"language":"zh","tag":"简介","count":4},{"language":"en","tag":"Prompt engineering","count":3},{"language":"de","tag":"Engineering von Eingabeaufforderungen","count":3},{"language":"es","tag":"Ingeniería de instrucciones","count":3},{"language":"fr","tag":"Conception de Prompt","count":3},{"language":"it","tag":"Ingegneria delle istruzioni","count":3},{"language":"ja","tag":"プロンプトエンジニアリング","count":3},{"language":"pt-BR","tag":"Engenharia de Prompts de IA","count":3},{"language":"zh","tag":"提示工程","count":3},{"language":"en","tag":"About integrations","count":2},{"language":"en","tag":"Use cases","count":2},{"language":"de","tag":"Über Integrationen","count":2},{"language":"de","tag":"Anwendungsfälle","count":2},{"language":"es","tag":"Sobre las integraciones","count":2},{"language":"es","tag":"Casos de uso","count":2},{"language":"fr","tag":"À propos des intégrations","count":2},{"language":"fr","tag":"Cas d’utilisation","count":2},{"language":"it","tag":"Informazioni sulle integrazioni","count":2},{"language":"it","tag":"Casi d'uso","count":2},{"language":"ja","tag":"連携について","count":2},{"language":"ja","tag":"ユースケース","count":2},{"language":"pt-BR","tag":"Sobre as integrações","count":2},{"language":"pt-BR","tag":"Casos de uso","count":2},{"language":"zh","tag":"关于集成","count":2},{"language":"zh","tag":"应用场景","count":2},{"language":"en","tag":"Changelog","count":1},{"language":"en","tag":"Glossary","count":1},{"language":"de","tag":"Versionshinweise","count":1},{"language":"de","tag":"Glossar","count":1},{"language":"es","tag":"Registro de cambios","count":1},{"language":"es","tag":"Glosario","count":1},{"language":"fr","tag":"Journal des mises à jour","count":1},{"language":"fr","tag":"Glossaire","count":1},{"language":"it","tag":"Cronologia delle modifiche","count":1},{"language":"it","tag":"Glossario","count":1},{"language":"ja","tag":"変更履歴","count":1},{"language":"ja","tag":"用語集","count":1},{"language":"pt-BR","tag":"Registro de alterações","count":1},{"language":"pt-BR","tag":"Glossário","count":1},{"language":"zh","tag":"更新日志","count":1},{"language":"zh","tag":"术语表","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/css/styles.css","content":".supabase{color:#59cf8c}"}],"page":{"pagePath":"pt-BR/tips-tricks/best-practice","slug":"/pt-BR/tips-tricks/best-practice","pageMetadata":{"title":"Boas práticas","description":"Tirando o máximo proveito do Lovable","icon":"dumbbell","href":"/pt-BR/tips-tricks/best-practice","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Tirando o máximo proveito do Lovable\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Este guia ajuda todos os usuários — novos ou experientes — a começarem rapidamente e evitarem erros comuns ao desenvolver no Lovable.`}),`\n`,_jsx(`div`,{id:`1-set-your-foundation-use-the-knowledge-file`,children:_jsx(Heading,{level:`2`,id:`1-defina-a-base-use-o-arquivo-de-knowledge`,children:`1. Defina a base: use o arquivo de Knowledge`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Por que isso é importante:`}),` O arquivo `,_jsx(_components.a,{href:`/pt-BR/features/knowledge`,children:`Knowledge`}),` é o cérebro do seu Projeto. Ele é enviado com cada Prompt de IA que você envia e ajuda a IA a entender todo o contexto.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`O que incluir:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Sua visão de produto (pense nisso como um PRD)`}),`\n`,_jsx(_components.li,{children:`Jornadas de usuário e personas`}),`\n`,_jsx(_components.li,{children:`Principais recursos e funcionalidades`}),`\n`,_jsx(_components.li,{children:`Design systems e diretrizes de UI`}),`\n`,_jsx(_components.li,{children:`Comportamento específico por tipo de usuário (por exemplo, Admin, User, Investor)`}),`\n`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Você pode gerar automaticamente um arquivo de Knowledge via Chat mode:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Gere o conhecimento para o meu Projeto em T=0 com base nos recursos que já implementei.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),`\n`,_jsx(`div`,{id:`2-prompting-best-practices`,children:_jsxs(Heading,{level:`2`,id:`2-prompting-boas-práticas`,children:[`2. `,_jsx(_components.a,{href:`/pt-BR/prompting/prompting-one`,children:`Prompting`}),` Boas práticas`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Prompts claros e detalhados = melhor resultado.`}),` Pense na IA como sua parceira de engenharia — ela só sabe o que você disser a ela.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Dicas de prompting:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Seja específico: mencione a página exata (por exemplo, `,_jsx(_components.code,{children:`/dashboard`}),`) e o comportamento esperado.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Use linguagem natural.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Quero que usuários com o papel Investor acessem este componente, mas não Admins.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Adicione capturas de tela: especialmente útil para descrever bugs ou problemas de UX.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Defina limites: diga para a IA o que `,_jsx(_components.strong,{children:`não`}),` deve ser alterado. Ex.:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Não edite /shared/Layout.tsx.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Repita instruções importantes em diferentes prompts. A memória da IA pode ser limitada.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Evite tentar implementar 5 coisas de uma vez. Divida o trabalho em partes menores e testáveis. Use Chat Mode entre cada bloco para validar antes de seguir em frente.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`7`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`**Modelo de detalhamento de funcionalidade:**`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Criar a nova página`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Adicionar o layout de UI`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Conectar os dados`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Adicionar lógica + casos extremos`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Testar por papel`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Se seu app tiver vários papéis (por exemplo, Admin, Investor, Startup), sempre defina `,_jsx(_components.em,{children:`para qual papel`}),` o Prompt de IA se aplica. Isso ajuda a evitar bugs causados por lógica/componentes compartilhados.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Como Investor, quero visualizar o dashboard da empresa, mas não devo conseguir editá-lo. Por favor, isole esta funcionalidade apenas para o papel Investor.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{id:`3-use-chat-mode-early-and-often`,children:_jsx(Heading,{level:`2`,id:`3-use-o-chat-mode-cedo-e-com-frequência`,children:`3. Use o Chat mode cedo e com frequência`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://docs.lovable.dev/features/labs#chat-mode`,children:_jsx(_components.strong,{children:`Chat mode`})}),` = seu copiloto de IA. Ele ajuda você a debugar, explorar ideias e planejar implementações — sem editar seu código até que você esteja pronto.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Quando mudar para o Chat Mode:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Após 2–3 tentativas sem sucesso com “Try to Fix”`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Ao depurar lógica complexa ou problemas de banco de dados`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Ao planejar novos recursos`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Sugira 3 maneiras de implementar X`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Dica de fluxo de trabalho:`})}),_jsx(_components.p,{children:`Alguns usuários gostam de usar o Chat Mode em 60–70% do tempo. Só clique em “Implementar o plano” quando estiver totalmente satisfeito.`})]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Se você se esquecer de usar o Chat mode, este formato melhora a consistência dos resultados e evita alterações colaterais.`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Na página /settings, implemente [recurso]. O comportamento esperado é [XYZ]. Por favor, não altere o componente A, o layout B ou a lógica compartilhada, a menos que seja necessário. Siga as melhores práticas de Tailwind / Supabase / X.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Para evitar execução indesejada de código:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Investigue, mas não escreva código ainda.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Sugira 3 maneiras de resolver isso sem mudar nada.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Isso mantém o controle nas suas mãos.`})]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Quando a IA entrar em um “loop”, use esta sequência para evitar ciclos infinitos de correções em código quebrado:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Mude para o Chat mode`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Cole a captura de tela do erro`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Diga:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Investigue isso sem quebrar outros recursos. Se necessário, volte para a última versão funcionando e corrija a partir dela.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]})]}),`\n`,_jsx(`div`,{id:`4-avoid-common-pitfalls-with-supabase`,children:_jsx(Heading,{level:`2`,id:`4-evite-problemas-comuns-com-supabase`,children:`4. Evite problemas comuns com Supabase`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Atenção:`}),` o `,_jsx(_components.a,{href:`https://docs.lovable.dev/integrations/supabase`,children:`Supabase`}),` não faz reversão de forma limpa. Se você reverter uma versão, o schema do seu banco de dados pode deixar de funcionar corretamente.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Boas práticas:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Conecte o Supabase `,_jsx(_components.strong,{children:`depois`}),` que o front-end estiver estável`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Se precisar reverter, use o seguinte Prompt de IA:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Por favor, valide o schema SQL em T=0 e garanta que nenhuma mudança incompatível tenha ocorrido.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Sempre teste os recursos ligados ao banco de dados antes de publicar`}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{id:`5-use-visual-edit-for-quick-ui-fixes`,children:_jsx(Heading,{level:`2`,id:`5-use-o-visual-edit-para-correções-rápidas-na-ui`,children:`5. Use o Visual Edit para correções rápidas na UI`})}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.a,{href:`https://docs.lovable.dev/features/visual-edit`,children:_jsx(_components.strong,{children:`ferramenta Visual Edit`})}),` é gratuita e rápida. Use-a em vez de Prompt de IA para:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Alterar texto, cores, fontes e pequenos ajustes de layout`}),`\n`,_jsx(_components.li,{children:`Editar vários elementos pequenos de uma só vez`}),`\n`,_jsx(_components.li,{children:`Realizar commits seguros, sem consumir créditos (com opção de desfazer)`}),`\n`]}),`\n`,_jsx(`div`,{id:`6-use-github-version-control-wisely`,children:_jsxs(Heading,{level:`2`,id:`6-use-o-github-+-controle-de-versão-com-sabedoria`,children:[`6. Use o `,_jsx(_components.a,{href:`https://docs.lovable.dev/integrations/git-integration`,children:`GitHub`}),` + controle de versão com sabedoria`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Cada edição é um commit. Use o `,_jsx(_components.strong,{children:`pinning`}),` para marcar versões estáveis. Depois de cada funcionalidade que estiver funcionando: `,_jsx(_components.strong,{children:`fixe (pin) a versão`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Depois de cada bug: `,_jsx(_components.strong,{children:`compare as versões visualmente.`}),` Você pode usar este Prompt de IA:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Compare version at T–1 to T–0. What changed? What might be breaking?`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Volte para uma versão estável se sentir que a IA quebrou coisas demais.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`branches do GitHub`}),` por sua conta e risco. Evite excluir branches antes de voltar para `,_jsx(_components.code,{children:`main`}),` no Lovable para evitar problemas de sincronização do Projeto.`]}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{id:`7-when-all-else-fails-remix`,children:_jsx(Heading,{level:`2`,id:`7-quando-nada-mais-funcionar-remixe`,children:`7. Quando nada mais funcionar, remixe`})}),`\n`,_jsx(_components.p,{children:`Muitos usuários acabam percebendo que fazer tudo de novo leva menos tempo na segunda vez.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.lovable.dev/user-guides/quickstart#remix-an-existing-project:~:text=you%20to%20reuse-,the,-current%20state%20of`,children:`Remixar`}),` cria uma cópia limpa do seu projeto em T=0.`]}),`\n`,_jsx(_components.li,{children:`Reconstrua com prompts de IA melhores + entendimento mais claro`}),`\n`,_jsx(_components.li,{children:`Use seu projeto antigo apenas como referência`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Casos de uso:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Você está preso em um loop bugado`}),`\n`,_jsx(_components.li,{children:`Você quer recomeçar do zero com o histórico preservado`}),`\n`,_jsx(_components.li,{children:`Você precisa desconectar o Supabase e tentar um novo caminho`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Remixar exige desconectar o Supabase primeiro.`})}),`\n`,_jsx(`div`,{id:`8-stay-patient-stay-calm`,children:_jsx(Heading,{level:`2`,id:`8-tenha-paciência-mantenha-a-calma`,children:`8. Tenha paciência, mantenha a calma`})}),`\n`,_jsx(_components.p,{children:`Você não está sozinho. A IA pode ser mágica em um momento e frustrante no seguinte. Os 5% finais de qualquer desenvolvimento costumam ser a parte mais lenta — e também a mais importante.`}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Regra de ouro:`})}),_jsx(_components.p,{children:`Dedique tempo aos seus Prompts de IA. Revise tudo. Divida o trabalho em blocos pequenos e testáveis. Quanto mais precisas forem suas entradas, melhores serão suas saídas.`})]}),`\n`,_jsx(`div`,{id:`9-use-the-docs-and-ask-for-help`,children:_jsx(Heading,{level:`2`,id:`9-use-a-documentação-e-peça-ajuda`,children:`9. Use a documentação e peça ajuda`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`https://docs.lovable.dev`,children:`documentação`}),` contém tutoriais passo a passo, modelos, dicas de SEO, integrações e muito mais. Você pode fazer perguntas diretamente ao assistente de IA da documentação.`]}),`\n`,_jsxs(_components.li,{children:[`Participe da `,_jsx(_components.a,{href:`https://discord.gg/lovable-dev`,children:`comunidade no Discord`}),` para obter ajuda de outros usuários.`]}),`\n`,_jsxs(_components.li,{children:[`Quando estiver pronto, envie seu projeto para o `,_jsx(_components.a,{href:`https://docs.lovable.dev/features/launched`,children:`Lovable Launch`}),`.`]}),`\n`]}),`\n`,_jsx(`div`,{id:`10-bonus-tips`,children:_jsx(Heading,{level:`2`,id:`10-dicas-extras`,children:`10. Dicas extras`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Adicione um Prompt de IA por nota de voz usando ditado (por exemplo, no Mac, use o microfone para ditar prompts longos). Assim você cria entradas melhores, mais rápido — especialmente útil quando estiver frustrado ou cansado.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use o padrão de Prompt de IA “`,_jsx(_components.code,{children:`I am frustrated…`}),`” para ajudar a direcionar melhor o foco da IA`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Depois de uma grande edição, sempre confira novamente vários papéis (roles) e seus comportamentos (principalmente quando houver lógica condicional)`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Armazene versões estáveis como versões de backup (fallbacks) para depuração rápida`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Se você estiver vendo efeitos colaterais inesperados, isso ajuda a evitar bugs causados por lógica genérica demais.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Crie um componente especificamente para [função X] e não reutilize componentes compartilhados, a menos que o escopo esteja claramente definido.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Boas práticas","description":"Tirando o máximo proveito do Lovable","icon":"dumbbell","href":"/pt-BR/tips-tricks/best-practice","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Defina a base: use o arquivo de Knowledge","slug":"1-defina-a-base-use-o-arquivo-de-knowledge","depth":2,"children":[]},{"title":"2. Prompting Boas práticas","slug":"2-prompting-boas-práticas","depth":2,"children":[]},{"title":"3. Use o Chat mode cedo e com frequência","slug":"3-use-o-chat-mode-cedo-e-com-frequência","depth":2,"children":[]},{"title":"4. Evite problemas comuns com Supabase","slug":"4-evite-problemas-comuns-com-supabase","depth":2,"children":[]},{"title":"5. Use o Visual Edit para correções rápidas na UI","slug":"5-use-o-visual-edit-para-correções-rápidas-na-ui","depth":2,"children":[]},{"title":"6. Use o GitHub + controle de versão com sabedoria","slug":"6-use-o-github-+-controle-de-versão-com-sabedoria","depth":2,"children":[]},{"title":"7. Quando nada mais funcionar, remixe","slug":"7-quando-nada-mais-funcionar-remixe","depth":2,"children":[]},{"title":"8. Tenha paciência, mantenha a calma","slug":"8-tenha-paciência-mantenha-a-calma","depth":2,"children":[]},{"title":"9. Use a documentação e peça ajuda","slug":"9-use-a-documentação-e-peça-ajuda","depth":2,"children":[]},{"title":"10. Dicas extras","slug":"10-dicas-extras","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"generaltranslation-d8a08cd1","siteName":"Lovable Documentation","title":"Boas práticas - Lovable Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/tips-tricks/best-practice","matchLevel":1},"es":{"href":"/es/tips-tricks/best-practice","matchLevel":1},"ja":{"href":"/ja/tips-tricks/best-practice","matchLevel":1},"zh":{"href":"/zh/tips-tricks/best-practice","matchLevel":1},"fr":{"href":"/fr/tips-tricks/best-practice","matchLevel":1},"de":{"href":"/de/tips-tricks/best-practice","matchLevel":1},"pt-BR":{"href":"/pt-BR/tips-tricks/best-practice","matchLevel":0},"it":{"href":"/it/tips-tricks/best-practice","matchLevel":1}}},"lastModified":"2026-01-25T22:46:33.266Z","originalFileLocation":"pt-BR/tips-tricks/best-practice.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Tirando o máximo proveito do Lovable\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Boas práticas - Lovable Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Tirando o máximo proveito do Lovable\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://generaltranslation-d8a08cd1.mintlify.site/assets/logo/opengraph-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Boas práticas - Lovable Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Tirando o máximo proveito do Lovable\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://generaltranslation-d8a08cd1.mintlify.site/assets/logo/opengraph-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0095FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/tips-tricks/best-practice.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.lovable.dev/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.lovable.dev/es/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.lovable.dev/ja/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.lovable.dev/zh/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.lovable.dev/fr/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.lovable.dev/de/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.lovable.dev/it/tips-tricks/best-practice\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.lovable.dev/tips-tricks/best-practice\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lovable.dev/#organization\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=ca1f70ffb8cc99cf980d91ff6495d89f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lovable.dev#website\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice#webpage\",\"url\":\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice\",\"name\":\"Boas práticas\",\"description\":\"Tirando o máximo proveito do Lovable\",\"dateModified\":\"2026-01-25T22:46:33.266Z\",\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice#article\",\"headline\":\"Boas práticas\",\"name\":\"Boas práticas\",\"description\":\"Tirando o máximo proveito do Lovable\",\"url\":\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/best-practice#webpage\"},\"image\":\"https://docs.lovable.dev/assets/logo/opengraph-image.png\",\"dateModified\":\"2026-01-25T22:46:33.266Z\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lovable Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lovable Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/tips-tricks/best-practice"}]},{"language":"es","pages":[{"title":"es","href":"/es/tips-tricks/best-practice"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/tips-tricks/best-practice"}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/tips-tricks/best-practice"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/tips-tricks/best-practice"}]},{"language":"de","pages":[{"title":"de","href":"/de/tips-tricks/best-practice"}]},{"language":"pt-BR","tabs":[{"tab":"Introdução","pages":[{"title":"Introdução","href":"/pt-BR/introduction/welcome"}]},{"tab":"Funcionalidades","pages":[{"title":"Funcionalidades","href":"/pt-BR/features/modes"}]},{"tab":"Integrações","pages":[{"title":"Integrações","href":"/pt-BR/integrations/introduction"}]},{"tab":"Dicas e truques","pages":[{"title":"Boas práticas","icon":"dumbbell","href":"/pt-BR/tips-tricks/best-practice"},{"title":"Solução de problemas","description":"Passos práticos para resolver problemas no ciclo de desenvolvimento.","icon":"toolbox","href":"/pt-BR/tips-tricks/troubleshooting"},{"title":"Implementar boas práticas de SEO e GEO","sidebarTitle":"Boas práticas de SEO e GEO","icon":"magnifying-glass","href":"/pt-BR/tips-tricks/seo-geo"},{"title":"Usando imagens no Lovable","icon":"frame","href":"/pt-BR/tips-tricks/using-images"},{"title":"Usando vídeos","icon":"film","href":"/pt-BR/tips-tricks/using-videos"},{"title":"Usando fontes personalizadas (Google Fonts)","icon":"font","href":"/pt-BR/tips-tricks/custom-fonts"},{"title":"Usando pacotes npm","icon":"box","href":"/pt-BR/tips-tricks/npm-packages"},{"title":"Da ideia ao app funcional","icon":"screwdriver-wrench","href":"/pt-BR/tips-tricks/from-idea-to-app"},{"title":"Política de Suporte","icon":"life-ring","href":"/pt-BR/tips-tricks/support-policy"},{"title":"Evitando armadilhas de segurança","icon":"lock","href":"/pt-BR/tips-tricks/avoiding-security-pitfalls"},{"title":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar","sidebarTitle":"Self-hosting","icon":"door-open","href":"/pt-BR/tips-tricks/self-hosting"}]},{"tab":"Engenharia de Prompts de IA","pages":[{"title":"Engenharia de Prompts de IA","href":"/pt-BR/prompting/prompting-one"}]},{"tab":"Casos de uso","pages":[{"title":"Casos de uso","href":"/pt-BR/use-case/video-tutorials"}]},{"tab":"Glossário","pages":[{"title":"Glossário","href":"/pt-BR/glossary"}]},{"tab":"Registro de alterações","pages":[{"title":"Registro de alterações","href":"/pt-BR/changelog"}]}]},{"language":"it","pages":[{"title":"it","href":"/it/tips-tricks/best-practice"}]}]},"basePath":"","title":"Boas práticas - Lovable Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}