An open API service indexing awesome lists of open source software.

https://github.com/aave/aave-v4-sdk

The official SDK for Aave V4 👻.
https://github.com/aave/aave-v4-sdk

Last synced: 27 days ago
JSON representation

The official SDK for Aave V4 👻.

Awesome Lists containing this project

README

          

# Aave SDK

The official SDK for Aave V4 👻.

## Table of Contents

- [Development Workflow](#development-workflow)
- [Claude Code Integration](#claude-code-integration)
- [Contributing](#contributing)
- [License](#license)

## Development Workflow

This section is for developers who want to contribute to the SDK.

### Initial Setup

Clone the repository:

```bash
git clone https://github.com/aave/aave-sdk.git
```

Install the dependencies:

```bash
pnpm install
```

### Pre-requisites:

- Node.js: >= v22. See [installation guide](https://nodejs.org/en/download/package-manager).
- pnpm: v9.15.4. See [installation guide](https://pnpm.io/installation).

Use [nvm](https://github.com/nvm-sh/nvm) to manage your Node.js versions. Run the following command in the project root folder:

```bash
nvm use
```

to switch to the correct Node.js version.

Enable [corepack](https://www.totaltypescript.com/how-to-use-corepack) to use the the correct version of `pnpm`.

Run the following command in the project root folder:

```bash
corepack install
```

to install the correct version once. After that corepack will automatically use the correct version of `pnpm` when entering the project folder.

Create a `.env` file copying the `.env.example` file:

```bash
cp .env.example .env
```

Update the `.env` file with the correct values.

### Usage

Run the tests:

- `pnpm test`: Run unit and integration tests `@aave/client` and `@aave/react` packages.
- `pnpm spec`: Run the acceptance tests for the `@aave/spec` package.

Lint the code:

```bash
pnpm lint
```

Compile the code:

```bash
pnpm build
```

Clean the build:

```bash
pnpm clean
```

Create a new package:

```bash
pnpm new:package
```

### IDE Setup

The project uses [Biome](https://biomejs.dev/) to format and lint the code. You can install the Biome extension for your IDE: https://biomejs.dev/guides/editors/first-party-extensions/

## Claude Code Integration

This project includes [Claude Code](https://docs.anthropic.com/en/docs/claude-code) configuration for AI-assisted development.

### Skills

Skills are workflows that Claude Code can execute when invoked:

- `/publish` - Manually publishes SDK packages to npm. Handles version bumping, authentication, and git tags.
- `/schema-update` - Updates GraphQL schema from local or staging API server. Handles document updates, enum definitions, and input types.

### Agents (WIP)

> [!WARNING]
> These agents are experimental and under active development.

Custom agents are specialized Claude configurations for specific tasks:

- **reviewer** - Reviews SDK code for quality, DX, and API design. Evaluates React hooks, TypeScript utilities, and GraphQL fragments.
- **engineer** - Implements SDK features with focus on DX and API ergonomics. Handles client actions, React hooks, and type-safe interfaces.

## Contributing

We welcome contributions to the Aave SDK! If you're interested in contributing, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them with clear messages.
4. Push your changes to your fork.
5. Open a pull request against the `main` branch of the original repository.
6. Ensure your code adheres to the project's coding standards and passes all tests.
7. Wait for code review and address any feedback provided by the maintainers.

If you have a pressing issue or feature request, please open an issue on GitHub.
A lot of the abstraction is in the API so somethings could be out of scope in the SDK but we are happy to discuss it on the GitHub issues.

## License

Aave SDK is [MIT licensed](./LICENSE).