pnpm + TypeScript workspace per design doc §13:
- apps/{web,api,worker} skeletons (Next.js 16, Fastify 5, BullMQ)
- packages/{core,solana,prometheus,db,config} (core has real types/DTOs;
solana/prometheus are stubs)
- programs/pyre-core placeholder (future Anchor, v1.0)
- docs/: PYRE_MVP_DESIGN (canonical), ARCHITECTURE, SECURITY, TOKEN_CLASSIFICATION
- CLAUDE.md, README, .env.example (no private-key var by design)
Skeleton + docs only — no Solana/business logic yet. All workspaces typecheck clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.4 KiB
1.4 KiB
@pyre/worker
PYRE background worker process. Skeleton only — no job logic is implemented
yet (see CLAUDE.md, §13).
Stack: Node.js worker + BullMQ + Redis (ioredis), with @pyre/db,
@pyre/config, @pyre/core, and @pyre/prometheus. AI services are API-based
only — do not run local LLMs or image models.
Responsibilities (§13)
Slow token metadata enrichment, AI generation jobs, image-prompt generation, safety checks, ticker/name collision checks, background confirmation tracking, receipt enrichment.
Job types to implement — TODO
metadata-lookup— async token metadata enrichment for scanned accounts.prometheus-generate— AI Spawn generation (name/ticker/lore/image prompt) via@pyre/prometheus.safety-check— moderation + forbidden-term + ticker/name collision checks.tx-confirmation-watch— track on-chain confirmation of submitted txs.receipt-enrichment— enrich stored cleanup receipts post-confirmation.
AI safety rules (§16)
Filter generated names/tickers/lore; avoid hate, explicit, extremist, copyrighted, impersonation, and scam-like outputs; require human approval before first launches.
Scripts
dev—tsx watch src/index.tsbuild—tsc -p tsconfig.jsontypecheck—tsc --noEmitlint/test— placeholders for now