About this project

Macro is an all-in-one workspace that merges email, team chat, markdown docs, tasks, CRM, calls, file storage and AI agents into a single interface. Its stated goal is to act as an "operating system" for small companies or teams inside larger organizations, replacing a stack of separate tools (Slack, Linear, Notion, HubSpot, Superhuman) that do not share context. Core design idea: every surface shares one backend, and cross-references between a doc and a task, or a channel message and an email, are stored natively as a bidirectional graph. @mentioning an item in one place creates a link visible from the other side. Blocks described in the README: - Email: multi-account unified inbox with keyboard shortcuts, shared inboxes, Gmail support, and AI/MCP tools for search and drafting. - Messages: channels and DMs with inline early replies and collapsed threads, permissioned threads shareable by link. - Tasks: lightweight issues tightly coupled to channels, email and agents; tasks can be created from email, keyboard shortcuts, markdown docs, checklists, @Macro mentions, agent chats, or external MCP/API/SDK. - Docs: real-time collaborative markdown built on CRDTs, with version history, offline editing, and agent-native editing. - Canvas: 2D board with embedded @links to tasks, files and emails. - Agents: team-level memory synthesized from conversations, DMs, email, and tasks, refreshed nightly; exposed to external agents via MCP and selectable models. - Calls: recorded, transcribed and logged to team memory. - File storage: auto-imported from email and channels, searchable. - Pull requests: GitHub integration linked to tasks and embeddable in channels. - CRM: company and contact objects, custom properties, email sync, enrichment, kanban pipeline views, and per-deal channels. Cross-cutting features: bidirectional @linking, channel-based permissions (access follows channel membership), unified memory, and a single inbox that splits items into Signal and Noise with keyboard-first navigation. Technical layout: a SolidJS client (browser, Tauri desktop, mobile) under apps/web, a docs site, 42 deployable services/workers/Lambda handlers, 167 Rust crates for domain logic and data access, shared TypeScript packages for collaboration, Pulumi infrastructure definitions, a local Docker Compose stack, and a pinned Nix dev shell. Services follow a hexagonal architecture (inbound adapters, domain core with ports, outbound adapters). Deployment and licensing: a hosted app is available, and the project states it can be self-hosted under the AGPLv3 (described as fully open source rather than open core). The README notes SOC 2 Type II certification, ISO 27001 badges, and zero data retention with model providers. Local development instructions are in docs/RUNNING_LOCALLY.md and contribution guidance in CONTRIBUTING.md.