Skip to main content
Glama
README.md
# AgentLater

Let an AI agent make an HTTP request later, and check whether it happened.

The specs are [PRODUCT.md](docs/spec/PRODUCT.md) (what it does), [ARCHITECTURE.md](docs/spec/ARCHITECTURE.md)
(how it's built) and [DESIGN.md](docs/spec/DESIGN.md) (how it should feel, to agents and to people). The pre-rebuild implementation was removed at
cutover; it is in git history before this change.

## Layout

| Path | What | Stack |
| --- | --- | --- |
| `apps/api` | Private task API: ledger, scheduling, delivery | Rust · workers-rs |
| `apps/gateway` | Public entry for agents: Agent Auth, capabilities, MCP | TypeScript Worker |
| `apps/web` | agentlater.io landing, docs and payment page | Next.js · OpenNext |
| `apps/receiver` | Staging-only fixture the journey delivers to | TypeScript Worker |
| `crates/core` | Task domain, no Cloudflare deps | Rust |
| `crates/egress` | Destination policy and request signing | Rust |
| `packages/contracts` | Capability definitions, and the OpenAPI contract between gateway and API | TypeScript · OpenAPI 3.1 |
| `packages/tsconfig` | Shared TypeScript config | |
| `plugins/agentlater` | Claude Code plugin: the hosted MCP server and an `agentlater` skill | Markdown · JSON |
| `plugins/runlater` | The old plugin, deprecated and frozen so existing installs keep working | Markdown · JSON |

Everything deploys to Cloudflare Workers, with `staging` and `production` environments in each app's `wrangler.jsonc` (`apps/receiver` has staging only); see [docs/DEPLOY.md](docs/DEPLOY.md).

## Develop

Requires Rust (pinned in `rust-toolchain.toml`), Node 22+, and `cargo install worker-build --version 0.8.7 --locked`.

```bash
npm install
```

```bash
cargo test && npm run typecheck && npm test
```

```bash
npm run dev -w @runlater/gateway
```

```bash
npm run dev -w @runlater/web
```

## License

The code is [MIT](LICENSE). Using the hosted service at agentlater.io is covered by its [Terms of Service](https://agentlater.io/terms) and [Privacy Policy](https://agentlater.io/privacy).