teams-for-linux is an unofficial, community-maintained Electron desktop client for Microsoft Teams, specifically targeting Linux desktop integration gaps. It wraps the Teams web SPA, adding native features like tray icons, system notifications, WebAuthn/FIDO2 hardware key support, MQTT home-automation integration, multi-account profile switching, custom themes/backgrounds, and an advanced configuration system with deprecation management. The architecture is modular, with a main process (Electron) coordinating IPC-secured preload scripts that inject browser tools into the Teams page. Key subsystems include a centralized config schema (single source of truth), a profile manager for isolated WebContentsView-based accounts, D-Bus and MQTT bridges for external control, and an extensive suite of unit and Playwright e2e tests. The project follows a rigorous ADR-driven decision process, automated release-please releases, and cross-distro Docker-based testing. While tightly coupled to the Teams web app's DOM and internal APIs, the codebase demonstrates high engineering craftsmanship with clear separation of concerns, security hardening (IPC allowlist, PII sanitization), and reusable patterns (secure dialogs, browser tool init pattern).
Operately is an open-source company operating system for coordinating goals, projects, and teams. It provides a full collaboration suite including spaces (groups), goals with OKRs, project management with milestones and tasks, check-in cadence, retrospectives, discussions, document and file management (Resource Hubs), KPI tracking, and people management. The system is built as a monolith with a Phoenix (Elixir) backend serving a custom TurboConnect API (mutation/query protocol) and a React/TypeScript single-page application frontend with a reusable component library (turboui). It also offers a CLI tool, Model Context Protocol (MCP) integration for AI agents, and extensive background job processing via Oban for notifications, email delivery, search indexing, and billing operations. The architecture follows a clean domain-driven design with operations (Ecto.Multi transactions), activity logging (event sourcing with embedded schemas), an access control system with hierarchical groups and bindings, and a rich content editor with link enrichment and blob storage. The codebase is well-tested with both backend (ExUnit, Wallaby) and frontend (Jest, React Testing Library) tests, and includes a demo data builder for development. The enterprise edition (ee/) extends the core with SaaS admin capabilities, billing management via Polar, site messages, and feature flags. The system has evolved significantly with over 115 data migrations, indicating active development. While the core architecture is solid and many patterns are reusable, there are some incomplete features (e.g., stubbed notification handlers, missing email templates) and occasional code duplication between internal API and MCP tool layers. Overall, it demonstrates strong engineering craftsmanship with practical trade-offs for an open-source SaaS application.
This repository contains the Microsoft 365 Agents SDK and samples for building conversational agents deployable to Microsoft 365 channels (Teams, Copilot Studio, web chat) and custom channels. The SDK is AI-service agnostic, allowing integration of any AI model or service. Samples demonstrate common agent patterns including welcome messages, tool usage (dice roller, inventory, weather lookup), streaming responses, authentication (OBO, auto sign-in), observability (OpenTelemetry), and integrations (Genesys, Slack, Semantic Kernel, LangChain). The architecture follows a consistent pattern across languages: initialize storage, connection manager, adapter, and authorization; instantiate AgentApplication; register event handlers; start server. Entry points vary by language (Program.cs for .NET, src/index.ts for Node.js, src/main.py for Python). External dependencies include Microsoft Graph, GitHub API, Azure OpenAI, and various agent frameworks.