{"name":"tramAI: Govern AI Workflows on the JVM","description":"TramAI is a Kotlin-first JVM runtime for typed AI workflows with configurable policy, provider routing, tool controls, approvals, and execution evidence. It suits teams that need governance around model use, not just a way to call an LLM.","github":"https://github.com/GionaGranchelli/tramAI","url":"https://osrepos.com/repo/gionagranchelli-tramai","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/gionagranchelli-tramai","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/gionagranchelli-tramai.md","json":"https://osrepos.com/repo/gionagranchelli-tramai.json","topics":["kotlin","ai","framework","workflow-automation","governed-ai-workflows","typed-ai","human-approval"],"keywords":["kotlin","ai","framework","workflow-automation","governed-ai-workflows","typed-ai","human-approval"],"stars":null,"summary":"TramAI is a Kotlin-first JVM runtime for typed AI workflows with configurable policy, provider routing, tool controls, approvals, and execution evidence. It suits teams that need governance around model use, not just a way to call an LLM.","content":"## Overview\n\nTramAI 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.\n\nIt 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.\n\n## Key Features\n\n- Define AI operations as typed JVM interfaces, with structured output and validation.\n- Apply configurable policy and data-loss-prevention controls before model, tool, and response steps.\n- Route requests among configured providers according to workflow classification and policy.\n- Gate sensitive work with approval, suspension, denial, and replay-safe continuation capabilities.\n- Record audit and execution evidence, with persistence and recovery options when configured.\n- Integrate with standalone applications or Spring Boot, and choose provider adapters such as OpenAI-compatible APIs, Anthropic, Azure OpenAI, Bedrock, Gemini, and Ollama.\n\n## Use Cases\n\n- JVM teams building an AI-backed business workflow that needs typed inputs and outputs instead of prompt handling scattered through application code.\n- Organizations that need policy-based limits on which models or tools can handle classified data.\n- Applications where high-risk actions must pause for human approval and resume with execution evidence.\n- Teams evaluating local or approved provider routes while keeping AI integration inside a Kotlin or Spring Boot application.\n\n## Our Take\n\nTramAI 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.\n\n**Good fit if:**\n- Your application is Kotlin/JVM-based and needs typed AI contracts plus configurable policy, routing, or approval controls.\n- You can select and configure the governance components your workflow needs, rather than assuming every capability is enabled by default.\n- You are comfortable evaluating an actively developed project whose recent work and releases come from one contributor.\n\n**Look elsewhere if:**\n- You need a stable sovereign-runtime API today; the README says that API is not yet available.\n- Your design requires a governed remote MCP tool connector, which the project lists as not implemented.\n- You need compliance certification or a project with a broader contributor base; neither is established here.\n\n## Project Health\n\n| Signal | Value |\n|---|---|\n| Status | **New**: less than six months old and changing fast |\n| Last commit | 2026-09-21 (17 days ago) |\n| Commits, last 90 days | 100+ |\n| Releases, last 12 months | 2 (latest v0.6.0, 2026-09-09) |\n| Contributors | 1 |\n| Issues closed, last 90 days | 0+ |\n| Pull requests merged, last 90 days | 99 (typically merged in 0 days) |\n| Project age | 6 months |\n\nChecked on 2026-10-09 with the GitHub API.\n\n## Project Facts\n\n- Language: Kotlin\n- License: Apache-2.0\n- Stars: 35\n- Forks: 0\n- Topics: ai, jvm-ai, kotlin-ai, sovereign-ai, structured-ai, typed-ai\n- Archived: no\n\n## What You Need\n\nDetected in the repository:\n\n- Java (JVM) (from Gradle)\n- Automated checks on GitHub Actions\n\n## Getting Started\n\nRun the deterministic, credential-free workflow example:\n\n```bash\ngit clone https://github.com/GionaGranchelli/tramAI.git\ncd tramAI\n./gradlew :examples:governed-workflow:run\n```\n\nSee the [README](https://github.com/GionaGranchelli/tramAI) for application setup, provider configuration, and further examples.\n\n## License in Plain Words\n\n**Apache-2.0** (permissive).\n\n- Commercial use: yes\n- Modify and redistribute: yes\n- You must keep: the license, the NOTICE file and a note of your changes\n- Share your changes: no\n- Includes an explicit patent grant from the contributors\n\nA summary, not legal advice: the LICENSE file is what applies.\n\n## Alternatives\n\n- [mcp-agent](https://osrepos.com/repo/lastmile-ai-mcp-agent): mcp-agent centers on Python agents, MCP server integrations, and composable or durable workflows rather than a Kotlin-first governed runtime.\n- [shepherd](https://osrepos.com/repo/shepherd-agents-shepherd): Shepherd focuses on supervising and replaying agent work as reversible proposals, rather than providing a general typed AI workflow runtime.\n- [bernstein](https://osrepos.com/repo/sipyourdrink-ltd-bernstein): Bernstein emphasizes declarative agent policies, isolated task execution, and replayable runs, rather than Kotlin-first typed workflows and provider routing.\n- [magic](https://osrepos.com/repo/dtyq-magic): Magic is a self-hostable platform for organizational AI workflows, with collaboration and sandboxing, rather than a Kotlin-first JVM runtime.\n\n| Project | Language | License | Stars | Status |\n|---|---|---|---|---|\n| **tramAI** | Kotlin | Apache-2.0 | 35 | New |\n| [mcp-agent](https://osrepos.com/repo/lastmile-ai-mcp-agent) | Python | Apache-2.0 | 8.6k | Quiet |\n| [shepherd](https://osrepos.com/repo/shepherd-agents-shepherd) | Python | MIT | 2.5k | New |\n| [bernstein](https://osrepos.com/repo/sipyourdrink-ltd-bernstein) | Python | Apache-2.0 | 1.4k | Active |\n| [magic](https://osrepos.com/repo/dtyq-magic) | TypeScript | NOASSERTION | 5k | Active |\n\n## Considerations\n\nThe 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.\n\nThe 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.","metrics":{"detailViews":0,"githubClicks":0},"dates":{"published":null,"modified":"2026-10-09T16:22:26.000Z"}}