Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crie, aprove, agende e publique em todas as suas redes a partir de um só lugar.

Plataforma open source de publicação multicanal para equipes, automações e agentes de IA.
Um compositor, um calendário e uma infraestrutura confiável — da ideia ao post publicado.

CI Licença AGPL-3.0 Bun 1.3.14 TypeScript OpenAPI 3.1 100% open source

Início rápido · Recursos · Integrações · Arquitetura · Documentação · Contribuir


Demonstração do calendário multicanal do manypost

▶ A demonstração inicia automaticamente e reinicia em loop. Clique para abrir o MP4.

Visão geral

O manypost reúne o ciclo de conteúdo social em uma única plataforma: conexão de canais, criação por rede, calendário, aprovação externa, publicação assíncrona, recuperação de falhas e automação por API ou MCP.

Ele foi desenhado para dois usos que compartilham a mesma regra de negócio:

  • equipes e agências trabalham pela interface web, com previews por canal, calendário, kanban, threads e aprovação de cliente sem login;
  • desenvolvedores e agentes operam pela API REST pública ou pelo servidor MCP, com escopos, idempotência, rate limit e auditoria.

Important

Community e Cloud usam exatamente este monorepo AGPL-3.0. Não existe edição enterprise fechada nem recurso mantido em outro repositório.

O que o manypost entrega

Compositor multicanal
Texto global ou por rede, mídia, threads, previews e validações específicas de cada destino.
Calendário e kanban
Visualizações por dia, semana, mês ou lista, com drag-and-drop e estados de publicação.
Aprovação sem login
Compartilhe um link temporário para o cliente revisar e aprovar o conteúdo.
Publicação durável
pg-boss, retry com backoff, rate limit, fencing, idempotência e recuperação de jobs interrompidos.
IA dentro do fluxo
Legendas, reescrita, hashtags, alt text, rascunhos multicanal e sugestões de horário com orçamento controlado.
REST + MCP nativos
OpenAPI 3.1, API keys com escopos, webhooks assinados e ferramentas para agentes de IA.

Segurança como comportamento de produto

  • tokens de canais e segredos de webhook cifrados em repouso com AES-256-GCM;
  • isolamento multi-tenant por organização em toda operação;
  • proteção anti-SSRF com validação e pin de DNS nos fetches externos;
  • estados de publicação condicionais para impedir concorrência e jobs obsoletos;
  • resultado externo incerto vai para NEEDS_REVIEW, nunca para retry cego;
  • logs estruturados com request/correlation IDs, sem tokens ou conteúdo sensível.

Início rápido

Explorar o backend com Docker

O ambiente local sobe API, worker, PostgreSQL e Redis e disponibiliza o explorador OpenAPI em http://localhost:3000/docs.

git clone https://github.com/manypost/manypost-app.git
cd manypost-app
cp .env.example .env
# Preencha no .env as chaves de teste do Clerk indicadas no arquivo.
docker compose up --build

Para conectar o provider de teste e acompanhar uma publicação completa, siga o guia TESTING.md.

Rodar a aplicação completa em desenvolvimento

Pré-requisitos: Bun 1.3.14, PostgreSQL, Redis e credenciais de teste do Clerk.

bun install --frozen-lockfile
cp .env.example .env
# Configure as variáveis obrigatórias descritas no arquivo.
docker compose up postgres redis -d
PORT=3100 bun run dev:all

O guia de desenvolvimento cobre setup, testes, debug e E2E: docs/operations/development.md.

Redes e destinos

O registry atual possui 16 adapters reais. A disponibilidade na interface depende das credenciais da instalação e dos gates externos de cada plataforma.

Categoria Destinos
Redes sociais Instagram, Facebook Pages, Threads, TikTok, X, LinkedIn, Bluesky e Mastodon
Vídeo e artigos YouTube e Dev.to
Comunidades Telegram e Discord, por OAuth ou webhook
Live chat Twitch e Kick

Cada adapter declara limites de texto e mídia, settings próprios, classificação de erro e suporte a replies/threads. Veja como configurar credenciais em INTEGRATIONS_SETUP.md e como adicionar um provider no guia de integrações.

Arquitetura

Todas as superfícies chegam aos mesmos casos de uso. HTTP adapta transporte, repositories adaptam persistência e providers adaptam cada rede social.

Arquitetura do manypost: entradas convergem na plataforma, que coordena infraestrutura e canais

Abra em tamanho completo · ver código-fonte · gerado com mingrammer/diagrams

Módulo Responsabilidade
apps/web Next.js App Router, interface e cliente OpenAPI gerado
apps/api Hono, auth, REST interna/pública, MCP, webhooks e OpenAPI
apps/worker entrada dedicada do runtime pg-boss
packages/core domínio, casos de uso e ports
packages/db Drizzle, migrations e repositories PostgreSQL
packages/providers adapters das redes sociais
packages/queue jobs, Redis, rate limit, idempotência e realtime
packages/contracts tipos, schemas, enums e eventos compartilhados

Comece pela arquitetura vigente e pelo mapa do repositório. As fronteiras são verificadas automaticamente pelo CI.

API pública e servidor MCP

A API pública usa chaves mp_live_, escopos por credencial, Idempotency-Key nas mutações e problem+json com códigos estáveis. O contrato OpenAPI 3.1 fica disponível em /openapi.json e /docs de cada instância.

O servidor MCP expõe operações de consulta e agendamento sobre os mesmos casos de uso da API. A coleção completa para desenvolvimento e integração está em postman/.

Community e Cloud

O binário e o banco de código são os mesmos nos dois modos. A diferença é operacional, configurada por ambiente:

IS_SELF_HOSTED=true
HIDE_BILLING=true
Community Cloud gerenciado
Código este monorepo este monorepo
Licença AGPL-3.0 AGPL-3.0
Limites de plano desativados aplicados por PlanPolicy
Billing rotas não montadas Stripe
Credenciais das redes fornecidas por você operadas pelo serviço
Infraestrutura sua gerenciada

Sem configuração Stripe, a instalação self-hosted não cobra nem aplica limites comerciais. A decisão e suas implicações estão documentadas em DECISIONS.md e PLANS.md.

Desenvolvimento e qualidade

Bun é obrigatório; o projeto não usa npm, pnpm ou Yarn.

bun run check          # typechecks, testes, fronteiras, IA e identidade
bun run db:check       # schema e migrations Drizzle
bun run build:web      # build Next.js de produção
bun run spec:validate  # OpenSpec estrito

Features e mudanças de comportamento seguem o fluxo OpenSpec: proposta, requisitos, design quando necessário, tasks test-first, validação e archive depois da implementação.

Documentação

Quero… Começar por
testar sem conhecer a codebase TESTING.md
instalar e desenvolver guia de desenvolvimento
entender componentes e fluxos arquitetura
integrar via REST ou MCP spec de API/MCP e Postman
configurar uma rede guia de integrações
conhecer o estado do projeto STATUS.md
entender decisões técnicas DECISIONS.md
contribuir CONTRIBUTING.md e AGENTS.md

O índice completo está em docs/README.md.

Contribuição e licença

Contribuições de código, documentação, traduções e novos providers são bem-vindas. Antes de começar, leia o guia de contribuição, o código de conduta e as regras operacionais em AGENTS.md.

O manypost é derivado em conceito e arquitetura do Postiz, também AGPL-3.0. A stack é própria, mas contratos e decisões reconhecidamente derivados são preservados e declarados em ATTRIBUTION.md e POSTIZ_ANALYSIS.md.

Distribuído sob a GNU Affero General Public License v3.0. Avisos de terceiros estão em NOTICE.


Topo · Documentação · Status · Changelog · AGPL-3.0

About

O ecossistema brasileiro de automação multicanal para criadores e devs. 📧📬

Topics

Resources

Code of conduct

Contributing

Stars

81 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages