Skip to content

FCC for Developers

Welcome to the FCC Agent Team Framework developer track. This section is for software developers who are integrating, consuming, or extending FCC as part of a real codebase. If you are brand new to the framework and want the friendliest on-ramp, the For Beginners track starts with a five-minute Hello-FCC. If you are evaluating FCC as a system for your organisation, the For Architects track is a better fit.

Developers arrive at FCC from one of three angles. The rest of this landing page is organised around those journeys.

Journey 1 — install and scaffold a new project

You want to stand up a brand-new agent-team project with FCC at the centre. The 10-minute path is:

  1. Install the package: pip install -e ".[full]".
  2. Scaffold a vertical project: fcc scaffold-vertical-project --name my_team --template medical.
  3. Run the first simulation: fcc run scenario basic_fcc_cycle.
  4. Open notebooks/01_fcc_fundamentals.ipynb for an interactive tour.

See Quick Start for the expanded walkthrough and the exact output you should see at each step.

Journey 2 — consume FCC via plugin entry-points

You already have an application and you want it to participate in the FCC ecosystem. The idiomatic path is to declare a VocabularyProviderPlugin that exposes your application's dataclasses to FCC's cross-project entity resolver. This is how the 12 sister projects (Athenium, Mnemosyne, the ten constellation verticals) stay in lockstep with FCC without importing the framework at runtime.

See Integration Patterns for the four integration shapes (Python library, MCP tool, A2A agent, CLI consumer) and the tradeoffs between them.

Journey 3 — extend FCC by writing a plugin

You want to contribute new capability to the ecosystem — a new VocabularyProviderPlugin, a new ScorerPlugin, a new AIProviderPlugin for your preferred backend, or a new EventSubscriberPlugin that reacts to workflow events. FCC's plugin surface is 11 abstract base classes under src/fcc/plugins/base.py; each is a single-responsibility extension seam.

See Plugin Development for a step-by-step walkthrough of authoring your first VocabularyProviderPlugin, and Testing Guide for the pytest patterns that will keep your plugin above the 99% line-coverage gate FCC enforces on its own codebase.

Developer reading list

The resources below are ordered roughly by the depth at which you need to understand each one. You can stop at any level and still ship working code; the deeper layers are there when you hit edge cases.

  • Quick Start — a 5-minute hello-world for a developer new to FCC.
  • Plugin Development — author your first VocabularyProviderPlugin against the real FCC plugin surface.
  • Integration Patterns — the four shapes FCC supports for embedding into an existing application.
  • Testing Guide — how to write tests that satisfy the 99%-coverage gate and 80%-branch gate.
  • Notebook 04_plugin_system.ipynb — interactive walkthrough of the plugin discovery lifecycle.
  • Notebook 34_developer_first_plugin.ipynb — companion notebook for Plugin Development.

v1.4.x What's New for Developers

v1.4.x lands the biggest developer-visible change since the v1.1.0 Docker stack: the EventBus is split into two physical buses (PAOMBus + UXBus) routed by a LaneRouter, and every OTel span now carries lane, event_type, correlation_id, and zachman_cell attributes. A back-compat shim means no pre-v1.4.2 caller breaks, but the idiomatic new form is lane-specific.

See also — other audience tracks