Our take
Newless than six months old and changing fast- Merges more pull requests than 99% of the projects we track
- Fewer contributors than 92% of the projects we track
TramAI is a fast-changing, early-stage option for JVM teams that specifically need governed AI workflows, with adoption risk from its one-person contributor base and evolving APIs.
Good fit if
- Your application is Kotlin/JVM-based and needs typed AI contracts plus configurable policy, routing, or approval controls.
- You can select and configure the governance components your workflow needs, rather than assuming every capability is enabled by default.
- You are comfortable evaluating an actively developed project whose recent work and releases come from one contributor.
Look elsewhere if
- You need a stable sovereign-runtime API today; the README says that API is not yet available.
- Your design requires a governed remote MCP tool connector, which the project lists as not implemented.
- You need compliance certification or a project with a broader contributor base; neither is established here.
All health signals
| Last commit | 2026-09-21 (17 days ago) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 2 (latest v0.6.0, 2026-09-09) |
| Contributors | 1 |
| Issues closed, last 90 days | 0+ |
| Pull requests merged, last 90 days | 99 (typically merged in 0 days) |
| Project age | 6 months |
Checked on 2026-10-09 with the GitHub API.
Overview
TramAI is a Kotlin-first runtime for building AI workflows on the JVM. It addresses the gap between making a model call and governing what data, providers, and tools a workflow can use, when a person must approve an action, and what evidence is available afterward.
It is aimed at JVM teams that want typed AI contracts and composable governance capabilities in their application. Standalone and Spring Boot integrations are available; guarantees for routing, approvals, persistence, and evidence depend on configuring the corresponding components.
Key Features
- Define AI operations as typed JVM interfaces, with structured output and validation.
- Apply configurable policy and data-loss-prevention controls before model, tool, and response steps.
- Route requests among configured providers according to workflow classification and policy.
- Gate sensitive work with approval, suspension, denial, and replay-safe continuation capabilities.
- Record audit and execution evidence, with persistence and recovery options when configured.
- Integrate with standalone applications or Spring Boot, and choose provider adapters such as OpenAI-compatible APIs, Anthropic, Azure OpenAI, Bedrock, Gemini, and Ollama.
Use Cases
- JVM teams building an AI-backed business workflow that needs typed inputs and outputs instead of prompt handling scattered through application code.
- Organizations that need policy-based limits on which models or tools can handle classified data.
- Applications where high-risk actions must pause for human approval and resume with execution evidence.
- Teams evaluating local or approved provider routes while keeping AI integration inside a Kotlin or Spring Boot application.
What you need
Detected in the repository
- Java (JVM) (from Gradle)
- Automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Run the deterministic, credential-free workflow example:
git clone https://github.com/GionaGranchelli/tramAI.git
cd tramAI
./gradlew :examples:governed-workflow:run
See the README for application setup, provider configuration, and further examples.
Alternatives
- mcp-agent: mcp-agent centers on Python agents, MCP server integrations, and composable or durable workflows rather than a Kotlin-first governed runtime.
- shepherd: Shepherd focuses on supervising and replaying agent work as reversible proposals, rather than providing a general typed AI workflow runtime.
- bernstein: Bernstein emphasizes declarative agent policies, isolated task execution, and replayable runs, rather than Kotlin-first typed workflows and provider routing.
- magic: Magic is a self-hostable platform for organizational AI workflows, with collaboration and sandboxing, rather than a Kotlin-first JVM runtime.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| tramAI | Kotlin | Apache-2.0 | 35 | New |
| mcp-agent | Python | Apache-2.0 | 8.6k | Quiet |
| shepherd | Python | MIT | 2.5k | New |
| bernstein | Python | Apache-2.0 | 1.4k | Active |
| magic | TypeScript | Other | 5k | Active |
Considerations
The project is less than six months old and changing quickly. It has had frequent recent development and releases, but all measured contributor activity is concentrated in one person. The README describes the 0.6.x line as frozen for bug and security fixes, with new features planned for 0.7.0; teams should check the project status and API stability documentation before committing to preview or evolving surfaces.
The sovereign runtime is described as an enterprise proof milestone, not a stable 1.0 API. TramAI does not claim compliance certification or production readiness for every deployment. Governance and evidence guarantees depend on the relevant components being configured. The README also identifies the governed remote MCP tool connector as unimplemented. Building requires a JDK 21 toolchain; the introductory workflow example needs no model credentials, while the OpenAI application example requires an API key.
Found this useful?
Share it with someone who would like tramAI.