Develop and extend
Guide Documentation category

Develop and extend

Understand the system, extend supported boundaries, test changes, and contribute safely.

For
Contributors, maintainers, and integration developers

Choose your contribution path

Start with the boundary you intend to extend. Communication Platforms, tool Integrations, and Templates or Skills have different ownership, credential, runtime, and testing contracts.

Contribution path

Work on Communications internals

Understand the Communications application, generic Connection model, gateway-owned ingress and delivery, durable Conversations, runtime-neutral delivery protocol, and provider webhook boundary.

Contribution path

Add a Communication Platform

Build or update a Platform Plugin for the Communications service, including typed settings and credentials, Connection lifecycle, inbound admission, outbound delivery, optional provider capabilities, registry wiring, and gateway tests.

Contribution path

Add a tool Integration

Add an external tool provider across credential validation, encrypted Agent Secrets, runtime materialization, provider metadata, and an isolated bundled aai-<integration> Skill package. Tool Integrations are distinct from Communication Platforms; Communication Connection credentials do not use Agent Secrets or Shared Credentials.

Contribution path

Contribute Templates and Skills

Contribute bootstrap Templates or isolated bundled Skills while preserving draft and publish workflows, immutable versions, exact Skill Version requirements, scope ownership, runtime mount paths, and existing database-owned resources.

Available documentation

Concept

How Agent Barn Fits Together

A current map of the Product API, Ingest API, Communications Gateway, web app, Agent runtimes, and deployment boundaries.

Concept

API Architecture and Request Boundaries

Follow the route, service, repository, tenancy, transaction, migration, and dependency-injection conventions.

Concept

Web App Architecture and Data Flow

Understand shared Template feature scopes, Organization data flow, and authenticated Web Chat and Agent log streaming.

Concept

Domain Events, Outbox, and Delivery

Add typed business events, transactional Outbox Messages, Event Deliveries, handlers, and safe monitoring.

Reference

Backend Code Standards

Apply repository-wide layering, HTTP, schema, authorization, style, review, and definition-of-done rules.

Guide

Testing and Verification

Select API, UI, runtime, migration, Kubernetes, and documentation checks that prove the changed contract.

How-to

Coordinate a Multi-PR Epic

Keep cross-ticket delivery state accurate without replacing feature docs, ADRs, or the issue tracker.

How-to

Write and Maintain Architecture Decisions

Capture hard-to-reverse technical choices, their trade-offs, consequences, and later supersession.

Concept

System Architecture

Map Product API, Ingest, Communications, Web Chat, runtime execution, persisted costs, and Organization and Agent authorization boundaries.

Guide

Develop against the API

Extend Product, Ingest, and Communications APIs with authentication boundaries, Organization and Agent scoping, route-service-repository layering, transactions, migrations, and PostgreSQL-backed tests.

Guide

Develop the web app

Develop shared feature scopes, Organization-aware data flows, and authenticated Web Chat and Agent log streaming.

Concept

Work with domain events

Model immutable business facts, stage them transactionally with business state, deliver them through idempotent handlers, and diagnose delivery failures.

How-to

Test a change

Select API, UI, runtime, and Email Worker coverage while distinguishing required checks from automatic CI path selection.

How-to

Add a communication platform

Add a Platform Plugin across typed configuration, encrypted Connection credentials, provider admission, outbound Delivery, optional directory or webhook support, registry wiring, diagnostics, and gateway tests.

How-to

Add an integration

Add a tool Integration across credential validation, encrypted persistence, runtime materialization, provider metadata, isolated bundled Skills, web app configuration, and focused tests.

How-to

Contribute templates and Skills

Contribute bootstrap Templates and isolated bundled Skills with missing-only seeding, draft/publish workflows, immutable versions, exact Skill pins, scope ownership, runtime mounts, and review.

Documentation