Skip to content

Commit 65280fa

Browse files
committed
docs: update contributing and readmes
1 parent 01c07e4 commit 65280fa

File tree

5 files changed

+172
-11
lines changed

5 files changed

+172
-11
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
## 0.1.0
4+
5+
Initial release of @lit-protocol/vincent-ability-sol-transaction-signer package.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,90 @@
11
# Contributing to Vincent Ability Solana Transaction Signer
2+
3+
This document provides guidelines for contributing to the Vincent Ability Solana Transaction Signer project.
4+
5+
## Overview
6+
7+
The Vincent Ability Solana Transaction Signer is an ability to sign transactions using a Vincent Agent Wallet and a Vincent Wrapped Key. It's part of the Vincent Abilities ecosystem and is built using the Vincent Ability SDK and the Vincent Wrapped Keys SDK.
8+
9+
## Setup
10+
11+
1. Follow the global setup instructions in the repository root [CONTRIBUTING.md](../../../CONTRIBUTING.md).
12+
2. Install dependencies:
13+
```bash
14+
pnpm install
15+
```
16+
17+
## Development Workflow
18+
19+
### Testing
20+
21+
Run tests:
22+
23+
```bash
24+
nx test ability-sol-transaction-signer
25+
```
26+
27+
### End-to-End Testing
28+
29+
Run end-to-end tests:
30+
31+
```bash
32+
nx run abilities-e2e:test-e2e packages/apps/abilities-e2e/test-e2e/solana-transaction-signer.spec.ts
33+
```
34+
35+
### Building the Lit Action
36+
37+
Build the policy:
38+
39+
```bash
40+
nx action:build ability-sol-transaction-signer
41+
```
42+
43+
### Deploying the Lit Action to IPFS
44+
45+
Building will be done automatically. Deploy the policy:
46+
47+
```bash
48+
nx action:deploy ability-sol-transaction-signer
49+
```
50+
51+
## Project Structure
52+
53+
- `src/`: Source code
54+
- `index.ts`: Main entry point
55+
56+
## Ability Development Guidelines
57+
58+
1. Use the Vincent Ability SDK to create abilities
59+
2. Define clear schemas for ability parameters
60+
3. Implement the ability lifecycle methods (precheck, execute)
61+
4. Handle errors gracefully
62+
5. Write comprehensive tests for all functionality
63+
6. Document the ability's purpose and usage
64+
65+
## Testing
66+
67+
Write unit tests for all functionality:
68+
69+
```bash
70+
pnpm test
71+
```
72+
73+
## Documentation
74+
75+
- Document the ability's purpose and usage
76+
- Update README.md when adding new features
77+
- Document the ability's parameters and behavior
78+
79+
## Pull Request Process
80+
81+
1. Ensure your code follows the coding standards
82+
2. Update documentation if necessary
83+
3. Include tests for new functionality
84+
4. Link any related issues in your pull request description
85+
5. Request a review from a maintainer
86+
87+
## Additional Resources
88+
89+
- [Vincent Documentation](https://docs.heyvincent.ai/)
90+
- [Vincent Ability SDK Documentation](../../libs/ability-sdk/README.md)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
# Vincent Ability: Solana Transaction Signer
2+
3+
## Overview
4+
5+
The Solana Transaction Signer Ability enables Vincent Apps to sign Solana transactions on behalf of Vincent Users using their Vincent Agent Wallets and Vincent Wrapped Keys. It's part of the Vincent Abilities ecosystem and is built using the Vincent Ability SDK and the Vincent Wrapped Keys SDK.

packages/libs/wrapped-keys/CONTRIBUTING.md

Lines changed: 74 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,79 @@
22

33
This document provides guidelines for contributing to the Vincent Wrapped Keys SDK project.
44

5+
## Overview
6+
7+
The Vincent Wrapped Keys SDK exposes utilities and Lit Actions for managing Wrapped Keys for the Vincent ecosystem.
8+
59
## Setup
610

7-
1. Follow the global setup instructions in the repository root [CONTRIBUTING.md](../../../CONTRIBUTING.md).
8-
2. Install dependencies:
9-
```bash
10-
pnpm install
11-
```
11+
Follow the global setup instructions in the repository root [CONTRIBUTING.md](../../../CONTRIBUTING.md).
12+
13+
## Development Workflow
14+
15+
### Building
16+
17+
Build the SDK:
18+
19+
```bash
20+
nx build wrapped-keys
21+
```
22+
23+
## Project Structure
24+
25+
- `src/`: Source code
26+
- `lib/`: Core library code
27+
- `api/`: public API functions for calling the wrapped keys service
28+
- `constants.ts`: Shared constants
29+
- `lit-actions/`: Lit Actions for wrapped keys operations
30+
- `lit-actions-client/`: Client for interacting with Lit Actions
31+
- `service-client/`: wrapped keys service client for executing delegated lambdas
32+
- `types.ts`: TypeScript type definitions
33+
34+
## SDK Development Guidelines
35+
36+
1. Maintain strong TypeScript typing throughout the codebase
37+
2. Use Zod for schema validation
38+
3. Design APIs that are intuitive and easy to use
39+
4. Provide comprehensive documentation for all public APIs
40+
5. Write unit tests for all functionality
41+
6. Ensure backward compatibility when making changes
42+
43+
## Documentation
44+
45+
- Document all public APIs with JSDoc comments
46+
- Update README.md when adding new features
47+
- Provide examples for common use cases
48+
49+
## Pull Request Process
50+
51+
1. Ensure your code follows the coding standards
52+
2. Update documentation if necessary
53+
3. Include tests for new functionality
54+
4. Link any related issues in your pull request description
55+
5. Request a review from a maintainer
56+
57+
## For AI Editors and IDEs
58+
59+
When working with AI-powered editors like Cursor, GitHub Copilot, or other AI assistants in this project directory, please note:
60+
61+
### Context Priority
62+
63+
1. **Primary Context**: When working within the wrapped-keys project directory, AI editors should prioritize this CONTRIBUTING.md file and the project's README.md for specific guidance on the Wrapped Keys SDK.
64+
65+
2. **Secondary Context**: The root-level CONTRIBUTING.md and README.md files provide important context about how this SDK fits into the broader Vincent ecosystem.
66+
67+
### Related Projects
68+
69+
The Wrapped Keys SDK is a core component that is used by:
70+
71+
- `ability-sol-transaction-signer`: For implementing Solana transaction signing abilities
72+
73+
When working on Wrapped Keys SDK code, consider these consumers for context, and focus on maintaining backward compatibility and strong type safety.
74+
75+
## Additional Resources
76+
77+
- [Vincent Documentation](https://docs.heyvincent.ai/)
78+
- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
79+
- [Zod Documentation](https://zod.dev/)
80+
- [Lit Protocol Wrapped Keys Documentation](https://developer.litprotocol.com/user-wallets/wrapped-keys/overview)

packages/libs/wrapped-keys/README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ This package provides wrapped keys functionality for the Vincent protocol.
1212

1313
## Development
1414

15-
### Type Testing
16-
17-
Run `npm run watch:type-tests` to watch for type changes and run type tests automatically.
18-
19-
Run `npm run typecheck` to run type tests once.
20-
2115
### Documentation
2216

2317
Documentation is generated using TypeDoc. Build the docs with the appropriate Nx command.

0 commit comments

Comments
 (0)