![Graphic](img/Banner.png)

   Documentation    |    Contributions    |    Agent Node    |    Ember AI    |    Support Discord    |    Ember Telegram    |    𝕏   

## 🧭 Table of Contents - [📙 Introduction](#-introduction) - [🧬 Repository Architecture](#-repository-architecture) - [⚡ Quickstart](#-quickstart) - [🔧 Build Your Own Agent](#-build-your-own-agent) - [🤖 LLM Guides](#-llm-guides) - [💰 Contributions & Bounties](#-contributions--bounties) ## 📙 Introduction Welcome to Vibekit, the polyglot toolkit for vibe coding smart, autonomous DeFi agents that can perform complex on-chain operations. Whether you're automating trades, managing liquidity, or integrating with blockchain data, Vibekit makes it simple to create intelligent agents that understand natural language and execute sophisticated workflows. ### Core Features - **Agent Node Framework**: Modern config-driven framework with full A2A protocol compliance, generator-based workflows, and embedded wallet support for building production-ready autonomous agents - **Model Context Protocol (MCP)**: Standardized integration layer for connecting agents with tools and external data sources, enabling modular and extensible agent capabilities. Check out Ember's [MCP Playground](https://mcp.emberai.xyz/) to learn more - **X402 Payment Protocol**: HTTP-native payment infrastructure for autonomous agent commerce, supporting micropayments and service monetization - **Agent-to-Agent (A2A) Communication**: Built-in protocol support enabling seamless collaboration and communication between multiple agents - **EIP-8004 On-Chain Registration**: Decentralized agent identity registration following the EIP-8004 standard, enabling verifiable agent ownership, discoverability through on-chain registries, and cross-platform compatibility - **Composable DeFi Workflows**: Workflow system enabling multi-step operations with pause/resume capabilities, allowing agents to orchestrate complex DeFi strategies across protocols - **Ember Plugin System**: Modular architecture for DeFi protocols with standardized entity mapping, comprehensive type safety, and intelligent routing for optimized execution across multiple protocols Here's an overview of how everything fits together:

Vibekit Concepts Diagram

> [!NOTE] > For deeper understanding of Vibekit concepts, explore our comprehensive [lesson series](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/docs). ## 🧬 Repository Architecture Vibekit is structured as a TypeScript monorepo, with a Rust implementation on the horizon. ``` arbitrum-vibekit/ ├── development/ # Development documentation and analysis ├── img/ # Documentation images and assets ├── typescript/ # Main monorepo workspace │ ├── clients/ # Client applications │ │ └── web/ # Vibekit frontend │ ├── templates/ # Official Vibekit agent templates │ ├── community/ # Community contributions │ │ ├── agents/ # Community-contributed agent templates │ │ └── mcp-tools/ # Community MCP tool server implementations │ ├── lib/ # Core framework libraries such as MCP tools, Ember API, etc. │ │ ├── a2a-types/ # Agent-to-Agent type definitions │ │ ├── agent-node/ # Agent Node framework (v3.0+) - Config-driven A2A-compliant agents with X402 payments │ │ ├── ember-api/ # Ember AI API client │ │ ├── ember-schemas/ # Schema definitions │ │ └── test-utils/ # Testing utilities and helpers │ └── onchain-actions-plugins/ # Ember plugin system ├── CHANGELOG.md ├── CLAUDE.md ├── CONTRIBUTIONS.md ├── LICENSE └── README.md ``` ### Key Directories - **[`agent-node/`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node)**: The modern config-driven agent framework with full A2A protocol compliance, generator-based workflows, embedded wallet support, and X402 payment protocol integration for autonomous agent commerce. This is the recommended framework for building new agents. - **[`templates/`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/templates)**: Official Vibekit agent templates featuring production-ready implementations with skills, tools, hooks, and modern deployment patterns. These serve as reference implementations for building your own agents. - **[`community/`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/community)**: Community contributions including agent templates and MCP tool server implementations. This is where developers can contribute their own specialized agents and tools to expand Vibekit's ecosystem. - **[`clients/web`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/clients/web)**: Modern chat interface for interacting with AI agents, enabling Agent-to-Agent communication, workflow orchestration, and real-time messaging through an intuitive web interface. - **[`onchain-actions-plugins/`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/onchain-actions-plugins)**: The Ember Plugin System providing a registry for on-chain action plugins and smart contract integrations with extensible architecture for adding new blockchain protocols. ## ⚡ Quickstart [Agent Node](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node) is Vibekit's modern framework for building production-ready autonomous agents with no coding required. Simply chat with your agent in natural language to execute complex DeFi strategies, orchestrate multi-step operations, and communicate with other agents. Follow the steps below to get started: ### Prerequisites Before you begin, ensure you have: 1. Node.js 18+ 2. AI Provider API Key (from OpenRouter, OpenAI, xAI, or Hyperbolic) ### 1. Initialize Config Workspace > [!NOTE] > You can initialize Agent Node anywhere on your system. To take advantage of Vibekit's offered tools and capabilities, we recommend creating your agent node in the [community agent directory](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/community/agents). ```bash npx -y @emberai/agent-node@latest init ``` > [!NOTE] > During initialization, you'll be prompted with optional EIP-8004 registration configuration for on-chain agent identity. See the [Agent Node documentation](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node#on-chain-agent-registration) for details on these prompts. This creates a `config/` directory with: - `agent.md` - Base agent configuration including system prompt, model settings, A2A protocol card definition, and EIP-8004 registration details - `agent.manifest.json` - Skill composition settings - `skills/` - Directory for skill modules (includes `general-assistant.md` and `ember-onchain-actions.md`) - `workflows/` - Directory for custom workflow implementations (includes `sample-package/` and `simple-script/` examples) - `mcp.json` - MCP server registry - `workflow.json` - Workflow plugin registry - `README.md` - Config workspace documentation ### 2. Run the Server Smart-start chat mode (connects to running agent or starts new server): ```bash npx -y @emberai/agent-node@latest ``` ### 3. Time to Profit! You can now build and execute any DeFi strategy through simple conversation with the Agent Node. ## 🔧 Build Your Own Agent Once you have Agent Node running, customizing your agent is as simple as editing configuration files. Your `config/` directory contains everything needed to define your agent's personality, capabilities, and behavior. ### Key Configuration Files **`agent.md`** - Your agent's core identity and system prompt. Modify this to: - Define your agent's personality and expertise (trading specialist, yield farmer, etc.) - Set AI model preferences (OpenAI, Anthropic, xAI, etc.) - Configure A2A protocol card for agent-to-agent communication - Set up EIP-8004 on-chain registration details **`skills/`** - Modular capabilities that compose your agent's skillset: - `general-assistant.md`: Basic conversational and reasoning abilities - `ember-onchain-actions.md`: DeFi operations (swaps, lending, staking, etc.) - Add custom skills by creating new `.md` files with specific tool access **`workflows/`** - Custom multi-step operations for complex strategies: - `sample-package/`: Package-based workflow with dependencies and src/index.ts - `simple-script/`: Simple workflow without dependencies - Create package-based workflows for sophisticated DeFi automation with their own dependencies **`agent.manifest.json`**: Controls which skills and workflows are active **`mcp.json`**: Registry for Model Context Protocol servers and tools **`workflow.json`**: Registry for custom workflow plugins ### Advanced Configuration For detailed configuration options, workflow creation, and advanced features like on-chain registration, see the comprehensive [Agent Node documentation](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node). ## 🤖 LLM Guides ### `.rulesync` Configuration The `.rulesync` directory serves as the source of truth for all LLM configuration files. This system allows you to manage rules, commands, and subagents in a centralized location and automatically generate them for different AI tools: ``` .rulesync/ ├── commands/ # High-level command structures ├── subagents/ # Persona-driven specialized agents └── rules/ # Workspace-wide guidelines and best practices ``` Key Benefits: - **Single Source of Truth**: All LLM configurations managed in one place - **Automatic Generation**: Run `pnpm sync:rules` to generate files for Claude, Cursor, and other tools - **Version Control**: Track changes to AI configurations alongside code changes - **Consistency**: Ensure all AI tools follow the same guidelines and workflows To generate all LLM configuration files, run the following command: ```bash pnpm sync:rules # Files are automatically generated to: # - .claude/ (for Claude Code) # - .cursor/ (for Cursor IDE) ``` ### Claude For Claude models, prompt engineering is handled through a set of dedicated files in the [`.claude/`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/.claude) directory. These files include detailed instructions, examples, and best practices to guide LLMs in generating accurate and efficient code: - **agents/**: Contains prompts for persona-driven agents that specialize in tasks like Test-Driven Development, documentation, and feature writing. - **commands/**: Includes prompts that define high-level command structures for planning, execution, and version control. - **hooks/**: Provides scripts that can be triggered at different stages of the development lifecycle, such as pre-task and post-task actions. Additionally, [`CLAUDE.md`](https://github.com/EmberAGI/arbitrum-vibekit/blob/main/CLAUDE.md) provides comprehensive guidance for Claude Code when working with the Vibekit codebase, including architecture overview, development standards, and code quality guidelines. ### Cursor Cursor rules files are located in the [`.cursor/rules`](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/.cursor/rules) directory. These files define best practices, workflows, and workspace conventions for building and maintaining agents: - **createVibekitAgent.mdc**: A guide for creating and configuring new agents, including best practices, required dependencies, and setup instructions. - **vibeCodingWorkflow.mdc**: Outlines the step-by-step development workflow for agents, including the Planner/Executor roles, task breakdowns, and conventions for collaborative development. - **workspaceRules.mdc**: Documents workspace-wide guidelines and best practices for the monorepo, such as dependency management, development scripts, and CI/CD standards. ## 💰 Contributions & Bounties We welcome contributions from the community! If you'd like to help improve Vibekit or expand its capabilities, please check out our [contribution guidelines](https://github.com/EmberAGI/arbitrum-vibekit/blob/main/CONTRIBUTIONS.md). Certain contributions might qualify for the [Trailblazer Fund 2.0](https://www.emberai.xyz/blog/introducing-arbitrum-vibekit-and-the-trailblazer-fund-2-0) initiative launched by Arbitrum. Checkout our [contribution center](https://github.com/orgs/EmberAGI/projects/13) to get started!