- Node.js >= 22
- pnpm >= 9 (
corepack enable && corepack prepare pnpm@9.15.0 --activate) - Foundry (for smart contract development)
- Docker & Docker Compose (for integration tests)
git clone https://github.com/Flow-Link/prooflink.git
cd prooflink
pnpm install
pnpm buildCreate a branch from main using the convention:
feature/<name>— New featuresfix/<name>— Bug fixesrefactor/<name>— Code restructuringdocs/<name>— Documentation changes
pnpm build # Build all packages (topological order via Turbo)
pnpm dev # Start dev servers
pnpm test # Run all tests
pnpm lint # Lint with Biome
pnpm typecheck # TypeScript type checking
pnpm clean # Remove all build artifactsFilter by package:
pnpm --filter=@prooflink/core build
pnpm --filter=@prooflink/sdk testUse Conventional Commits:
feat(core): add sanctions screening provider
fix(sdk): handle timeout in payment verification
refactor(api): extract middleware into separate module
test(contracts): add compliance receipt edge cases
docs(readme): update setup instructions
pnpm test # All packages
pnpm --filter=@prooflink/core test # Single packagecd packages/contracts
forge test -vvvRequire Postgres and Redis:
docker compose up -d postgres redis
pnpm --filter=@prooflink/api test- Linter/Formatter: Biome (see
biome.json) - TypeScript: Strict mode everywhere, no
any - Indentation: Tabs
- Quotes: Single quotes
- Semicolons: Always
- Line width: 100 characters
Run pnpm lint before committing. CI rejects PRs that fail lint.
packages/
shared/ — Shared types, constants, and utilities
core/ — ProofLink compliance decision engine
sdk/ — TypeScript client SDK
x402-compliance/ — x402 protocol compliance middleware
mcp-server/ — MCP server for AI agent integration
contracts/ — Solidity smart contracts (Foundry)
integrations/ — External service integrations
apps/
api/ — HTTP API server
dashboard/ — Web dashboard (Next.js)
demo/ — Demo application
- One logical change per PR
- Ensure all CI checks pass (lint, typecheck, tests, build)
- Fill out the PR template
- Flag compliance impact if your change touches payment or identity flows
- Request review from maintainers
Changes to these require extra review:
packages/core/src/compliance/— Compliance engine rulespackages/x402-compliance/— x402 payment protocolpackages/contracts/src/— Smart contracts- Any code handling PII, wallet addresses, or transaction data
When modifying compliance code, document the regulatory requirement and add comprehensive test coverage.
Report vulnerabilities via email to security@prooflink.dev. Do not open a public issue.