@ftarganski/omni-aiMIT · TypeScript

A provider-agnostic AI agent framework.

Configure any LLM provider (Anthropic, OpenAI, Copilot, Gemini, Groq, Ollama or self-hosted) and compose reusable agents for your projects — all via CLI or a programmatic API.

v1.1.10stable on npm
21 agentsready to use
6+ providersno lock-in
≥80%coverage · ~296 tests
zsh — omni-ai
$ npm install -g @ftarganski/omni-ai
$ omni init
✓ provider configured · anthropic / claude-sonnet-4-6
$ cd meu-projeto
$ omni run backend-dev "crie o módulo de pedidos"
# skills always operate in the project directory (cwd)
explore what omni-ai does
// 01 · features

Everything an agent framework needs

Swappable providers, specialized agents, sandboxed skills and persistent memory — in a single package.

Multi-provider

Anthropic, OpenAI, GitHub Copilot, Gemini, Groq, Ollama and custom endpoints via a factory registry.

21 ready agents

Backend, Frontend, UX and QA with domain orchestration — from schema to tests.

20+ skills

Filesystem, code search, Git, HTTP and accessibility audits — always inside the cwd.

Persistent memory

SQLite-backed sessions with semantic search via embeddings across multiple runs.

Agentic loop

Iterative LLM + tool-use cycle with configurable iterations and context compaction.

CLI & API

Command line (run, chain, serve, watch, eval) plus a programmatic JavaScript runtime.

Real-time streaming

Tokens streamed live via the CLI --stream flag or the local server's SSE endpoint.

MCP support

Expose skills as Model Context Protocol tools for other clients.

// 02 · providers

Pick the provider, keep the code

The same agent definition runs on any provider. Switch via config — no API key is ever hardcoded.

ProviderAnthropic
ModelsClaude Opus · Sonnet · Haiku
AuthenticationANTHROPIC_API_KEY
ProviderOpenAI
ModelsGPT-4o · o1 · o3-mini
AuthenticationOPENAI_API_KEY
ProviderGitHub Copilot
Modelsgpt-4o
AuthenticationGITHUB_TOKEN
ProviderGoogle Gemini
ModelsGemini 2.0 Flash · 1.5 Pro
AuthenticationGOOGLE_API_KEY
ProviderGroq
ModelsLlama 3.3 70B
AuthenticationGROQ_API_KEY
ProviderOllama
ModelsLlama 3.2 · local
Authentication
ProviderCustom
ModelsAzure · vLLM · LM Studio
Authentication

// Ollama runs local models with no key. Custom covers Azure, vLLM and LM Studio via a configurable endpoint.

// 03 · agent catalog

Specialized agents by domain

Each agent is a YAML definition with its own system prompt and skills. Orchestrators chain the rest.

Backend

7
  • backend-devOrchestrator — full NestJS feature: schema → service → resolver → listeners → tests
  • backend-schemaDynamoDB OneTable schema with defineSchema()
  • backend-serviceNestJS service with CRUD, events, error helpers and caching
  • backend-resolverGraphQL resolver with federation pattern + SDL
  • backend-listenerEvent listeners with @OnEventCatcher
  • backend-testJest integration tests against real local DynamoDB
  • backend-atom-appAtom framework connectors (sessions, ARNs, message routing)

Frontend

5
  • frontend-devOrchestrator — full React feature: route → components → hooks
  • frontend-ui-componentPrimitive UI components in shadcn/ui style with CVA + Radix
  • frontend-module-componentFeature components wired to data (TanStack Query)
  • frontend-page-routeTanStack Router pages with responsive layouts
  • frontend-custom-hookTyped, SSR-safe custom React hooks

UX

5
  • ux-leadOrchestrator — 10-dimension UX audit, fixes critical issues and documents the rest
  • ux-reviewerDetailed UX review with findings by severity (Critical / Moderate / Low)
  • ux-statesState components: Skeleton, Empty, Error and Success
  • ux-formsForms with validation, autocomplete, accessibility and loading
  • ux-motionMicro-interactions and transitions with mandatory motion-safe:

QA

4
  • qa-leadOrchestrator — classifies files, delegates to specialists and issues a merge verdict
  • qa-frontendValidates React/TS: imports, Tailwind tokens, responsiveness, accessibility
  • qa-uxValidates UX: feedback states, forms, motion and content tone
  • qa-backendValidates NestJS: services, resolvers, GraphQL schema, listeners and tests
// 04 · usage

From the command line to the runtime

Run an agent, chain a pipeline, or embed the runtime in your own code.

omni run — single agent
$ omni run frontend-dev "página de pedidos"
$ omni run qa-lead "valide src/orders/" --verbose
# memória SQLite entre runs
$ omni run backend-dev "continue" --session dev:orders
The --session flag enables SQLite memory across runs.
omni chain / serve
$ omni chain "módulo orders" \
backend-schema backend-dev qa-backend
# pipeline: saída de um vira entrada do próximo
$ omni serve --port 3000 # REST + SSE
Agent pipeline or an HTTP server with REST and SSE.
API — createRuntime
import { createRuntime } from "@ftarganski/omni-ai";
const runtime = await createRuntime({ skills });
const result = await runtime.run(
"backend-dev", "crie o módulo de clientes"
);
Programmatic runtime with injectable skills and memory.
API — parallel
import { parallel } from "@ftarganski/omni-ai";
const results = await parallel(runtime, {
agents: ["backend-dev", "qa-backend", "ux-reviewer"],
input: "revise o módulo orders",
});
Run multiple agents in parallel over the same input.
// 05 · why use it

A framework for teams that want AI agents under control.

omni-ai brings agent orchestration into your stack without tying you to a provider: sandboxed skills, persistent memory and declarative YAML definitions. From CLI to programmatic runtime, it's built for real TypeScript monorepos.

21
specialized agents ready to use, across four domains.
6+
providers supported, from Claude to local Ollama.
≥80%
test coverage, ~296 tests in CI.
// highlights
  • Zero hardcoded API keys — environment-variable substitution throughout.
  • Path traversal protection on every filesystem operation.
  • Semantic search across multi-turn conversation memory.
  • CI/CD on GitHub Actions: lint → build → test → publish.