Skip to main content

Requirements

  • @reminix/runtime must be in your dependencies
  • Your code must call serve() to start the server
  • Must have an entrypoint file

Entrypoints

Reminix looks for these files in order:
  1. server.ts (or server.js)
  2. agent.ts (or agent.js)
  3. index.ts (or index.js)
tsx is auto-installed for .ts files, so you can use TypeScript directly without a build step.

Project Structure

my-agent/
├── server.ts       # Entrypoint — calls serve()
├── package.json
└── ...

Minimal Example

// server.ts
import { agent, serve } from "@reminix/runtime"

const myAgent = agent("my-agent", {
  type: "prompt",
  handler: async (input) => {
    return `You said: ${input.prompt}`
  },
})

serve({ agents: [myAgent] })

Package Managers

{
  "dependencies": {
    "@reminix/runtime": "latest",
    "openai": "latest"
  }
}
pnpm add @reminix/runtime openai
yarn add @reminix/runtime openai
bun add @reminix/runtime openai

What Happens When You Deploy

1

Detect

Reminix detects your TypeScript/JavaScript project and entrypoint file.
2

Build

A Docker image is built with your dependencies. tsx is auto-installed for .ts files.
3

Deploy

The container is deployed and your server starts on port 8080.
4

Discover

Reminix automatically discovers all agents and tools defined in your server.
5

Live

Your agents are accessible via the REST API and tools are available via MCP.

Environment Variables

  • Set secrets and config in the Reminix Dashboard
  • Available to your agent at runtime via process.env
  • PORT is set automatically (defaults to 8080)
Your server must listen on 0.0.0.0 (the default for serve()). Binding to localhost or 127.0.0.1 will make your agent unreachable inside the container.

With Framework Packages

If using framework integrations, add them to your dependencies:
{
  "dependencies": {
    "@reminix/runtime": "latest",
    "@reminix/openai": "latest",
    "openai": "latest"
  }
}
Then use them in your agent:
import { serve } from "@reminix/runtime"
import { OpenAIChatAgent } from "@reminix/openai"
import OpenAI from "openai"

const client = new OpenAI()
const bot = new OpenAIChatAgent(client, {
  name: "gpt-agent",
  model: "gpt-4o",
  instructions: "You are a helpful assistant.",
})

serve({ agents: [bot] })

Next steps

Deploy from GitHub

Connect your repo and ship on every push.

Configuration & Secrets

How to set environment variables and read them at runtime.

CLI Reference

reminix deploy and other command-line tools.

Troubleshooting

What to check when a deploy or invocation fails.