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>
This commit is contained in:
2026-05-31 02:20:55 +00:00
parent e86b57e00f
commit c20094ab56
65 changed files with 13834 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
# 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.