Skip to main content

aixyz dev

Start a local development server with hot reload:
aixyz dev            # port 3000
aixyz dev -p 4000    # custom port
The dev command:
  • Spawns a Bun worker process serving your agent
  • Watches app/ and aixyz.config.ts for file changes (100ms debounce)
  • Auto-generates a server from app/agent.ts + app/tools/ unless app/server.ts exists
  • Serves on http://localhost:3000 by default
Changes to files in app/tools/ are picked up automatically — no need to restart manually.

aixyz build

Bundle your agent for production deployment:
aixyz build

Build Pipeline

  1. Validates config from aixyz.config.ts via @aixyz/config (baked into bundle)
  2. Runs Bun build plugins:
    • AixyzConfigPlugin — Materializes resolved config into the bundle, replacing aixyz/config imports
    • AixyzServerPlugin — Auto-generates server.ts from app/ structure if no app/server.ts exists
  3. Bundles with Bun.build() targeting Bun Runtime
  4. Copies public/ and app/icon.png as static assets

Output Formats

FormatFlagOutput PathDescription
Standalone(default).aixyz/output/server.jsSingle-file bundle, run with bun
VercelVERCEL=1 or --output vercel.vercel/output/Build Output API v3 for serverless
Standalone:
aixyz build
bun .aixyz/output/server.js
Vercel:
aixyz build --output vercel
The VERCEL=1 environment variable is automatically set by Vercel during builds, so the correct mode is selected automatically on Vercel.

agently-cli register

Register an agent on the ERC-8004 IdentityRegistry:
agently-cli register --chain base-sepolia --broadcast
FlagDescription
--uriMetadata URI or local JSON file path
--chainmainnet, sepolia, base-sepolia, localhost
--rpc-urlCustom RPC endpoint
--keystoreEncrypted keystore file
--browserUse browser wallet (EIP-6963)
--broadcastSend transaction (default is dry-run)

agently-cli set-agent-uri

Update the metadata URI for a registered agent:
agently-cli set-agent-uri \
  --agent-id 1 \
  --uri "https://my-agent.vercel.app/.well-known/agent-card.json" \
  --broadcast