Thank you for contributing to the Vana SDK!
# Clone your fork
git clone https://github.com/YOUR_USERNAME/vana-sdk.git
cd vana-sdk
# Install dependencies
npm install
# Build the SDK
npm run build
# Run tests
npm testFor active SDK development with hot reload:
Terminal 1: SDK Watch Mode
cd packages/vana-sdk
npm run devTerminal 2: Example Application
npm run dev:console # Comprehensive SDK demo
npm run dev:vibes # Social features demoChanges to SDK source will automatically rebuild and reflect in the example app.
The SDK includes auto-generated code from smart contracts and APIs:
npm run fetch-abis- Fetch contract ABIs from deployed contractsnpm run generate:types- Generate TypeScript types from ABIsnpm run fetch-server-types- Generate server API typesnpm run codegen:subgraph- Generate subgraph types
Generated files are in packages/vana-sdk/src/generated/ and should never be edited manually.
Run all checks:
npm run validate # Runs lint, typecheck, and tests- Strict mode enabled
- Export all public types
- Follow TSDoc conventions per DOCS_GUIDE.md
- Follow type definition patterns per TYPES_GUIDE.md
- No
anytypes without justification
- Write tests for new features
- Include both success and error cases
- Mock external dependencies
- Coverage thresholds are enforced in CI (see
vitest.config.ts)
Follow Conventional Commits:
feat(permissions): add batch permission granting
fix(storage): handle IPFS timeout correctly
docs(readme): update installation steps
test(encryption): add edge case coverage
- Fork the repository
- Create a feature branch from
main - Make your changes
- Run
npm run validate - Submit PR with clear description
- Address review feedback
- Search existing issues first
- Provide minimal reproduction
- Include error messages
- Note environment details
- DO NOT create public issues for vulnerabilities
- Email [email protected] instead
- We respond within 48 hours
When modifying public APIs:
- Update TSDoc comments following DOCS_GUIDE.md
- Update relevant examples
- Test that documentation builds correctly
- GitHub Issues: Bug reports and features
- Discord: #developers channel
- Email: [email protected]
Contributions are licensed under ISC.