Files
pyre/.serena/memories/suggested_commands_and_conventions.md
RogueWave c20094ab56 chore: scaffold PYRE MVP monorepo (structure + docs)
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>
2026-05-31 02:20:55 +00:00

1.5 KiB

Commands & conventions

Toolchain (Linux, no sudo)

  • Node 22, pnpm 11.5.0 installed standalone at ~/.local/share/pnpm/bin (added to ~/.bashrc PATH; new shells get it). If pnpm not found, use ~/.local/share/pnpm/bin/pnpm or source ~/.bashrc.
  • uv/uvx at ~/.local/bin (used by the Serena MCP server).

Workspace commands (from repo root)

  • pnpm install — install all workspace deps (NOT yet run; expect first-run version fixups).
  • pnpm -r build · pnpm -r typecheck · pnpm -r test · pnpm dev (parallel dev).
  • Per package: pnpm --filter @pyre/api dev, etc.
  • lint/test are placeholder echo scripts for now.

Conventions

  • TypeScript strict; ESM only. Because base tsconfig uses verbatimModuleSyntax + moduleResolution: Bundler, relative imports need explicit .js extensions.
  • Internal deps via workspace:*. Package names @pyre/<name>.
  • Lamport/SOL amounts passed as strings in DTOs.
  • Server must recompute classification; never trust client-submitted classifications.
  • Secrets only via env (.env, never committed). There is intentionally no private-key/mnemonic env var.

First Claude Code prompts (from §20)

  1. Plan-only: "Read CLAUDE.md and docs/PYRE_MVP_DESIGN.md. Do not write code yet. Produce an implementation plan for PYRE MVP v0.1 ..."
  2. Then skeleton (already done): monorepo with pnpm workspaces. Next real work = Phase 1 (Wallet Scanner): implement scan endpoint + classification in @pyre/core/@pyre/solana, wallet-connect UI.