First off, thanks for taking the time to contribute! π
Claw Wallet is an open-source project, and we welcome contributions from everyone. Whether you're fixing a bug, adding a feature, improving documentation, or just asking questions β you're helping make this project better.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Pull Request Process
- Coding Standards
- Community
This project follows our Code of Conduct. By participating, you're expected to uphold this code. Please report unacceptable behavior to conduct@clawwallet.io.
Found a bug? Please open an issue with:
- A clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Your environment (Node.js version, OS, etc.)
Have an idea? Open a feature request with:
- A clear description of the feature
- Why it would be useful
- Possible implementation approach (if you have one)
Documentation improvements are always welcome! This includes:
- Fixing typos or unclear explanations
- Adding examples
- Improving API documentation
- Translating documentation
We love PRs! See Pull Request Process below.
- Node.js 18+
- npm or bun
- Git
- (Optional) PostgreSQL
- (Optional) Redis
# 1. Fork the repository on GitHub
# 2. Clone your fork
git clone https://github.com/YOUR_USERNAME/Claw-wallet.git
cd Claw-wallet/agent-wallet-service
# 3. Install dependencies
npm install
# 4. Create a branch for your changes
git checkout -b feature/my-awesome-feature
# 5. Make your changes and test
npm test
# 6. Commit your changes
git commit -m "feat: add my awesome feature"
# 7. Push to your fork
git push origin feature/my-awesome-feature
# 8. Open a Pull Request# Run all tests
npm test
# Run specific test suites
npm run test:wallet
npm run test:auth
npm run test:policy
# Run with coverage
npm run test:coverageWe use standard JavaScript conventions:
# Check code style
npm run lint
# Fix style issues automatically
npm run lint:fix- Test your changes: Make sure all tests pass
- Update documentation: If you change behavior, update the README
- Add tests: New features should include tests
- One feature per PR: Keep PRs focused
- Tests pass (
npm test) - Code style is correct (
npm run lint) - Documentation updated (if needed)
- Commit messages are clear
- PR description explains the change
We follow Conventional Commits:
feat: add support for Avalanche chain
fix: resolve balance calculation bug
docs: update API examples
test: add tests for policy engine
refactor: simplify wallet creation logic
chore: update dependencies
- Maintainers will review your PR
- We may ask for changes β this is normal!
- Once approved, we'll merge it
- Your contribution will be in the next release π
- Use ES modules (
import/export) - Use
constandlet, nevervar - Use async/await over callbacks
- Handle errors properly with try/catch
- Add JSDoc comments for public functions
/**
* Creates a new wallet for an AI agent
* @param {string} agentName - Name of the agent
* @param {string} chain - Blockchain to create wallet on
* @returns {Promise<Wallet>} The created wallet
*/
export async function createWallet(agentName, chain) {
// Implementation
}- Follow PEP 8 style guide
- Use type hints
- Write docstrings for all public functions
- Use async/await for async functions
async def create_wallet(
agent_name: str,
chain: str = "base-sepolia"
) -> Wallet:
"""Create a new wallet for an AI agent.
Args:
agent_name: Name of the agent
chain: Blockchain to create wallet on
Returns:
The created wallet object
"""
passclaw-wallet/
βββ agent-wallet-service/ # Main Node.js backend
β βββ src/
β β βββ index.js # Entry point
β β βββ routes/ # API handlers
β β βββ services/ # Business logic
β β βββ middleware/ # Auth, validation
β β βββ repositories/ # Data access
β βββ tests/ # Test suites
β βββ docs/ # API docs
β
βββ agent-wallet-service-python/ # Python SDK
β βββ claw_wallet/
β
βββ agent-wallet-service-dashboard/ # React UI
- π¬ GitHub Discussions - Ask questions, share ideas
- π GitHub Issues - Bug reports and feature requests
- β Star the repo to show your support
- π Watch the repo for updates
- π΄ Fork it and make it your own
Contributors are recognized in:
- Our CONTRIBUTORS.md file
- Release notes for significant contributions
- GitHub's contributor graph
Feel free to open a Discussion or reach out:
- Email: hello@clawwallet.io
- GitHub: @Vibes-me
Thank you for contributing! π¦β€οΈ
Every contribution, no matter how small, makes a difference.