diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f148989e85b..a62f52f5521 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,32 +15,34 @@ By contributing to Eliza, you agree that your contributions will be licensed und 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. +- **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. ## How to Contribute ### For Developers 1. **Extend Eliza's Capabilities** - - Develop new actions, evaluators, and providers - - Improve existing components and modules + + - Develop new actions, evaluators, and providers + - Improve existing components and modules 2. **Enhance Infrastructure** - - Review open issues and submit PRs - - Test and update documentation - - Optimize performance - - Improve deployment solutions -1. Fork the repo and create your branch from `main`. + - Review open issues and submit PRs + - Test and update documentation + - Optimize performance + - Improve deployment solutions + +3. Fork the repo and create your branch from `main`. 1. The name of the branch should start with the issue number and be descriptive of the changes you are making. 1. eg. 40--add-test-for-bug-123 -2. If you've added code that should be tested, add tests. -3. Ensure the test suite passes. -4. Make sure your code lints. -5. Issue that pull request! +4. If you've added code that should be tested, add tests. +5. Ensure the test suite passes. +6. Make sure your code lints. +7. Issue that pull request! ## Styleguides @@ -74,18 +76,17 @@ This section lists the labels we use to help us track and manage issues and pull - `documentation` - Issues or pull requests related to documentation. - `good first issue` - Good for newcomers. - ## Getting Help -- Join [Discord](https://discord.gg/ai16z) -- Check [FAQ](docs/community/faq.md) -- Create GitHub issues +- Join [Discord](https://discord.gg/ai16z) +- Check [FAQ](docs/community/faq.md) +- Create GitHub issues ## Additional Resources -- [Local Development Guide](docs/guides/local-development.md) -- [Configuration Guide](docs/guides/configuration.md) -- [API Documentation](docs/api) +- [Local Development Guide](docs/guides/local-development.md) +- [Configuration Guide](docs/guides/configuration.md) +- [API Documentation](docs/api) ## Contributor Guide @@ -101,19 +102,19 @@ In the interest of fostering an open and welcoming environment, we as contributo Examples of behavior that contributes to creating a positive environment include: -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior include: -- The use of sexualized language or imagery and unwelcome sexual attention or advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information without explicit permission -- Other conduct which could reasonably be considered inappropriate in a professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting #### Our Responsibilities diff --git a/docs/README.md b/docs/README.md index da88209d70b..31ac88a62ac 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,9 @@ # Eliza - Multi-agent simulation framework + # https://github.com/ai16z/eliza + # Visit https://eliza.builders for support + # dev branch Eliza Banner diff --git a/docs/docs/community/best-practices.md b/docs/docs/community/best-practices.md index 3dd4ba39d31..43224262dfb 100644 --- a/docs/docs/community/best-practices.md +++ b/docs/docs/community/best-practices.md @@ -44,4 +44,4 @@ It is imperative to run all existing tests (`pnpm test`) before creating a PR to ## Branching Strategy -All new features and bug fixes must target the `main` branch, except when they are specific to a previously released version. In such scenarios, the bug fix PR should target the respective release branch. If necessary, changes will be backported from the `main` branch to a release branch, excluding any modifications that involve consensus-breaking features or API changes. \ No newline at end of file +All new features and bug fixes must target the `main` branch, except when they are specific to a previously released version. In such scenarios, the bug fix PR should target the respective release branch. If necessary, changes will be backported from the `main` branch to a release branch, excluding any modifications that involve consensus-breaking features or API changes. diff --git a/docs/docs/community/contributing.md b/docs/docs/community/contributing.md index 496c623e574..25b1cb299a1 100644 --- a/docs/docs/community/contributing.md +++ b/docs/docs/community/contributing.md @@ -3,6 +3,7 @@ First off, thank you for considering contributing to Eliza! We welcome contributions from everyone, regardless of experience level. 🎉 ## Table of Contents + - [Contribution License Agreement](#contribution-license-agreement) - [Code of Conduct](#code-of-conduct) - [OODA Loop Framework](#the-ooda-loop-a-framework-for-contribution) @@ -30,6 +31,7 @@ We pledge to make participation in our project a harassment-free experience for ### Our Standards Positive behavior includes: + - Using welcoming and inclusive language - Being respectful of differing viewpoints - Gracefully accepting constructive criticism @@ -37,6 +39,7 @@ Positive behavior includes: - Showing empathy towards others Unacceptable behavior includes: + - Harassment of any kind - Discriminatory jokes and language - Publishing others' private information @@ -56,18 +59,19 @@ We follow the OODA Loop for decision-making: ### For Developers 1. **Development Process** + ```bash # Fork and clone git clone https://github.com/yourusername/eliza.git cd eliza - + # Create branch (include issue number) git checkout -b 123-add-new-feature - + # Make changes, test, and commit npm test git commit -m "feat: add new feature" - + # Push and create PR git push origin 123-add-new-feature ``` @@ -82,36 +86,44 @@ We follow the OODA Loop for decision-making: ## Pull Request Guidelines ### PR Title Format + ``` feat|fix|docs|style|refactor|test|chore: title ``` ### PR Template + ```markdown # Relates to: + [Link to issue] # Background + - What does this PR do? - What kind of change is this? # Testing + - How to test the changes - Screenshots (if UI changes) # Documentation + - Required documentation changes ``` ## Styleguides ### Git Commit Messages + - Use present tense ("Add feature" not "Added feature") - Use imperative mood ("Move cursor" not "Moves cursor") - Limit first line to 72 characters - Reference issues after first line ### Code Style + - JavaScript: Follow [JavaScript Standard Style](https://standardjs.com/) - TypeScript: Follow [TypeScript Standard Style](https://github.com/standard/ts-standard) - Documentation: Use [Markdown](https://daringfireball.net/projects/markdown/) @@ -119,6 +131,7 @@ feat|fix|docs|style|refactor|test|chore: title ## Recognition and Rewards Contributors can earn: + - "Github - Contributors" role on Discord - Direct communication with a16z devs - Recognition for outstanding contributions @@ -132,4 +145,4 @@ Contributors can earn: --- -Thank you for contributing to Eliza and helping build the future of autonomous AI agents! 🚀 \ No newline at end of file +Thank you for contributing to Eliza and helping build the future of autonomous AI agents! 🚀 diff --git a/packages/core/src/tests/videoGeneration.test.ts b/packages/core/src/tests/videoGeneration.test.ts index 098ee907026..ac75a17b018 100644 --- a/packages/core/src/tests/videoGeneration.test.ts +++ b/packages/core/src/tests/videoGeneration.test.ts @@ -26,36 +26,40 @@ const mockVideoGenerationPlugin = { const apiKey = runtime.getSetting("LUMA_API_KEY"); return !!apiKey; }), - handler: vi.fn().mockImplementation(async (runtime, message, state, options, callback) => { - // Initial response - callback({ - text: "I'll generate a video based on your prompt", - }); - - // Check if there's an API error - const fetchResponse = await global.fetch(); - if (!fetchResponse.ok) { - callback({ - text: "Video generation failed: API Error", - error: true, - }); - return; - } - - // Final response with video - callback( - { - text: "Here's your generated video!", - attachments: [ + handler: vi + .fn() + .mockImplementation( + async (runtime, message, state, options, callback) => { + // Initial response + callback({ + text: "I'll generate a video based on your prompt", + }); + + // Check if there's an API error + const fetchResponse = await global.fetch(); + if (!fetchResponse.ok) { + callback({ + text: "Video generation failed: API Error", + error: true, + }); + return; + } + + // Final response with video + callback( { - source: "videoGeneration", - url: "https://example.com/video.mp4", + text: "Here's your generated video!", + attachments: [ + { + source: "videoGeneration", + url: "https://example.com/video.mp4", + }, + ], }, - ], - }, - ["generated_video_123.mp4"] - ); - }), + ["generated_video_123.mp4"] + ); + } + ), }, ], }; diff --git a/packages/create-eliza-app/README.md b/packages/create-eliza-app/README.md index aa194cee889..93f02db25ec 100644 --- a/packages/create-eliza-app/README.md +++ b/packages/create-eliza-app/README.md @@ -32,7 +32,6 @@ deno run -A npm:create-eliza-app@latest path - ## Command Line Arguments - `--name`: Name of the template to use (default: "eliza") diff --git a/renovate.json b/renovate.json index 5a0192be083..9fe2feb481f 100644 --- a/renovate.json +++ b/renovate.json @@ -1,79 +1,63 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ], + "extends": ["config:base"], "packageRules": [ - { - "groupName": "Discord.js ecosystem", - "matchPackagePatterns": [ - "^@discordjs/", - "^discord.js" - ] - }, - { - "groupName": "TypeScript and related", - "matchPackagePatterns": [ - "^@typescript-eslint/", - "^typescript$", - "^ts-", - "^tslib$" - ] - }, - { - "groupName": "Testing frameworks", - "matchPackagePatterns": [ - "^jest$", - "^@types/jest$" - ] - }, - { - "groupName": "Rollup and plugins", - "matchPackagePatterns": [ - "^@rollup/", - "^rollup" - ] - }, - { - "groupName": "ESLint and formatting", - "matchPackagePatterns": [ - "^eslint", - "^prettier" - ] - }, - { - "groupName": "SQLite related", - "matchPackagePatterns": [ - "sqlite", - "^@types/better-sqlite3", - "^@types/sql.js" - ] - }, - { - "groupName": "AI/ML packages", - "matchPackagePatterns": [ - "^@anthropic-ai/", - "^@huggingface/", - "^openai$", - "^tiktoken$" - ] - }, - { - "groupName": "Audio processing", - "matchPackagePatterns": [ - "^wav", - "^@discordjs/opus", - "^fluent-ffmpeg", - "^ffmpeg", - "^@types/wav" - ] - }, - { - "groupName": "Solana packages", - "matchPackagePatterns": [ - "^@solana/" - ] - } + { + "groupName": "Discord.js ecosystem", + "matchPackagePatterns": ["^@discordjs/", "^discord.js"] + }, + { + "groupName": "TypeScript and related", + "matchPackagePatterns": [ + "^@typescript-eslint/", + "^typescript$", + "^ts-", + "^tslib$" + ] + }, + { + "groupName": "Testing frameworks", + "matchPackagePatterns": ["^jest$", "^@types/jest$"] + }, + { + "groupName": "Rollup and plugins", + "matchPackagePatterns": ["^@rollup/", "^rollup"] + }, + { + "groupName": "ESLint and formatting", + "matchPackagePatterns": ["^eslint", "^prettier"] + }, + { + "groupName": "SQLite related", + "matchPackagePatterns": [ + "sqlite", + "^@types/better-sqlite3", + "^@types/sql.js" + ] + }, + { + "groupName": "AI/ML packages", + "matchPackagePatterns": [ + "^@anthropic-ai/", + "^@huggingface/", + "^openai$", + "^tiktoken$" + ] + }, + { + "groupName": "Audio processing", + "matchPackagePatterns": [ + "^wav", + "^@discordjs/opus", + "^fluent-ffmpeg", + "^ffmpeg", + "^@types/wav" + ] + }, + { + "groupName": "Solana packages", + "matchPackagePatterns": ["^@solana/"] + } ], "timezone": "UTC", "schedule": ["every weekend"], @@ -82,4 +66,4 @@ "rangeStrategy": "pin", "separateMajorMinor": true, "dependencyDashboard": true - } \ No newline at end of file +}