{
  "interval": {
    "intervalStart": "2025-06-23T00:00:00.000Z",
    "intervalEnd": "2025-06-24T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-06-23 to 2025-06-24, elizaos/eliza had 6 new PRs (5 merged), 2 new issues, and 13 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs68vzQD",
      "title": "Deploy Eliza agents",
      "author": "kamalbuilds",
      "number": 5244,
      "repository": "elizaos/eliza",
      "body": "What are the best ways to deploy custom eliza agents ?",
      "createdAt": "2025-06-23T03:39:00Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs683q43",
      "title": "Issues setting up a project with desired provider and overall impression on the project",
      "author": "urosognjenovic",
      "number": 5249,
      "repository": "elizaos/eliza",
      "body": "I've been struggling to setup a project from scratch for over 10 days now so I've decided to open an issue here. \n\nI've tried using all the possible options:\n- `eliza-starter` repo: First I tried with this one. After many unsuccessful attempts, I managed to get this up and running. However, the repo is now archived so I've decided to find another option. There should at least be a notice somewhere in the README explaining why the repo was archived as it is a bit confusing to come back to the repo you used yesterday and find it archived.\n- `eliza` (this) repo. It references an old video from a few months ago that doesn't help very much as a lot of stuff has changed in the meantime. I tried following the README:\n```\ngit clone https://github.com/elizaos/eliza.git\ngit checkout $(git describe --tags --abbrev=0)\ncp .env.example .env\n```\nThen I set the `GOOGLE_GENERATIVE_AI_API_KEY` variable in `.env`. This is just my best guess for the variable name using the `eliza-starter` repo as there's no word on how to set up an agent using Gemini in the `.env` itself or in the docs.\nThen I execute the rest of the commands:\n```\nbun install\nbun run build\nbun start\n```\nHere the agent starts and I navigate to http://localhost:3000 to try and text my agent. However, the error is `A context size of 8192 is too large for the available VRAM` as the model is started locally and my Gemini API key is ignored. \n- CLI tool: I create a new project by running `elizaos create my-agent` and choose the standard options, including the OpenAI LLM. Long story short, this one fails me as well because I can't in God's name figure out how to start the model using my desired provider or change it afterwards.\n\nTL;DR There's a lack of synchronisation between the official documentation, this repo, and the CLI tool. It is very difficult to figure out where to look up the issues you have and find an answer to them.\n\nThis is just a fraction of the issues I've had along the way, all while just trying to set up a simple project.",
      "createdAt": "2025-06-23T16:04:12Z",
      "closedAt": "2025-06-30T12:09:14Z",
      "state": "CLOSED",
      "commentCount": 1
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6bsXgX",
      "title": "Added: Actions and ABIs for Alethea Plugin",
      "author": "Samarthsinghal28",
      "number": 5247,
      "body": "# Relates to\r\n\r\n<!-- No specific issue linked -->\r\n\r\n# Risks\r\n\r\n**Medium** — This PR introduces new plugin functionality and external interactions via ABIs and actions. It may affect downstream systems that rely on plugin behavior or Hive interactions.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis pull request adds support for the Alethea Plugin by introducing:\r\n\r\n- Basic ABIs required for interacting with external contracts or services.\r\n- Core plugin actions needed for executing Alethea-related operations.\r\n- Hive actions to support blockchain interactions related to the plugin's logic.\r\n\r\n## What kind of change is this?\r\n\r\n**Features** – This is a non-breaking change that adds new functionality (Alethea plugin support via actions and ABIs).\r\n\r\n# Documentation changes needed?\r\n\r\n- [x] My changes require a change to the project documentation.\r\n- [ ] My changes do not require a change to the project documentation.\r\n- [x] I have updated the documentation accordingly.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nBegin by reviewing the new Alethea plugin files:\r\n\r\n-  `packages/plugin-alethea/alethea`\r\n\r\n## Detailed testing steps\r\n\r\n- Use the UI or CLI (if available) to trigger Alethea actions.\r\n- Verify the ABIs are correctly parsed and contract calls succeed.\r\n- Confirm Hive actions log and respond as expected.\r\n\r\n# Screenshots\r\n\r\n- Already shared the test screenshots\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-06-23T15:50:36Z",
      "mergedAt": "2025-06-24T13:31:50Z",
      "additions": 10193,
      "deletions": 118
    },
    {
      "id": "PR_kwDOMT5cIs6bjBLq",
      "title": "feat: add type-safe API client package",
      "author": "wtfsayo",
      "number": 5240,
      "body": "## Summary\n- Added a new `@elizaos/api-client` package that provides a type-safe client for the ElizaOS server API\n- Comprehensive TypeScript support with full type definitions for all API endpoints\n- Clean, service-based architecture for easy consumption\n\n## Features\n### Service Coverage\n- **Agents**: CRUD operations, lifecycle management, worlds, panels, and logs\n- **Messaging**: Messages, channels, servers, DMs, and search functionality\n- **Memory**: Agent memories, rooms, and world management\n- **Audio**: Speech processing, text-to-speech, transcription\n- **Media**: File uploads for agents and channels\n- **Server**: Health checks, status monitoring, debug info\n- **System**: Environment configuration\n\n### Technical Implementation\n- Type-safe request/response handling with proper error types\n- Automatic FormData handling for file uploads\n- Configurable base URL and API key authentication\n- Comprehensive test coverage using bun:test\n- Clean service separation for modularity\n- Full TypeScript declaration files (.d.ts) generated\n\n## Usage Example\n```typescript\nimport { ElizaClient } from '@elizaos/api-client';\n\nconst client = ElizaClient.create({\n  baseUrl: 'http://localhost:3000',\n  apiKey: 'your-api-key', // optional\n});\n\n// List agents\nconst { agents } = await client.agents.listAgents();\n\n// Send a message\nconst message = await client.messaging.postMessage(channelId, 'Hello\\!');\n\n// Upload media\nconst upload = await client.media.uploadAgentMedia(agentId, {\n  file: myFile,\n  filename: 'image.png',\n});\n```\n\n## Test plan\n- [x] Build succeeds without errors\n- [x] All tests pass (11/11)\n- [x] TypeScript compilation works correctly\n- [x] Package integrates with monorepo structure\n- [x] Type declaration files (.d.ts) are generated\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n  - Introduced a type-safe API client package for ElizaOS, providing unified access to agents, messaging, memory, audio, media, server, and system APIs with comprehensive TypeScript type definitions.\n  - Added a centralized client class aggregating all service domains for simplified usage.\n  - Extensive public type definitions for all API domains are now available.\n\n- **Bug Fixes**\n  - Improved test reliability by updating test suites to use real localStorage and proper mocking utilities.\n  - Updated test setups to use Happy DOM for more accurate DOM simulation in tests.\n\n- **Documentation**\n  - Added detailed README for the new API client package, including installation, usage examples, and error handling instructions.\n\n- **Chores**\n  - Added and updated configuration files for coverage, TypeScript, and build tooling across multiple packages.\n  - Updated `.gitignore` files to prevent tracking of build artifacts and sensitive files.\n  - Enhanced package metadata and module resolution for Bun compatibility.\n\n- **Tests**\n  - Added comprehensive test suites for all new API client service domains, ensuring robust coverage and error handling.\n  - Refactored test files to improve isolation, reliability, and maintainability.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-06-22T11:02:45Z",
      "mergedAt": "2025-06-23T15:49:26Z",
      "additions": 5414,
      "deletions": 560
    },
    {
      "id": "PR_kwDOMT5cIs6bPkt4",
      "title": "Add files via upload",
      "author": "Dexploarer",
      "number": 5195,
      "body": "🎯 Overview\r\nThis PR adds comprehensive configuration files for all major AI coding tools to ensure consistent development experience and enforce ElizaOS architectural patterns across the development community. 🚀 What's Changed\r\nAdded AI Tool Configurations for:\r\n\r\nWindsurf IDE - Interactive workflows with quality gates Claude Code - Slash commands and project context\r\nOpenAI Codex - Cloud and CLI configurations\r\nGitHub Copilot - Repository instructions and prompt files Cursor IDE - Legacy and modern rule formats\r\n\r\n📁 File Structure Added\r\n.windsurf/                          # Windsurf IDE Configuration\r\n├── rules/\r\n│   ├── elizaos-v2-main.md          # Core development principles\r\n│   ├── elizaos-architecture.md      # Component specifications\r\n│   └── elizaos-testing.md          # Testing infrastructure\r\n└── workflows/\r\n    ├── elizaos-development.yaml    # Main development workflow\r\n    ├── elizaos-testing.yaml        # Testing automation\r\n    └── elizaos-component.yaml      # Component creation\r\n\r\n.claude/                            # Claude Code Configuration\r\n├── commands/                       # Slash Commands\r\n│   ├── dev.md                      # /project:dev\r\n│   ├── test.md                     # /project:test\r\n│   ├── bugfix.md                   # /project:bugfix\r\n│   ├── validate.md                 # /project:validate\r\n│   ├── review.md                   # /project:review\r\n│   ├── component.md                # /project:component\r\n│   └── elizaos/                    # Namespaced Commands\r\n│       ├── action.md               # /project:elizaos:action\r\n│       ├── provider.md             # /project:elizaos:provider\r\n│       └── evaluator.md            # /project:elizaos:evaluator\r\n└── COMMANDS.md                     # Command reference\r\n\r\n.github/\r\n├── copilot-instructions.md         # GitHub Copilot instructions\r\n├── instructions/\r\n│   ├── actions.md                  # Action development guidance\r\n│   ├── providers.md                # Provider development guidance\r\n│   ├── evaluators.md               # Evaluator development guidance\r\n│   └── git-commit.md               # Commit message conventions\r\n└── prompts/\r\n    ├── create-action.prompt.md     # Action creation workflow\r\n    └── run-tests.prompt.md         # Testing workflow\r\n\r\n.cursor/                            # Modern Cursor IDE format\r\n└── rules/\r\n    ├── index.mdc                   # Core rules (always applied)\r\n    ├── actions.mdc                 # Action development (context-aware)\r\n    └── testing.mdc                 # Testing rules (context-aware)\r\n\r\n.cursorrules                        # Legacy Cursor IDE format\r\nCLAUDE.md                           # Claude Code main configuration\r\ndocs/ai-development-setup.md        # Setup and usage guide\r\n✨ Key Features\r\nUniversal Development Principles Enforcement\r\nAll AI tools now automatically enforce:\r\n\r\n✅ Flow - Always Plan First methodology\r\n✅ No Stubs or Incomplete Code rule\r\n✅ Test-Driven Development with elizaos test commands ✅ Bun Runtime validation (never Node.js)\r\n✅ @elizaos/core dependency patterns (no circular dependencies) ✅ Agent Perspective in abstractions (Channel→Room, Server→World) ✅ Component Specifications (Actions, Providers, Evaluators, Tasks, Services) ✅ TypeScript Standards with comprehensive error handling\r\n\r\nTool-Specific Optimizations\r\n\r\nWindsurf: Interactive workflows with /elizaos-development, /elizaos-testing\r\nClaude Code: Slash commands like /project:dev, /project:elizaos:action\r\nCodex: Project context via CLAUDE.md for both cloud and CLI versions\r\nGitHub Copilot: Repository-wide instructions with component-specific guidance\r\nCursor: Context-aware rules that apply only when working on relevant files\r\n\r\n🎁 Benefits for ElizaOS Development Community\r\nFor Individual Developers\r\n\r\nConsistent AI Assistance - Same architectural understanding across all tools Reduced Context Switching - No need to repeatedly explain ElizaOS patterns Quality Assurance - Automatic enforcement of development best practices Faster Onboarding - New developers get guided AI assistance immediately\r\n\r\nFor the Project\r\n\r\nCode Quality - All AI-generated code follows ElizaOS standards Architecture Compliance - Prevents circular dependencies and pattern violations Testing Consistency - Enforces proper use of elizaos test commands Documentation - Self-documenting development practices through AI rules\r\n\r\nFor Teams\r\n\r\nStandardization - Same AI behavior across all team members Knowledge Sharing - Codified best practices accessible to all AI tools Productivity - Streamlined development workflows with quality gates Collaboration - Consistent code generation patterns across contributors\r\n\r\n📖 Usage Instructions\r\nQuick Setup (Choose Your Tool)\r\nWindsurf IDE Users:\r\n\r\nRules automatically apply to Cascade AI\r\nUse workflows: /elizaos-development, /elizaos-testing, /elizaos-component\r\n\r\nClaude Code Users:\r\n\r\nSlash commands available immediately: /project:dev, /project:test\r\nComponent creation: /project:elizaos:action, /project:elizaos:provider\r\n\r\nGitHub Copilot Users:\r\n\r\nRepository instructions automatically apply to all requests Prompt files available: @create-action, @run-tests\r\n\r\nCursor IDE Users:\r\n\r\nLegacy: .cursorrules applies to all interactions\r\nModern: .cursor/rules/ provides context-aware guidance\r\n\r\nOpenAI Codex Users:\r\n\r\nCloud: CLAUDE.md provides project context\r\nCLI: See setup guide for global configuration\r\n\r\nDetailed Setup\r\nSee docs/ai-development-setup.md for comprehensive setup instructions and advanced configuration options. 🧪 Testing\r\nThese configurations have been tested with:\r\n\r\n✅ ElizaOS component development (Actions, Providers, Evaluators) ✅ Bug fixing workflows with impact analysis\r\n✅ Test-driven development with elizaos test commands ✅ Architecture validation (dependency checking, abstraction compliance) ✅ Code review processes with ElizaOS standards\r\n\r\n🔄 Backwards Compatibility\r\n\r\nNo Breaking Changes - All files are additive configuration Optional Usage - Developers can choose which AI tools to configure Graceful Degradation - Works with existing development workflows Version Agnostic - Compatible with all current ElizaOS versions\r\n\r\n📚 Documentation Updates\r\n\r\nAdded comprehensive setup guide: docs/ai-development-setup.md Updated development workflow documentation\r\nAdded AI tool configuration examples\r\nIncluded troubleshooting guide for common AI tool issues\r\n\r\n🤝 Community Impact\r\nThis contribution enables the entire ElizaOS development community to:\r\n\r\nAccelerate Development - AI tools that understand ElizaOS architecture Maintain Quality - Automatic enforcement of coding standards Share Knowledge - Codified development patterns accessible to all Scale Effectively - Consistent development practices across growing team\r\n\r\n🔍 Review Notes\r\n\r\nAll configurations follow ElizaOS architectural principles exactly Tool-specific optimizations leverage each AI platform's strengths Comprehensive testing ensures compatibility with existing workflows Documentation provides clear setup and usage instructions Community feedback incorporated throughout development\r\n\r\n<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- 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. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- 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. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-06-19T11:48:39Z",
      "mergedAt": null,
      "additions": 2513,
      "deletions": 10279
    },
    {
      "id": "PR_kwDOMT5cIs6bk35I",
      "title": "Random Fixes",
      "author": "Dexploarer",
      "number": 5243,
      "body": "This pull request introduces a comprehensive AI configuration suite for ElizaOS, enhancing its development workflow with detailed guidelines, tool-specific setups, and a unified architecture for AI-assisted coding. The changes include new documentation, configuration files, and command templates to ensure consistency, quality, and efficiency across various AI tools.\r\n\r\n### New Documentation and Guidelines:\r\n\r\n* [`elizaos-ai-configs/CLAUDE.md`](diffhunk://#diff-0b2bd7f55ef35a132dbe6f12ba13f6783768e89e699927a3b5259f5cc0e43b48R1-R116): Added a detailed configuration guide for Claude, including development rules, architectural principles, testing strategies, and dependency management for ElizaOS projects.\r\n* [`elizaos-ai-configs/README.md`](diffhunk://#diff-939063d40d6eb0b62e2b98d8e245c7c70bc5d3287bef06eb8085b56e009b9f9bR1-R310): Introduced an overarching README that explains the purpose, features, and benefits of the ElizaOS AI Configuration Suite, along with tool-specific highlights and setup instructions.\r\n* [`elizaos-ai-configs/SETUP-GUIDE.md`](diffhunk://#diff-4219a7d2896279cb19f5654f72bdbcc639dc8bb891e7e7ac026ef42f35f63729R1-R68): Added a setup guide for configuring ElizaOS with various AI tools like Windsurf, Claude, OpenAI Codex, GitHub Copilot, and Cursor.\r\n\r\n### Tool-Specific Command Templates:\r\n\r\n* [`elizaos-ai-configs/claude code/commands/dev.md`](diffhunk://#diff-84628f9448f38b177f5f919081f3ecd85ac4261b80ff28844cd8a92dfcc379ceR1-R43): Added a template for the development workflow command `/project:dev`, enforcing the \"Flow - Always Plan First\" methodology and architectural validation steps.\r\n* [`elizaos-ai-configs/claude code/commands/elizaos/action.md`](diffhunk://#diff-45650a92b8c1a39372c69e6e80c3a9e4b9d38695e2aef0306426b5bc392e9bd1R1-R47): Introduced a command template for creating Action components, with a focus on validation, handler implementation, and integration testing.\r\n* [`elizaos-ai-configs/claude code/commands/test.md`](diffhunk://#diff-abdf0a8ddcee8f79b8761b2d97ee8dc5b1a2ee6d936b2c7eec66638fdb226327R1-R46): Added a testing command template `/project:test` to run component, end-to-end, and full test suites with pre-test validation steps.\r\n\r\nThese changes collectively establish a robust framework to streamline AI-assisted development for ElizaOS, ensuring high-quality, production-ready code across all supported tools.<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- 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. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- 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. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-06-23T01:18:42Z",
      "mergedAt": null,
      "additions": 2513,
      "deletions": 10279
    },
    {
      "id": "PR_kwDOMT5cIs6brnOx",
      "title": "refactor: centralize-directory-detection-logic",
      "author": "yungalgo",
      "number": 5246,
      "body": "  ## Description\r\n  This PR centralizes scattered directory type detection logic throughout the CLI codebase into the `directory-detection` utility, eliminating code duplication and ensuring consistent behavior across all CLI commands. This had mostly been done the other week but there was some lingering stuff and artifacts so i did a comprehensive check here to ensure that everywhere in the code is using the same source of truth for directory detection and found a few files that were using other logic\r\n\r\n  ### Problem Solved\r\n  Previously, different parts of the CLI were implementing their own directory type detection logic:\r\n  - Start command had its own project detection\r\n  - E2E tests had separate context detection\r\n  - Project utilities duplicated directory type checks\r\n  - Build project had separate validation logic\r\n\r\n  This led to:\r\n  - **Code duplication** across multiple files\r\n  - **Inconsistent behavior** when detecting project types\r\n  - **Maintenance burden** when logic needed updates\r\n  - **Potential bugs** from divergent implementations\r\n\r\n  ### Solution\r\n  Centralized all directory detection logic to use the existing `directory-detection` utility:\r\n\r\n  #### Files Refactored:\r\n  - **`start/index.ts`**: Now uses `detectDirectoryType()` instead of custom detection\r\n  - **`e2e-tests.ts`**: Replaced context detection with centralized utility\r\n  - **`project-utils.ts`**: Removed duplicate type detection logic\r\n  - **`project.ts`**: Standardized on centralized directory detection\r\n  - **`build-project.ts`**: Uses centralized validation instead of custom checks\r\n\r\n  ### Benefits\r\n  - ✅ **Single source of truth** for directory detection logic\r\n  - ✅ **Consistent behavior** across all CLI commands\r\n  - ✅ **Reduced code duplication** (~50+ lines of duplicate logic removed)\r\n  - ✅ **Easier maintenance** - updates only needed in one place\r\n  - ✅ **Better testability** - directory detection logic centrally tested\r\n\r\n  ### Testing\r\n  - All existing functionality preserved\r\n  - Behavior remains identical to users\r\n  - Directory detection logic now properly centralized",
      "repository": "elizaos/eliza",
      "createdAt": "2025-06-23T14:39:23Z",
      "mergedAt": "2025-06-24T03:23:50Z",
      "additions": 609,
      "deletions": 429
    }
  ],
  "codeChanges": {
    "additions": 6397,
    "deletions": 1828,
    "files": 71,
    "commitCount": 57
  },
  "completedItems": [
    {
      "title": "chore: Add background color to dialog content",
      "prNumber": 5248,
      "type": "other",
      "body": "just set background color for dialog content ",
      "files": [
        "packages/client/src/components/ui/dialog.tsx"
      ]
    },
    {
      "title": "fix: (tests) restore working test assertions after directory detection centralization",
      "prNumber": 5245,
      "type": "bugfix",
      "body": "  ## Description\r\n  This PR fixes broken tests that resulted from the directory detection centralization refactor. The tests were discovered to have commented-out assertions with \"TODO:\r\n   Fix for bun test\" - essentially fake tests that we",
      "files": [
        "packages/cli/tests/unit/commands/test/e2e-tests.test.ts",
        "packages/cli/tests/unit/utils/build-project.test.ts",
        "packages/cli/tests/unit/utils/directory-detection.test.ts"
      ]
    },
    {
      "title": "feat: add type-safe API client package",
      "prNumber": 5240,
      "type": "feature",
      "body": "## Summary\n- Added a new `@elizaos/api-client` package that provides a type-safe client for the ElizaOS server API\n- Comprehensive TypeScript support with full type definitions for all API endpoints\n- Clean, service-based architecture for e",
      "files": [
        "bun.lock",
        "bunfig.toml",
        "packages/api-client/.gitignore",
        "packages/api-client/README.md",
        "packages/api-client/package.json",
        "packages/api-client/src/__tests__/base-client.test.ts",
        "packages/api-client/src/__tests__/client.test.ts",
        "packages/api-client/src/__tests__/services/agents.test.ts",
        "packages/api-client/src/__tests__/services/audio.test.ts",
        "packages/api-client/src/__tests__/services/media.test.ts",
        "packages/api-client/src/__tests__/services/memory.test.ts",
        "packages/api-client/src/__tests__/services/messaging.test.ts",
        "packages/api-client/src/__tests__/services/server.test.ts",
        "packages/api-client/src/__tests__/services/system.test.ts",
        "packages/api-client/src/client.ts",
        "packages/api-client/src/index.ts",
        "packages/api-client/src/lib/base-client.ts",
        "packages/api-client/src/services/agents.ts",
        "packages/api-client/src/services/audio.ts",
        "packages/api-client/src/services/media.ts",
        "packages/api-client/src/services/memory.ts",
        "packages/api-client/src/services/messaging.ts",
        "packages/api-client/src/services/server.ts",
        "packages/api-client/src/services/system.ts",
        "packages/api-client/src/types/agents.ts",
        "packages/api-client/src/types/audio.ts",
        "packages/api-client/src/types/base.ts",
        "packages/api-client/src/types/media.ts",
        "packages/api-client/src/types/memory.ts",
        "packages/api-client/src/types/messaging.ts",
        "packages/api-client/src/types/server.ts",
        "packages/api-client/src/types/system.ts",
        "packages/api-client/tsconfig.build.json",
        "packages/api-client/tsconfig.json",
        "packages/api-client/tsup.config.ts",
        "packages/cli/bunfig.toml",
        "packages/cli/src/commands/test/index.ts",
        "packages/client/bunfig.toml",
        "packages/client/package.json",
        "packages/client/src/hooks/__tests__/use-agent-tab-state.test.ts",
        "packages/client/src/hooks/__tests__/use-agent-update.test.tsx",
        "packages/client/src/hooks/__tests__/use-panel-width-state.test.ts",
        "packages/client/src/hooks/__tests__/use-sidebar-state.test.ts",
        "packages/client/src/test/setup.ts",
        "packages/client/tsconfig.json",
        "packages/core/bunfig.toml",
        "packages/core/package.json",
        "packages/core/src/__tests__/uuid.test.ts",
        "packages/plugin-bootstrap/bunfig.toml",
        "packages/plugin-dummy-services/bunfig.toml"
      ]
    },
    {
      "title": "Fix: Correct typos in documentation and comments",
      "prNumber": 5238,
      "type": "bugfix",
      "body": "\r\n\r\n### Description\r\n\r\nThis pull request addresses minor typographical errors found in the project's documentation and code comments.\r\n\r\n**Changes:**\r\n\r\n*   Corrected a typo in `packages/docs/archive/injection/example.md`.\r\n*   Fixed a typo",
      "files": [
        "packages/docs/archive/injection/example.md",
        "packages/plugin-starter/src/index.ts"
      ]
    },
    {
      "title": "chore: cleanup CLI packages",
      "prNumber": 5237,
      "type": "refactor",
      "body": "This pull request includes changes to the `packages/cli` module to streamline command-line options, update dependencies, and simplify the configuration files. The most significant updates involve removing duplicate or legacy options, upgrad",
      "files": [
        "README.md",
        "bun.lock",
        "packages/cli/README.md",
        "packages/cli/package.json",
        "packages/cli/src/commands/dev/index.ts",
        "packages/cli/src/commands/publish/index.ts",
        "packages/cli/src/commands/test/index.ts",
        "packages/cli/src/commands/update/index.ts",
        "packages/cli/tsconfig.json",
        "packages/cli/tsup.config.ts",
        "packages/docs/docs/cli/dev.md",
        "packages/docs/docs/cli/overview.md",
        "packages/docs/docs/cli/plugins.md",
        "packages/docs/docs/cli/publish.md",
        "packages/docs/docs/cli/start.md",
        "packages/docs/docs/cli/tee.md",
        "packages/docs/docs/cli/update.md"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 89.47350881969787,
      "prScore": 89.03550881969787,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.43799999999999994,
      "summary": "yungalgo: Merged 2 PRs, including a significant refactor in #5246 (+6421/-2262 lines) and a fix in #5245 (+0/-0 lines), while modifying 16 files with a total of +634/-454 lines across 11 commits. Maintained a consistent work pattern, focusing primarily on other work (64%) and tests (18%)."
    },
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 58.793537711942804,
      "prScore": 49.3555377119428,
      "issueScore": 0,
      "reviewScore": 9,
      "commentScore": 0.43799999999999994,
      "summary": "wtfsayo: Merged 1 PR (#5250) focused on fixing macOS CLI test failures, contributing a significant change of +10012/-5616 lines. Actively engaged in the codebase with 21 commits, modifying 165 files primarily for bugfix work (38%) and other improvements (38%)."
    },
    {
      "username": "Samarthsinghal28",
      "avatarUrl": "https://avatars.githubusercontent.com/u/120447590?v=4",
      "totalScore": 53.7557738965761,
      "prScore": 53.7557738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Samarthsinghal28: Merged 1 significant pull request (#5247) with substantial changes of +13013/-2938 lines, demonstrating sporadic activity today. The average complexity of merged PRs reflects a consistent effort, with an average of +10193/-118 lines and a 22-hour merge time."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 51.88408389070667,
      "prScore": 51.68408389070667,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "Dexploarer",
      "avatarUrl": "https://avatars.githubusercontent.com/u/211557447?u=21a243d61cc1f87574328ae07fc64d7d7577b53d&v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Dexploarer: Opened 1 PR (#5243) titled \"Random Fixes\" and made significant code changes by modifying 67 files (+1479/-9894 lines) with a primary focus on feature work (83%). Maintained a consistent activity pattern with 12 commits today."
    },
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 20.684306144334055,
      "prScore": 20.684306144334055,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "tcm390: Merged 1 PR (#5248) focused on adding background color to dialog content, resulting in significant code changes of +5415/-561 lines across 63 modified files. Maintained a consistent activity pattern with 2 commits today."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 15,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 15,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Made significant bugfix contributions by modifying 3 files (+568/-402 lines) with 1 commit, while also providing 3 approvals in code reviews. Maintained a consistent activity pattern, being active every day."
    },
    {
      "username": "urosognjenovic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/104977001?u=cc6ab68172579c80128af1f8d5b5d173dfe63a91&v=4",
      "totalScore": 4,
      "prScore": 0,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "urosognjenovic: Created 1 issue today (#5249 \"Issues setting up a project with desired provider and overall...\" (OPEN)), showing sporadic activity with no other contributions."
    },
    {
      "username": "kamalbuilds",
      "avatarUrl": "https://avatars.githubusercontent.com/u/95926324?u=eae3fbc4228c17bb52c31b08da2d5f71fb2345db&v=4",
      "totalScore": 2.3000000000000003,
      "prScore": 0,
      "issueScore": 2.1,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "kamalbuilds: Created 1 issue (#5244 \"Deploy Eliza agents\") and commented on another issue, showing sporadic activity today."
    },
    {
      "username": "gnomonprime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/213946859?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 6,
  "mergedPRs": 5,
  "newIssues": 2,
  "closedIssues": 0,
  "activeContributors": 13
}