nvm use && corepack enable && pnpm install && pnpm buildpnpm test --run # All tests
pnpm test:<package> --run # Package: types, core, client, react, cli
pnpm vitest --run --project <project> <file> -t "<test-name>" # Specific test| Package | Purpose |
|---|---|
@aave/graphql |
GraphQL queries, fragments, types |
@aave/client |
TypeScript client actions (imperative API) |
@aave/react |
React hooks (declarative API) |
@aave/types |
Shared TypeScript types |
@aave/core |
Core SDK functionality |
@aave/cli |
Command-line tools |
Key concepts:
- Actions (
packages/client/src/actions/): Imperative functions for GraphQL queries - Hooks (
packages/react/src/): React hooks wrapping actions with state management - Imperative read hooks (
use[X]Action): Usecache-firstpolicy, exceptusePreviewAction,useExchangeRateAction, and swap quote hooks which usenetwork-only
When updating GraphQL queries, update corresponding actions. Only update hooks if explicitly requested.
Use Claude /schema-update skill. See .claude/skills/schema-update/SKILL.md.
Commits: conventional format (fix:, feat:, chore:), no Co-Authored-By trailers.
Changesets: Create manually in .changeset/ (e.g., adjective-noun-verb.md):
---
"@aave/graphql": patch
"@aave/client": patch
"@aave/react": patch
---
**fix:** description using `backticks` for code references
patch= bug fix,minor= feature,major= breaking change- Always include
@aave/clientand@aave/reactwhen changing their dependencies (@aave/graphql,@aave/types,@aave/core) - One-line description only, bold type prefix (
**fix:**)
Snapshot releases publish packages for testing without updating the real versions. They are triggered manually.
Published versions follow the format 0.0.0-<tag>-<timestamp> (e.g. 0.0.0-snapshot-20260427120000).
To trigger a snapshot:
- Create changesets as normal for the changes you want to test
- Manually trigger the workflow, optionally specifying a dist-tag (default:
snapshot)
To install a snapshot:
pnpm add @aave/client@snapshot # latest snapshot tag
pnpm add @aave/client@0.0.0-snapshot-20260427120000 # specific versionDo not merge the changeset version bump produced by the snapshot workflow back into any branch.