Contributor Guide
Welcome to the Eliza contributor guide! This document is designed to help you understand how you can be part of building the future of autonomous AI agents, regardless of your technical background.
The OODA Loop: A Framework for Contribution
We believe in the power of the OODA Loop - a decision-making framework that emphasizes speed and adaptability. OODA stands for:
- Observe: Gather information and insights about the project, the community, and the broader AI ecosystem.
- Orient: Analyze your observations to identify opportunities for contribution and improvement.
- Decide: Choose a course of action based on your analysis. This could be proposing a new feature, fixing a bug, or creating content.
- Act: Execute your decision and share your work with the community.
By internalizing the OODA Loop, you can quickly identify areas where you can make a meaningful impact and drive the project forward.
How to Contribute
For Developers
-
Extend Eliza's Capabilities
- Develop new actions, evaluators, and providers to expand what Eliza agents can do.
- Improve existing components and modules.
-
Enhance Infrastructure
- Go through open issues, send back a PR if you can improve anything.
- Test currently documented steps to ensure they're still up to date.
- Optimize Eliza's database architecture and performance.
- Contribute to the autonomous trading system and trust engine.
- Improve deployment and scaling solutions.
-
Implement Integrations
- Build connectors for new platforms and services.
- Enhance existing integrations with additional features.
For AI Enthusiasts
-
Fine-tune Models
- Experiment with fine-tuning models for specific tasks and domains.
- Develop best practices for prompt engineering and model selection.
-
Develop Characters
- Create compelling character files that showcase Eliza's potential.
- Curate knowledge bases and datasets for different use cases.
Non-Technical Contributions
-
Create Content
- Make memes, stickers, emojis, and clips of AI agents that are deployed.
- Write tutorials, guides, and blog posts to help others learn about Eliza.
- Produce videos showcasing Eliza's capabilities and real-world applications.
-
Engage the Community
- Participate in discussions on Discord, Twitter, and other platforms.
- Help answer questions and provide support to other community members.
- Organize events, workshops, and hackathons to bring people together.
-
Spread the Word
- Share the Eliza project and help attract new contributors.
- Participate in one of our upcoming demo days, show and tell your project.
Tips for Efficient Contribution
- Use tools like OBS and Whisper to record and transcribe your work sessions. This allows you to easily document your process and share insights with the community.
- Leverage AI assistants to help with tasks like code generation, document summarization, and content creation.
- Collaborate with other community members to divide and conquer larger initiatives.
Contributing Guidelines
We value structured and clear contributions to ensure the project evolves efficiently. Below are the guidelines for submitting your contributions:
Pull Request (PR) Title Format
Use the following format for PR titles to maintain consistency and clarity:
feat|fix|docs|style|refactor|test|chore: title
Pull Request Description Template
When submitting a PR, use this template to ensure all relevant details are included:
<!-- Use this template by filling in information and copy and pasting relevant items out of the html comments. -->
# Relates to:
<!-- LINK TO ISSUE OR TICKET -->
<!-- This risks section is to be filled out before final review and merge. -->
# Risks
<!--
Low, medium, large. List what kind of risks, and what could be affected.
-->
# Background
## What does this PR do?
## What kind of change is this?
<!--
Bug fixes (non-breaking change which fixes an issue)
Improvements (misc. changes to existing features)
Features (non-breaking change which adds functionality)
Updates (new versions of included code)
-->
<!-- This "Why" section is most relevant if there is no linked issue explaining why. If there is a related issue it might make sense to skip this why section. -->
<!--
## Why are we doing this? Any context or related work?
-->
# Documentation changes needed?
<!--
My changes do not require a change to the project documentation.
My changes require a change to the project documentation.
If a docs change is needed: I have updated the documentation accordingly.
-->
<!-- Please show how you tested the PR. This will really help if the PR needs to be retested, and probably help the PR get merged quicker. -->
# Testing
## Where should a reviewer start?
## Detailed testing steps
<!--
None, automated tests are fine.
-->
<!--
- As [anon/admin], go to [link]
- [do action]
- verify [result]
-->
<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->
<!--
## Screenshots
### Before
### After
-->
<!-- If there is anything about the deploy, please make a note. -->
<!--
# Deploy Notes
-->
<!-- Copy and paste command-line output. -->
<!--
## Database changes
-->
<!-- If there is something more than the automated steps, please specify deploy instructions. -->
<!--
## Deployment instructions
-->
<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for contribute role and join us in #development-feed -->
<!--
## Discord username
-->
Recognition and Rewards
We believe in recognizing and rewarding contributors who go above and beyond to drive the project forward. Contributors are eligible for direct communication with a16z devs on Discord through a "Github - Contributors" role when their pull request (PR) with their Discord username attached is merged.
Stand-out contributions may be eligible for:
- Grants from the ai16z Creator Fund
- Featuring your project across various channels
- Opportunities to shape the direction of the project
Note: we're still finalizing details on the creator/dev fund that seeks to retroactively reward valued contributions to the ecosystem.
Getting Started
- Join the Eliza Discord and make a short introduction.
- Explore the documentation to understand the project's architecture and capabilities.
- Check out the open issues on GitHub to find ways to contribute.
- Share your ideas and initiatives with the community - we're excited to see what you'll build!
Lets push the boundaries of what's possible with autonomous AI agents. Welcome aboard!