executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
building-agentsCore XMTP Agent SDK setup and patterns. Use when creating new agents, handling messages, setting up middleware, or configuring environment variables. Triggers on agent setup, XMTP configuration, message handling, or middleware implementation.
Independent GitHub snapshot · Automated classification · Original documentation governs
Build event-driven, middleware-powered messaging agents on the XMTP network using the @xmtp/agent-sdk.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Setup | CRITICAL | setup- |
| 2 | Events | HIGH | events- |
| 3 | Middleware | MEDIUM | middleware- |
| 4 | Filters | MEDIUM | filters- |
setup-environment - Configure environment variables for agentsetup-from-env - Create agent using Agent.createFromEnv()setup-manual - Manual agent creation with signerevents-text - Handle text messagesevents-lifecycle - Handle start/stop eventsevents-conversation - Handle new DM and group conversationsevents-message-types - Handle different message types (reaction, reply, attachment)middleware-basics - Create and register middlewaremiddleware-error-handling - Handle errors in middleware chainmiddleware-command-router - Use CommandRouter for slash commandsfilters-message-types - Filter by message typefilters-sender - Filter out self-messagesnpm install @xmtp/agent-sdk
# or
yarn add @xmtp/agent-sdk
import { Agent } from "@xmtp/agent-sdk";
import { getTestUrl } from "@xmtp/agent-sdk/debug";
// Create agent using environment variables
const agent = await Agent.createFromEnv();
// Handle text messages
agent.on("text", async (ctx) => {
await ctx.conversation.sendText("Hello from my XMTP Agent!");
});
// Log when ready
agent.on("start", () => {
console.log(`Agent online: ${getTestUrl(agent.client)}`);
});
await agent.start();
| Variable | Purpose | Example |
|---|---|---|
XMTP_WALLET_KEY | Private key for wallet | 0x1234...abcd |
XMTP_DB_ENCRYPTION_KEY | Database encryption key | 0xabcd...1234 |
XMTP_ENV | Network environment | dev or production |
XMTP_DB_DIRECTORY | Database directory | ./data |
Read individual rule files for detailed explanations:
rules/setup-environment.md
rules/events-text.md
rules/middleware-basics.md