Project Structure

Requirements for deploying TypeScript agents to Reminix

Your project needs three things to deploy to Reminix:

  1. Manifestpackage.json
  2. SDK — Reminix runtime or adapters installed
  3. Entrypoint — A file that calls serve()

Required Dependencies

Install the runtime or adapters package:

npm install @reminix/runtime
# or
npm install @reminix/adapters

Your package.json must include one of these:

Runtime only

{
  "dependencies": {
    "@reminix/runtime": "^0.7.0"
  }
}

With adapters (includes runtime)

{
  "dependencies": {
    "@reminix/adapters": "^0.7.0",
    "openai": "^4.0.0"
  }
}

Entry Point Detection

Reminix looks for your entry point in this order. The first match wins.

PriorityEntry PointCommand
1package.jsonscripts.startnpm start
2server.tstsx server.ts
3server.jsnode server.js
4agent.tstsx agent.ts
5agent.jsnode agent.js
6index.tstsx index.ts
7index.jsnode index.js

Using a start script

If you have a compiled project, use a start script:

{
  "scripts": {
    "build": "tsc",
    "start": "node dist/server.js"
  }
}

Reminix will run npm run build (if present) then npm start.

Minimal Project Example

my-agent/
├── package.json
└── agent.ts

package.json

{
  "name": "my-agent",
  "type": "module",
  "dependencies": {
    "@reminix/adapters": "^0.7.0",
    "openai": "^4.0.0"
  }
}

agent.ts

import { serve } from '@reminix/runtime';
import { fromOpenAI } from '@reminix/adapters';
import OpenAI from 'openai';

const client = new OpenAI();
const agent = fromOpenAI(client, 'gpt-4o');

serve(agent);

Port Requirements

Your agent must listen on port 8080. The serve() function uses this by default.

serve(agent, { port: 8080 });

Validation Errors

If your project doesn't meet the requirements, you'll see one of these errors:

ErrorCauseFix
"No package.json found"Missing manifestAdd a package.json
"Missing @reminix/runtime or @reminix/adapters"SDK not installedRun npm install @reminix/runtime
"No entrypoint found"No valid entry fileCreate server.ts, agent.ts, or index.ts

Multi-Agent Projects

For projects with multiple agents, use server.ts as the entry point:

my-project/
├── package.json
├── server.ts
└── agents/
    ├── greeter.ts
    └── calculator.ts

server.ts

import { serve } from '@reminix/runtime';
import { greeter } from './agents/greeter';
import { calculator } from './agents/calculator';

serve([greeter, calculator]);

Next Steps

On this page