Prerequisites
Node.js
Version 20.19.4 or higher
Corepack
Version 20.19.4 or higher
Pinata Account
For IPFS storage of your Ability code
Starter Kit
Clone the Vincent Starter Kit repository for quick setup
Setup
1
Clone the Starter Kit
2
Ensure Corepack is Updated
3
Run Bootstrap
- Pinata JWT: Get from Pinata after creating an account
- Test wallet private key: Fund with test tokens from the Lit Faucet
4
Verify Setup
Create Your Ability
1
Copy the Template
2
Update Package Configuration
1. Edit 2. Edit 4. Update
packages/my-ability/package.json
:packages/my-ability/project.json
:Replace all occurrences of ability-native-send
with my-ability
:"name": "my-ability"
"sourceRoot": "packages/my-ability/src"
"cwd": "packages/my-ability"
(all instances)"input": "packages/my-ability/src/generated"
"outputPath": "packages/my-ability/dist"
"main": "packages/my-ability/src/index.ts"
"tsConfig": "packages/my-ability/tsconfig.lib.json"
- All asset paths
packages/my-ability/tsconfig.lib.json
:Remove the policy-counter reference if not using it:nx.json
in repository root:Add your package to the release projects:3
Update the Main Index File
Edit
packages/my-ability/src/index.ts
:Update the comment to reflect your ability name.4
Update Jest Configuration
Edit
packages/my-ability/jest.config.js
:5
Define Your Ability Logic
Edit
packages/my-ability/src/lib/vincent-ability.ts
:6
Build and Test
7
Deploy to IPFS
8
Publish Your Ability
When you’re prepared, you can publish the Ability to
npm
. This will make it publishable
in the Vincent Registry.9
Register in Vincent Registry
See the Publishing Guide for details on registering your Ability in the Vincent Registry.
Quick Commands
pnpm nx build my-ability
- Build your Ability packagepnpm test-e2e
- Run end-to-end tests with the Vincent systempnpm nx action:deploy my-ability
- Deploy to IPFS via Pinatapnpm clean
- Remove build artifacts