Project Structure
Requirements for deploying TypeScript agents to Reminix
Your project needs three things to deploy to Reminix:
- Manifest —
package.json - SDK — Reminix runtime or adapters installed
- Entrypoint — A file that calls
serve()
Required Dependencies
Install the runtime or adapters package:
npm install @reminix/runtime
# or
npm install @reminix/adaptersYour 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.
| Priority | Entry Point | Command |
|---|---|---|
| 1 | package.json → scripts.start | npm start |
| 2 | server.ts | tsx server.ts |
| 3 | server.js | node server.js |
| 4 | agent.ts | tsx agent.ts |
| 5 | agent.js | node agent.js |
| 6 | index.ts | tsx index.ts |
| 7 | index.js | node 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.tspackage.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:
| Error | Cause | Fix |
|---|---|---|
| "No package.json found" | Missing manifest | Add a package.json |
| "Missing @reminix/runtime or @reminix/adapters" | SDK not installed | Run npm install @reminix/runtime |
| "No entrypoint found" | No valid entry file | Create 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.tsserver.ts
import { serve } from '@reminix/runtime';
import { greeter } from './agents/greeter';
import { calculator } from './agents/calculator';
serve([greeter, calculator]);Next Steps
- GitHub Integration — Deploy from GitHub
- Runtime Quickstart — Build your first agent
- Adapters — Use framework adapters