# NOIR - [Quickstart](/docs): Build and run a self-hosted Slack agent in one file, then add only the resources it needs. - GETTING STARTED - [Installation](/docs/getting-started/installation): Install Noir, choose the optional peers your stack uses, and verify the runtime before wiring a provider. - [Mental model](/docs/getting-started/mental-model): Understand the seven pieces of a Noir agent and which parts belong to your application. - [One-file agent](/docs/getting-started/one-file-agent): Build a funny Slack operator with OpenRouter, Stripe, Supermemory, a user-owned database, and a bring-your-own sandbox. - [Authoring modes](/docs/getting-started/authoring-modes): Choose between the concise provider-native loop, an existing framework handler, and the low-level model adapter. - [Production checklist](/docs/getting-started/production-checklist): The concrete gates between a local demo and a restart-safe, observable production agent. - CONCEPTS - [Architecture](/docs/concepts/architecture): Your agent logic stays yours; Noir owns the unreliable edge. - [Execution model](/docs/concepts/execution): Follow a message from signed ingress through serialized work, model steps, checkpoints, and durable delivery. - [Reliability](/docs/concepts/reliability): Design every side effect for replay, approval, and recovery. - [Identity and scope](/docs/concepts/identity): Understand installation, actor, conversation, and thread identity before storing memory or authorizing effects. - [Tools and effects](/docs/concepts/tools-and-effects): Define tools with validated schemas, accurate effect metadata, bounded results, and replay-safe provider calls. - [Approvals](/docs/concepts/approvals): Pause a precise effect, bind the decision to the requester, and resume safely after an interactive or text response. - [Storage and durability](/docs/concepts/storage): Choose a runtime store, understand its guarantees, and integrate Noir with an existing database without surrendering ownership. - [Memory](/docs/concepts/memory): Add scoped long-term recall without confusing memory, conversation history, and application state. - [Sandbox](/docs/concepts/sandbox): Give an agent files and execution through a scoped, bounded driver that remains entirely under your control. - [Schedules and loops](/docs/concepts/scheduling): Run durable one-time, interval, and cron work without an external cron job or an immortal in-process loop. - [Observability and quality](/docs/concepts/observability): Capture structured runtime events, traces, usage, evals, and version decisions without leaking unbounded provider data. - GUIDES - [Production Slack agent](/docs/guides/production-slack-agent): Configure Slack, OpenRouter, persistence, personality, approvals, memory, and a sandbox as one deployable agent. - [Blog pull-request agent](/docs/guides/blog-pr-agent): Read a repository's voice, use an attached image, write on a review branch, and open a draft pull request safely. - [PostHog data agent](/docs/guides/posthog-data-agent): Answer product questions with PostHog evidence and send a durable 08:00 brief without external cron. - [Create a custom tool](/docs/guides/custom-tool): Add one well-bounded operation with schema validation, policy metadata, progress, and idempotency. - [Create a connector](/docs/guides/custom-connector): Package a user-owned external client and namespaced tools without routing credentials through Noir. - [Create a channel adapter](/docs/guides/custom-channel): Normalize a message provider into verified inbound events and capability-aware outbound delivery. - [Bring your own database](/docs/guides/custom-database): Implement the RuntimeStore contract with your existing ORM, schema, and migration system. - [Testing agents](/docs/guides/testing): Test deterministic runtime behavior, provider boundaries, policy, retries, and model quality without making every test live. - [Security model](/docs/guides/security): Protect credentials, authorize exact effects, isolate tenants, verify providers, and treat every model-facing value as untrusted. - [Deployment](/docs/guides/deployment): Ship the Node application and infrastructure you own. - [Slack](/docs/guides/slack): Run a threaded, file-aware agent with native approvals. - [Memory & Sandbox](/docs/guides/memory-sandbox): Bring the state and execution providers you already trust. - [Tools & Plugins](/docs/guides/tools-plugins): Add capabilities without hiding service SDKs. - [Loops & Schedules](/docs/guides/loops-schedules): Run bounded tool loops and recurring work durably. - INTEGRATIONS - [Models and OpenRouter](/docs/integrations/models-openrouter): Bring an AI SDK provider model directly, or use Noir's low-level OpenAI-compatible adapter when necessary. - [Channels](/docs/integrations/channels): Compare the included Slack, Telegram, WhatsApp, email, Linq, and Photon adapters and their delivery capabilities. - [Slack Assistant](/docs/integrations/slack-assistant): Add native Slack assistant threads, suggested prompts, titles, and bounded status updates to the Slack channel. - [GitHub connector](/docs/integrations/github): Read repository files, create review branches, write content, and open draft pull requests with explicit authorization. - [PostHog connector](/docs/integrations/posthog): Connect PostHog's official MCP server in read-only mode with explicit project and tool filtering. - [MCP connector](/docs/integrations/mcp): Pin remote MCP tools over HTTP or stdio while keeping schemas, effects, approvals, and retries explicit. - [Supermemory](/docs/integrations/supermemory): Add automatic scoped recall, remembering, and deletion through a user-owned Supermemory account. - [Stripe plugin](/docs/integrations/stripe): Bring Stripe's own agent toolkit into Noir and layer explicit approval and retry policy over its tools. - [Postgres stores](/docs/integrations/postgres): Use Noir's included Postgres implementations with a connection string or an application-owned postgres client. - [Sandbox drivers](/docs/integrations/sandbox-drivers): Bring a local, container, microVM, or remote sandbox by implementing one bounded file-and-execution contract. - REFERENCE - [noir() configuration](/docs/reference/configuration): Complete field reference for the concise provider-native agent constructor. - [Runtime API](/docs/reference/runtime): The essential primitives available inside each run. - [Handler context](/docs/reference/handler-context): Reference for Message and the reliable actions available when wrapping an existing agent or workflow. - [Tool definition](/docs/reference/tools): Complete contract for schemas, effects, approvals, retries, execution context, output validation, and projection. - [Messages and output](/docs/reference/messages): Reference for normalized inbound events, attachments, channel locations, rich output, and delivery status. - [ChannelAdapter](/docs/reference/channel-adapter): Exact interface and invariants for implementing a message transport. - [RuntimeStore](/docs/reference/runtime-store): Exact persistence contract for queues, leases, history, checkpoints, approvals, and the delivery outbox. - [Plugins and capability hooks](/docs/reference/capability-hooks): Reference for optional tools, prompts, services, routes, lifecycle, and interception hooks. - [Events and errors](/docs/reference/events-errors): Runtime event names, retry classification, provider backoff, and failure behavior. - [CLI](/docs/reference/cli): Run, inspect, and diagnose an agent with Noir's small Node HTTP host. - [Environment](/docs/reference/environment): Credentials belong to the providers you choose. - [Package exports](/docs/reference/package-exports): Find each stable Noir subpath by responsibility instead of importing the entire product surface. - FOR CODING AGENTS - [Using Noir with coding agents](/docs/agents/using-noir): Give a coding agent enough product context to generate correct Noir code without inventing wrappers or bypassing reliability boundaries. - [Agent context file](/docs/agents/context-file): A ready-to-copy AGENTS.md section that teaches a coding agent Noir's architecture, safety boundaries, and verification rules. - [Agent-ready recipes](/docs/agents/recipes): Copy focused implementation prompts for common Noir tasks with the right documentation context and verification gates. - [Documentation contract](/docs/agents/documentation-contract): Stable URLs, source priority, page conventions, and update requirements for humans and automated agents.