{
  "interval": {
    "intervalStart": "2026-04-03T00:00:00.000Z",
    "intervalEnd": "2026-04-04T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2026-04-03 to 2026-04-04, elizaos/eliza had 1 new PRs (0 merged), 1 new issues, and 4 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs76bfyb",
      "title": "elizaos create fails with \"Bun's postinstall script was not run\" on macOS",
      "author": "dirtybits",
      "number": 6704,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nRunning `elizaos create <project-name>` fails at the build step on macOS with:\n\n```\n$ bun run build.ts\nError: Bun's postinstall script was not run.\n\nThis occurs when using --ignore-scripts during installation, or when using a\npackage manager like pnpm that does not run postinstall scripts by default.\n\nTo fix this, run the postinstall script manually:\n  cd node_modules/bun && node install.js\n\nOr reinstall bun without the --ignore-scripts flag.\nerror: script \"build\" exited with code 1\n```\n\nThe CLI then cleans up the project directory and exits, leaving nothing behind.\n\n## Root Cause\n\n`@elizaos/cli` and `@elizaos/plugin-bootstrap` both list `\"bun\": \"^1.3.4\"` as a **runtime dependency**. When a new project installs these packages, the `bun` npm package becomes a transitive dependency.\n\nThe `bun` npm package has a `postinstall` script (`node install.js`) that:\n1. Looks for `node_modules/@oven/bun-darwin-aarch64/bin/bun` (on Apple Silicon)\n2. Copies it to `node_modules/bun/bin/bun.exe`\n\nHowever, **bun the package manager intentionally skips extracting its own 60MB binary** from `@oven/bun-darwin-aarch64` into node_modules (it's already installed system-wide). This leaves `node_modules/@oven/bun-darwin-aarch64/bin/` empty.\n\nWhen `install.js` runs, it can't find the binary and exits silently. `node_modules/bun/bin/` is left with Windows `.exe` stubs. When `bun run build.ts` executes, bun detects the stubs and throws the error above.\n\n## Steps to Reproduce\n\n1. Install bun via `curl -fsSL https://bun.sh/install | bash`\n2. Install elizaos CLI: `bun install -g @elizaos/cli`\n3. Run: `elizaos create my-first-agent`\n4. Follow prompts (any database/model choice)\n5. Observe failure at build step\n\n## Environment\n\n- macOS (Apple Silicon / darwin-aarch64)\n- bun 1.3.11\n- @elizaos/cli 1.7.2\n\n## Fix\n\nThe `bun` npm package should be removed from the runtime dependencies of `@elizaos/cli` and `@elizaos/plugin-bootstrap`. It is only needed as a devDependency for types (`@types/bun`). The bun runtime is already available system-wide when users install elizaos via bun.\n\n```diff\n# In @elizaos/cli and @elizaos/plugin-bootstrap package.json:\n- \"dependencies\": {\n-   \"bun\": \"^1.3.4\",\n+ \"devDependencies\": {\n+   \"@types/bun\": \"^1.x.x\",\n```\n\n## Workaround\n\nUntil fixed, users can create projects manually:\n\n```bash\ncp -r ~/.bun/install/global/node_modules/@elizaos/cli/templates/project-starter ~/my-first-agent\ncd ~/my-first-agent\nbun install\ncp ~/.bun/bin/bun node_modules/@oven/bun-darwin-aarch64/bin/bun\nchmod +x node_modules/@oven/bun-darwin-aarch64/bin/bun\nnode node_modules/bun/install.js\nbun run build.ts\n```",
      "createdAt": "2026-04-03T17:36:56Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs7PtrTB",
      "title": "feat: add agent/ like starter in develop",
      "author": "odilitime",
      "number": 6702,
      "body": "just something to boot up the repo\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> **Medium Risk**\n> Medium risk because it introduces a new `agent` workspace and changes core runtime-composition APIs (`loadCharacters` accepts file paths/options; `createRuntimes` adds `checkShouldRespond`), which could affect downstream hosts; plus substantial dependency/lockfile churn from adding plugin submodules and local plugin workspaces.\n> \n> **Overview**\n> Adds a new `agent/` workspace providing a stdin/stdout REPL harness around `@elizaos/core`, including a default character, CLI flags (`--character`, `--log-level`), and a SQL-backed runtime setup via `@elizaos/plugin-sql`’s `createDatabaseAdapter`.\n> \n> Introduces a plugin-submodule local-dev workflow: `.gitmodules` now tracks `plugin-sql`, `plugin-ollama`, and `plugin-local-ai`, root workspaces include their `typescript/` packages, and new scripts (`scripts/dev.mjs`, `scripts/plugin-submodules-dev.mjs`, `plugin-submodules:restore`) automate linking/restoring submodules and workspace dependency rewrites.\n> \n> Extends `@elizaos/core` runtime composition by letting `loadCharacters` accept JSON file paths (with optional `cwd` for relative resolution) and by threading a new `checkShouldRespond` option through `createRuntimes`/`AgentRuntime`; adds tests covering file-path loading behavior. Updates root scripts to start/dev via the new agent harness and adjusts dependencies to use local `workspace:*` plugin builds, with corresponding `bun.lock` updates.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b05d1ecbca04804f5267dad5c77b4f7ef27f0f81. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR introduces a developer harness (`agent/`) for booting up the elizaOS repo locally — a stdin/stdout REPL that loads a character, connects to a PGLite database via `@elizaos/plugin-sql`, and routes user input through `runtime.messageService`. It also adds three git submodules (`plugin-sql`, `plugin-ollama`, `plugin-local-ai`) under `plugins/`, a suite of workspace-management scripts (`dev.mjs`, `plugin-submodules-dev.mjs`, `fix-workspace-deps.mjs`), and new `runtime-composition` helpers (`loadCharacters`, `createRuntimes`, `getBasicCapabilitiesSettings`, `mergeSettingsInto`) with tests in `packages/typescript`.\n\n**Key issues found:**\n- The root `package.json` was committed with the plugin submodule workspace entries (`plugins/plugin-sql/typescript`, etc.) still present — according to the `plugin-submodules-dev.mjs` workflow these should be stripped before committing (`bun run plugin-submodules:restore`). On a fresh clone without submodules checked out, bun will encounter missing workspace directories.\n- `agent/package.json` declares these plugins as `workspace:*` but `bun.lock` records them as the `alpha` registry dist-tag, indicating the lockfile was generated before the workspace paths resolved — the two are out of sync.\n- In `agent/typescript/index.ts`, if `runtime.messageService` is not ready the code calls `break`, which permanently exits the REPL loop rather than skipping the current message with `continue`.\n- The `line === undefined || line === null` guard on line 279 is unreachable dead code — `readline/promises` either resolves to a `string` or throws, and the throw path is already handled by the inner try/catch above it.\n- A single `sqlAdapter` is constructed from the first (primary) character's settings and shared across all characters in `createRuntimes`; multi-character configs with different DB settings will silently use the primary character's database.\n\n<h3>Confidence Score: 2/5</h3>\n\nNot safe to merge as-is — the committed `package.json` and `bun.lock` are in an inconsistent state that will break fresh clones and CI installs.\n\nTwo P1 infrastructure issues: (1) the root `package.json` has submodule workspace entries that should have been stripped before committing, and (2) `agent/package.json` declares `workspace:*` for the submodule plugins while `bun.lock` records them as `alpha` registry deps — the lockfile and package manifest disagree. Together these will cause `bun install` failures or wrong resolutions on any machine that doesn't have the submodules initialised. The `messageService` break-vs-continue issue is also a behavioural bug in the harness itself.\n\n`package.json` (committed with submodule workspace paths), `agent/package.json` + `bun.lock` (workspace:* vs alpha mismatch), `agent/typescript/index.ts` (messageService break + unreachable null check).\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| agent/typescript/index.ts | New stdin/stdout REPL harness for @elizaos/core; has an unreachable null check on `line`, a breaking `messageService` guard that kills the session permanently, and a single shared adapter for all characters. |\n| agent/package.json | New workspace package for the harness; lists submodule plugins as `workspace:*` but bun.lock records them as the `alpha` registry tag — the lockfile was not regenerated after the workspace references were added. |\n| package.json | Root package.json committed with plugin submodule workspace paths already added; these should normally be stripped before committing (via `plugin-submodules:restore`) since submodules are not checked out on a fresh clone. |\n| scripts/dev.mjs | New root dev script that inits submodules, runs install if needed, builds plugin dist/ if missing, then starts the agent harness in watch mode — logic is clean and idempotent. |\n| scripts/plugin-submodules-dev.mjs | New script managing submodule linking/unlinking and workspace entries; dev/restore modes are well-structured and idempotent, though the restore step was not run before committing this PR. |\n| packages/typescript/src/__tests__/runtime-composition.test.ts | New unit tests for `getBasicCapabilitiesSettings`, `mergeSettingsInto`, `loadCharacters`, and `createRuntimes`; well-structured coverage for the runtime-composition module. |\n| packages/typescript/src/runtime-composition.ts | New exported `loadCharacters`, `getBasicCapabilitiesSettings`, `mergeSettingsInto`, and `createRuntimes` helpers for runtime host composition — well-documented with clear WHY comments. |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[bun run dev] --> B[scripts/dev.mjs]\n    B --> C[plugin-submodules-dev.mjs]\n    C --> D{submodules present?}\n    D -- No --> E[git submodule update --init]\n    D -- Yes --> F[skip]\n    E --> G[ensureWorkspaces: add plugins to package.json]\n    F --> G\n    G --> H[removeSelfDependencies]\n    H --> I[fix-workspace-deps.mjs]\n    I --> J{bun install needed?}\n    J -- Yes --> K[bun install]\n    J -- No --> L[skip]\n    K --> M[build plugin dist/ if missing]\n    L --> M\n    M --> N[bun run --cwd agent dev]\n    N --> O[agent/typescript/index.ts]\n    O --> P[parseHarnessArgs]\n    P --> Q[loadCharacters]\n    Q --> R[mergeHarnessSqlPlugins]\n    R --> S[createDatabaseAdapter from primary character]\n    S --> T[createRuntimes with shared adapter]\n    T --> U[runtime.ensureConnection]\n    U --> V[stdin REPL loop]\n    V -- user input --> W[runtime.messageService.handleMessage]\n    W -- response --> X[stdout output]\n    X --> V\n    V -- exit/Ctrl+D --> Y[runtime.stop]\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"feat(dev): submodule plugins, idempotent...\"](https://github.com/elizaos/eliza/commit/b05d1ecbca04804f5267dad5c77b4f7ef27f0f81) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=27242938)</sub>\n\n> Greptile also left **6 inline comments** on this PR.\n\n<!-- /greptile_comment -->\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n* **New Features**\n  * Added a local development agent harness with interactive REPL for testing runtimes.\n  * Added support for loading character definitions from JSON files.\n  * Enhanced plugin management with development workflow scripts.\n\n* **Chores**\n  * Added agent package configuration supporting TypeScript, Python, and Rust.\n  * Updated workspace structure to integrate optional plugins.\n  * Updated plugin submodule references.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-03T03:14:37Z",
      "mergedAt": null,
      "additions": 944,
      "deletions": 3283
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 2
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "odilitime: Focused on expanding the project's starter capabilities by opening PR #6702 in elizaos/eliza, which involved a significant implementation effort of 1,479 total line changes across 25 files. This work centers entirely on new feature development, with a primary emphasis on code and configuration updates."
    },
    {
      "username": "LamboPoewert",
      "avatarUrl": "https://avatars.githubusercontent.com/u/91011698?u=a8b0456dbd9d3e15b0fee96b4cf2813a5e15022c&v=4",
      "totalScore": 18.846573590279974,
      "prScore": 14.346573590279972,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": "LamboPoewert: Focused on expanding the ecosystem by opening PR #331 to add the @madeonsol/plugin-madeonsol to the elizaos-plugins/registry. This work involved 2 commits and minor configuration adjustments, balancing bugfix efforts with ongoing integration tasks."
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 13.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 13.5,
      "commentScore": 0,
      "summary": "greptile-apps: No activity today."
    },
    {
      "username": "MoonSoon69",
      "avatarUrl": "https://avatars.githubusercontent.com/u/193276852?u=ae4dfec2ee87ce58e61ddf50d465a8df6618dd8e&v=4",
      "totalScore": 8.956573590279971,
      "prScore": 8.756573590279972,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "MoonSoon69: Focused on expanding ecosystem capabilities by opening PR #330 in elizaos-plugins/registry to integrate the @elizaos/plugin-swapapi. This contribution highlights a primary focus on plugin development and registry management."
    },
    {
      "username": "dirtybits",
      "avatarUrl": "https://avatars.githubusercontent.com/u/28834908?u=b8dc1929987e56622b91adf842c1499c4196210d&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "dirtybits: Focused on project stability by identifying and reporting a critical installation failure in elizaos/eliza via issue #6704. This contribution highlights a focus on improving the developer experience and environment setup."
    },
    {
      "username": "t49qnsx7qt-kpanks",
      "avatarUrl": "https://avatars.githubusercontent.com/u/263812192?v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    }
  ],
  "newPRs": 1,
  "mergedPRs": 0,
  "newIssues": 1,
  "closedIssues": 0,
  "activeContributors": 4
}