Skip to content

Latest commit

 

History

5,130 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent-Native: The agentic application framework

Agent-Native

Agent-Native is an open-source TypeScript framework for building agents that pair autonomous work with a purpose-built UI. Define each capability once as an action: the agent uses it as a tool, and the UI calls it from code.

Quick start

npx @agent-native/core@latest create my-agent --standalone --template chat

Follow the getting started guide for a full intro to the framework.

Why build agents with UIs?

Coding agents work with more than a text box. Their environment provides context, tools, files, tests, and previews that make their capabilities and results visible.

Knowledge work needs that same kind of environment. A UI shows what an agent can do and gives people familiar ways to inspect, edit, approve, and share its work.

How Agent-Native works

  • Shared actions. The agent calls each capability as a tool, and the UI calls it from code. Both paths use the same validation, permissions, and implementation.
  • Shared data. Work done by the agent appears in the UI, and work done in the UI is available to the agent.
  • Shared application state. The agent receives relevant UI state, such as the current page, selected record, or active view.

The agent does not click through the UI. It works through the same action layer as the UI.

Example: a shared action

Create actions/hello.ts:

import { defineAction } from "@agent-native/core/action";
import { z } from "zod";

export default defineAction({
  description: "Return a friendly greeting.",
  schema: z.object({
    name: z.string().default("world").describe("Name to greet"),
  }),
  http: { method: "GET" },
  run: async ({ name }) => {
    return { message: `Hello, ${name}!` };
  },
});

The agent receives hello as a tool. React calls the same function with useActionQuery("hello", { name: "Alex" }). Agent-Native also exposes it through HTTP, MCP, A2A, and the CLI.

Included

  • Agent chat: Let people delegate work, ask questions, and review results in the same UI.
  • Authentication and permissions: Control who can access and change shared work.
  • Skills and memory: Give agents reusable expertise and persistent context.
  • Automations: Run agent work on schedules or events.
  • Agent teams: Delegate work to specialist agents in the same workspace or across connected agents.
  • PostgreSQL backend: Use PostgreSQL in production and PGlite for local development on any Nitro-compatible host.

Bring your LLM, SQL database, tools, and infrastructure. Everything you build stays yours.

See Agent-Native in action:

Agent-Native.Demo.mp4

Open-source agents

Start from one of these agents or use it as an example for your own.

Clips

Clips app screenshot

Record and understand meetings, screens, and voice notes.

Design

Design app screenshot

Generate and refine interactive designs.

Slides

Slides app screenshot

Create and edit on-brand presentations.

Analytics

Analytics app screenshot

Ask questions of your data and build dashboards.

Calendar

Calendar app screenshot

Find time, schedule events, and manage bookings.

Mail

Mail app screenshot

Prioritize email, draft replies, and follow up.

Assets

Assets app screenshot

Create and organize on-brand media.

Content

Content app screenshot

Draft, organize, and publish content.

Explore the full app gallery, or start with the framework guide.

Documentation and community

Contributing

Working on this repository itself? See DEVELOPMENT.md for local setup, workspace structure, and guard scripts.

License

MIT

About

A framework for building agentic apps

Topics

Resources

Stars

4.7k stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages