1.2 KiB
1.2 KiB
AGENTS.md
Dev Commands
pnpm dev # Run with tsx (src/gadget-drone.ts)
pnpm build # Compile TypeScript to dist/
pnpm start # Run built code (dist/gadget-drone.js)
Requirements
- Redis must be running (configure via
GADGET_REDIS_HOST,GADGET_REDIS_PORT) - Platform credentials required in
.env:GADGET_PLATFORM_URLGADGET_PLATFORM_KEY
Architecture
- Entry:
src/gadget-drone.ts- extendsGadgetProcess, registers with platform, attaches to Bull queue - Services:
AgentService,PlatformServiceinsrc/services/ - Queue: Bull queue named
gadget-drone, job typeprompt
Build
tsc with module: NodeNext outputs to dist/. ES modules only.
Tests
None configured (pnpm test exits with error).
GadgetId
All entity IDs use GadgetId (a string alias) from @gadget/api:
import { GadgetId } from "@gadget/api";
// Use GadgetId for all ID fields
const registrationId: GadgetId = "abc123...";
Schema _id pattern (for Mongoose models):
_id: { type: String, default: () => nanoid() }
Never add unique: true or required: true to _id — MongoDB handles this automatically.
See docs/gadget-id.md for full documentation.