Packages · choose by boundary

Four packages, clear responsibilities.

The current package surface is consolidated around four architectural boundaries. Start with the runtime and providers for a normal application.

The package shape

The source tree is organized around Core → Runtime → Providers, with Extensions for optional framework integrations.

Foundgine.Core
      ↓
Foundgine.Runtime
      ↓
Foundgine.Providers
      ↘
Foundgine.Extensions  (optional framework integrations)

Current publishable packages

Package Role Use it when
Foundgine.Core Provider-independent semantic model, metadata, intent, planning and execution contracts. You build semantic models, integrations or custom providers.
Foundgine.Runtime Application-facing orchestration, authorization, plan approval, routing and execution. You are building a normal Foundgine application.
Foundgine.Providers Concrete storage, AI/model, MCP, AOT and other provider integrations. You need physical infrastructure or agent/tool integrations.
Foundgine.Extensions Optional framework adapters, currently including Hot Chocolate GraphQL integration. You need GraphQL/Hot Chocolate integration.

Install the normal application stack

dotnet add package Foundgine.Runtime --version 2.2.1
dotnet add package Foundgine.Providers --version 2.2.1

Foundgine.Core is the provider-independent foundation and is brought in by the higher-level packages. Add it directly when your code intentionally targets its contracts.

Java / Maven

A Java port of the same four packages is published to Maven Central under the io.github.cristianbarragan namespace.

<dependency>
  <groupId>io.github.cristianbarragan</groupId>
  <artifactId>foundgine-runtime</artifactId>
  <version>2.2.1</version>
</dependency>
<dependency>
  <groupId>io.github.cristianbarragan</groupId>
  <artifactId>foundgine-providers</artifactId>
  <version>2.2.1</version>
</dependency>

foundgine-core is the provider-independent foundation and is brought in transitively by the higher-level artifacts. Add it directly when your code intentionally targets its contracts. foundgine-extensions is available the same way for optional framework integrations.

Optional integrations

Add Foundgine.Extensions when you expose Foundgine through Hot Chocolate GraphQL. Choose the relevant capabilities inside Foundgine.Providers for SQL/PostgreSQL, InMemory, AI/model tooling, MCP or retrieval integrations.

Package boundary rule

Provider-specific concerns such as SQL syntax, PostgreSQL extensions, GraphQL parsing, MCP transport and model-provider integration should not leak into the provider-independent semantic contracts.

Go deeper

Read the package READMEs in src/ for API-level detail, or return to Architecture to see where each package fits.