CONTRIBUTING guide; this page points to them and states the discipline every repository shares.
The platform is a multi-repo ecosystem. The core repos define and implement the contract; the plugin repos build on it. Contributions live in the repo they touch, under that repo’s CONTRIBUTING guide.
The repositories
tai42-contract
The pure interface — the Protocols and ABCs plugins implement.
tai42-kit
The generic leaf helpers, settings, pooled clients, and factories.
tai42-skeleton
The framework body — the concrete server and runtime engines.
tai42-toolbox
The reference tool set — generic tools and extensions.
Full ecosystem
Every shipped plugin and its repository, in the catalog.
The shared discipline
Every repository holds to the same rules, enforced in each repo’s CI:- The leaf rule. Among
tai42-*packages, the skeleton importstai42-contractandtai42-kitonly; a plugin importstai42-contract(andtai42-kitwhere it needs shared helpers) only. No plugin imports the skeleton — providers register through thetai42_apphandle when the manifest loads them. - Providers stay out of the core. Connectors, storage, config, backends, and monitoring ship as plugins that register at manifest load — never imported by the skeleton.
- Optional drivers stay optional. A heavy client driver reaches the engine through an extra; a module whose extra is missing fails loudly at import, never a silent skip.
- Errors surface loudly. A missing module, a malformed config entry, or a failed sub-step raises and propagates.
- Typed packages. Every package ships
py.typedand keeps the type-checker clean.
Develop
Each repo’s dev venv resolves itstai42-* dependencies from sibling checkouts. The standard loop is the same across repos:
CONTRIBUTING guide for its specifics — the sibling checkouts it expects, any secret scan, and its licensing statement.
See also
- The layering — how contract, kit, and skeleton relate.
- Plugin authors — the author path for every plugin type.
- Ecosystem catalog — every shipped repository.

