Welcome to the technical documentation for developing additional project modules for the HeyAnon AI Chatbot.
- Introduction
- Requirements
- Architecture and Design
- Action Functions Implementation Guide
- Getter Functions Implementation Guide
- Tools Implementation Guide
- Module README Guidelines
- Conclusion
- Additional Resources
To create a new module, use the provided bash script:
cd scripts
chmod +x create-module.sh
./create-module.sh <module-name> "<description>" "<chains>"
Parameters:
module-name
: Name of your module (e.g., "example-protocol")description
: Short description of your module in quoteschains
: Comma-separated list of supported chains in quotes (e.g., "ETHEREUM,ARBITRUM")
Example:
./create-module.sh example-protocol "Integration with Example Protocol" "ETHEREUM,ARBITRUM"
cd projects/example-protocol
yarn install
The script will create:
- Module directory structure in projects folder:
abis/
- for contract ABIsfunctions/
- for action and getter functions- Configuration files (index.ts, tools.ts, etc.)
- Basic README.md with template documentation
- Git repository initialization
- Package.json with correct naming
After creation, follow the printed instructions to complete module setup.
All modules must be placed in the projects directory. This ensures consistent organization and easier maintenance of the codebase.
- Fork the repository
- Create a new branch for your module:
git checkout -b feature/module-name
- Create your module using the provided script
- Implement required functionality following the guides
- Test your implementation thoroughly
- Create documentation for your module
- Ensure your code follows the project's coding standards
- Update the documentation as needed
- Create a Pull Request with:
- Clear description of the module's functionality
- List of supported chains
- Any special configuration requirements
- Test results or coverage reports
- Wait for review from maintainers
- Use TypeScript for all implementations
- Follow existing code style and formatting
- Include proper error handling
- Add comprehensive comments
- Ensure type safety
- Test all functions with different input scenarios
- Verify error handling
- Test on all supported networks
Available networks for integration:
- ETHEREUM (Ethereum Mainnet, 1)
- BSC (BNB Smart Chain, 56)
- KAVA (Kava EVM, 2222)
- BASE (Base, 8453)
- IOTA (IOTA EVM, 1074)
- AVALANCHE (Avalanche C-Chain, 43114)
- ARBITRUM (Arbitrum One, 42161)
- SONIC (Sonic, 146)
- SEPOLIA (Ethereum Testnet Sepolia, 11155111)
- ONE_SEPOLIA (Arbitrum Sepolia Testnet, 421614)