Sobre o projeto

O Plasmic é um construtor visual de código aberto para a web, voltado para criar apps, sites e conteúdo rapidamente, integrando-se a uma base de código existente. O README o posiciona como uma forma de "romper o teto do low-code", permitindo que os usuários arrastem e soltem seus próprios componentes React e publiquem telas diretamente em aplicações existentes. Os principais casos de uso descritos incluem gestão de conteúdo (equipes de marketing montando landing pages a partir de componentes React registrados em um site Next.js, com diretrizes de design), construção de aplicações (ferramentas internas, portais de clientes, software empresarial) e construção geral de sites sem ficar preso a uma plataforma de ecommerce, CMS ou host específico. Principais capacidades destacadas: - Registrar componentes React personalizados arbitrários para uso como blocos de construção no Plasmic Studio. - Uma API headless mais geração opcional de código React para uma base de código. - Interações stateful ricas, integrações com fontes de dados e backends, e abstrações como componentes, variantes, slots e gestão de estado composável. - Componentes de design system headless personalizáveis com react-aria. - Um modo de criador de conteúdo com edição simplificada e diretrizes de design. - Recursos de colaboração, incluindo multiplayer, branching, importações entre projetos e organizações com múltiplos workspaces. - Importação de designs do Figma traduzindo seu formato de documento vetorial para DOM/CSS. - Codegen orientado ao desempenho de páginas, geração de sites estáticos, otimização de imagens e redução de layout shift. - Implantação ou exportação para Vercel, Netlify ou outros provedores de hospedagem. - Autenticação e permissões de usuário final, incluindo RBAC e permissões com escopo de usuário. - Uma plataforma de código aberto que pode ser forkada e controlada. O README mostra um fluxo típico de integração com CMS: instalar um pacote loader específico do framework (por exemplo, @plasmicapp/loader-nextjs), opcionalmente registrar componentes de app ou design system com PLASMIC.registerComponent, adicionar placeholders como PlasmicComponent e PlasmicRootProvider no app, e então permitir que não desenvolvedores criem páginas ou seções que são publicadas no app. As alterações publicadas podem ser captadas via webhooks, revalidação estática incremental ou busca dinâmica no CDN do Plasmic. Também observa orientações de versionamento: os pacotes @plasmicapp dependem de versões exatas uns dos outros para permanecerem em sincronia, e os pacotes @plasmicpkgs usam intervalos de peer dependency. O README recomenda verificar versões duplicadas ou incompatíveis com npm list e usar npm dedupe ou reinstalar quando necessário. Licenciamento: conteúdo fora de platform/ é MIT; platform/ é AGPL. O suporte da comunidade é oferecido por meio de documentação, um fórum e uma comunidade no Slack.