Sobre o projeto

Macro é um espaço de trabalho completo que integra e-mail, chat de equipe, documentos markdown, tarefas, CRM, chamadas, armazenamento de arquivos e agentes de IA em uma única interface. Seu objetivo declarado é atuar como um "sistema operacional" para pequenas empresas ou equipes dentro de organizações maiores, substituindo um conjunto de ferramentas separadas (Slack, Linear, Notion, HubSpot, Superhuman) que não compartilham contexto. Ideia central do design: todas as superfícies compartilham um único backend, e referências cruzadas entre um documento e uma tarefa, ou uma mensagem de canal e um e-mail, são armazenadas nativamente como um grafo bidirecional. Mencionar um item com @ em um lugar cria um link visível do outro lado. Blocos descritos no README: - E-mail: caixa de entrada unificada para múltiplas contas com atalhos de teclado, caixas de entrada compartilhadas, suporte a Gmail e ferramentas de IA/MCP para busca e redação. - Mensagens: canais e mensagens diretas com respostas antecipadas inline e tópicos recolhidos; tópicos com permissões podem ser compartilhados por link. - Tarefas: issues leves fortemente acopladas a canais, e-mail e agentes; tarefas podem ser criadas a partir de e-mail, atalhos de teclado, documentos markdown, listas de verificação, menções @Macro, chats com agentes ou MCP/API/SDK externos. - Documentos: colaboração em tempo real em markdown baseada em CRDTs, com histórico de versões, edição offline e edição nativa por agentes. - Canvas: quadro 2D com @links incorporados para tarefas, arquivos e e-mails. - Agentes: memória em nível de equipe sintetizada a partir de conversas, mensagens diretas, e-mail e tarefas, atualizada diariamente; exposta a agentes externos via MCP e modelos selecionáveis. - Chamadas: gravadas, transcritas e registradas na memória da equipe. - Armazenamento de arquivos: importados automaticamente de e-mail e canais, pesquisáveis. - Pull requests: integração com GitHub vinculada a tarefas e incorporável em canais. - CRM: objetos de empresa e contato, propriedades personalizadas, sincronização de e-mail, enriquecimento, visualizações de pipeline kanban e canais por negócio. Recursos transversais: vinculação bidirecional com @, permissões baseadas em canais (o acesso segue a associação ao canal), memória unificada e uma única caixa de entrada que divide itens em Signal e Noise com navegação focada no teclado. Layout técnico: um cliente SolidJS (navegador, desktop Tauri, mobile) em apps/web, um site de documentação, 42 serviços/workers/manipuladores Lambda implantáveis, 167 crates Rust para lógica de domínio e acesso a dados, pacotes TypeScript compartilhados para colaboração, definições de infraestrutura Pulumi, uma pilha local Docker Compose e um shell de desenvolvimento Nix fixado. Os serviços seguem uma arquitetura hexagonal (adaptadores de entrada, núcleo de domínio com portas, adaptadores de saída). Implantação e licenciamento: um aplicativo hospedado está disponível, e o projeto afirma que pode ser auto-hospedado sob a AGPLv3 (descrito como totalmente código aberto, não open core). O README menciona certificação SOC 2 Tipo II, selos ISO 27001 e retenção zero de dados com provedores de modelos. Instruções de desenvolvimento local estão em docs/RUNNING_LOCALLY.md e orientações de contribuição em CONTRIBUTING.md.