Skip to content

Conversation

@moreal
Copy link
Contributor

@moreal moreal commented Feb 3, 2026

This pull request is not ready for review yet. I don't recommend to look around this pull request now.

Summary

Briefly describe the main purpose and scope of this PR.

Related issue

Reference the related issue(s) by number, e.g.:

  • closes #XXX
  • fixes #XXX

Changes

List the specific modifications made in this PR.
Focus on what was changed without going into detail about impact.

Benefits

Describe the advantages or improvements brought by these changes.
Explain how these changes affect the project, users, or performance.

Checklist

  • Did you add a changelog entry to the CHANGES.md?
  • Did you write some relevant docs about this change (if it's a new feature)?
  • Did you write a regression test to reproduce the bug (if it's a bug fix)?
  • Did you write some tests for this change (if it's a new feature)?
  • Did you run mise test on your machine?

Additional notes

Include any other information, context, or considerations.

@issues-auto-labeler issues-auto-labeler bot added component/build Build system and packaging component/cli CLI tools related labels Feb 3, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @moreal, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request initiates the integration of Moonrepo into the project, aiming to streamline and enhance the monorepo's task management and build system. By centralizing task definitions and leveraging Moonrepo's capabilities for caching and impact analysis, the change seeks to improve development efficiency and consistency across all packages. The migration involves updating command execution patterns and simplifying existing configuration files.

Highlights

  • Moonrepo Integration: Moonrepo has been introduced as the new task orchestrator for the monorepo, centralizing task definitions, build caching, and impact analysis. This involves adding new configuration files like .moon/workspace.yml, .moon/toolchains.yml, and various moon.yml files across the project.
  • Task Command Migration: Existing build, test, check, codegen, and documentation commands previously executed via mise run or deno task have been migrated to use pnpm moon run commands, standardizing the execution of development tasks.
  • Configuration Simplification: The tasks sections have been removed from the root deno.json and numerous package-specific deno.json files. Similarly, the [tasks] section in mise.toml has been removed, as these tasks are now managed by Moonrepo's configuration.
  • Documentation Updates: The project's development documentation, including AGENTS.md, CONTRIBUTING.md, and docs/README.md, has been updated to reflect the new command structure and guide developers on using pnpm moon run for various workflows.
  • Dependency Management: The @moonrepo/cli package and its platform-specific core binaries have been added to the project's dependencies, as reflected in deno.lock and pnpm-lock.yaml.
Changelog
  • .devcontainer/bin/postAttachCommand.sh
    • Replaced mise run codegen with pnpm moon run :codegen for running codegen tasks.
  • .devcontainer/bin/postCreateCommand.sh
    • Replaced mise run install with pnpm install for initial setup.
  • .github/actions/determine-version/action.yaml
    • Updated the version sync command from mise run check-versions --fix to a direct deno run command for the script.
  • .github/actions/setup-mise/action.yaml
    • Replaced mise run install with pnpm install in the setup action.
  • .gitignore
    • Added .moon/cache/ to ignore Moonrepo's cache directory.
  • .moon/tasks/tag-tsdown-build.yml
    • Added a new Moonrepo task definition for tsdown-build tagged projects, including build script, dependencies, toolchains, inputs, and outputs.
  • .moon/toolchains.yml
    • Added Moonrepo toolchain configurations for JavaScript, Deno, Node, Bun, pnpm, and TypeScript.
  • .moon/workspace.yml
    • Added Moonrepo workspace configuration, defining project locations, VCS client, and pipeline cache lifetime.
  • AGENTS.md
    • Updated the 'Development environment' section to include Moonrepo as a task orchestrator.
    • Modified command examples for code generation, package building, checking code, and running tests to use pnpm moon run.
  • CONTRIBUTING.md
    • Updated pre-commit check command from mise run check to pnpm moon run :check.
    • Changed lockfile update command from mise run install to pnpm install.
    • Updated setup instructions to use pnpm install instead of mise run install.
    • Modified Git hooks installation command from mise run hooks:install to pnpm moon run :hooks.install.
    • Updated CLI and test running commands to use pnpm moon run.
  • deno.json
    • Removed the entire tasks section, delegating task management to Moonrepo.
  • deno.lock
    • Added @moonrepo/cli and its platform-specific core dependencies to the lockfile.
  • docs/README.md
    • Updated documentation build and development server commands to use pnpm moon run :docs.build and pnpm moon run :docs respectively.
  • mise.toml
    • Added MOON_TOOLCHAIN_FORCE_GLOBALS = "true" to the [env] section.
    • Removed the entire [tasks] section, as tasks are now defined in Moonrepo.
  • moon.yml
    • Added root-level Moonrepo task definitions for install, codegen, fmt, check, test, docs, bench, cli, and hooks, specifying commands, toolchains, inputs, outputs, and caching options.
  • package.json
    • Updated the prepare script to pnpm moon run :build.
    • Added @moonrepo/cli as a development dependency.
  • packages/amqp/deno.json
    • Removed the tasks section.
  • packages/amqp/moon.yml
    • Added Moonrepo task definitions for check, test.deno, test.node, and test.bun.
  • packages/amqp/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run amqp:build.
  • packages/cfworkers/deno.json
    • Removed the tasks section.
  • packages/cfworkers/moon.yml
    • Added Moonrepo task definitions for check and test.node.
  • packages/cfworkers/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run cfworkers:build.
  • packages/cli/deno.json
    • Removed the tasks section.
  • packages/cli/moon.yml
    • Added Moonrepo task definitions for check, test.deno, run, pack, test-init, test.node, and test.bun.
  • packages/cli/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run cli:build.
  • packages/denokv/deno.json
    • Removed the tasks section.
  • packages/denokv/moon.yml
    • Added Moonrepo task definitions for check and test.deno.
  • packages/elysia/deno.json
    • Removed the tasks section.
  • packages/elysia/moon.yml
    • Added Moonrepo task definition for check.
  • packages/elysia/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run elysia:build.
  • packages/express/deno.json
    • Removed the tasks section.
  • packages/express/moon.yml
    • Added Moonrepo task definition for check.
  • packages/express/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run express:build.
  • packages/fastify/deno.json
    • Removed the tasks section.
  • packages/fastify/moon.yml
    • Added Moonrepo task definitions for check and test.node.
  • packages/fastify/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run fastify:build.
  • packages/fedify/deno.json
    • Removed the tasks section.
  • packages/fedify/moon.yml
    • Added Moonrepo task definitions for check, build, test.deno, test.node, test.bun, test.cfworkers, coverage, bench, and apidoc.
  • packages/fedify/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run fedify:build.
  • packages/fixture/deno.json
    • Removed the tasks section.
  • packages/fixture/moon.yml
    • Added Moonrepo task definitions for check and test.node.
  • packages/fixture/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run fixture:build.
  • packages/fresh/deno.json
    • Removed the tasks section.
  • packages/fresh/moon.yml
    • Added Moonrepo task definition for check.
  • packages/h3/deno.json
    • Removed the tasks section.
  • packages/h3/moon.yml
    • Added Moonrepo task definition for check.
  • packages/h3/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run h3:build.
  • packages/hono/deno.json
    • Removed the tasks section.
  • packages/hono/moon.yml
    • Added Moonrepo task definitions for check and test.node.
  • packages/hono/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run hono:build.
  • packages/koa/deno.json
    • Removed the tasks section.
  • packages/koa/moon.yml
    • Added Moonrepo task definition for check.
  • packages/koa/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run koa:build.
  • packages/lint/deno.json
    • Removed the tasks section.
  • packages/lint/moon.yml
    • Added Moonrepo task definitions for check, test.deno, and test.node.
  • packages/lint/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run lint:build.
  • packages/nestjs/moon.yml
    • Added Moonrepo task definition for check.
  • packages/nestjs/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run nestjs:build.
  • packages/next/moon.yml
    • Added Moonrepo task definition for check.
  • packages/next/package.json
    • Removed various build scripts, replacing prepack with pnpm moon run next:build.
  • packages/postgres/deno.json
    • Removed the tasks section.
  • packages/postgres/moon.yml
    • Added Moonrepo task definitions for check, test.node, and test.bun.
  • packages/postgres/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run postgres:build.
  • packages/redis/deno.json
    • Removed the tasks section.
  • packages/redis/moon.yml
    • Added Moonrepo task definitions for check, test.node, and test.bun.
  • packages/redis/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run redis:build.
  • packages/relay/deno.json
    • Removed the tasks section.
  • packages/relay/moon.yml
    • Added Moonrepo task definitions for check, test.deno, test.node, and test.bun.
  • packages/relay/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run relay:build.
  • packages/sqlite/deno.json
    • Removed the tasks section.
  • packages/sqlite/moon.yml
    • Added Moonrepo task definitions for check, test.node, and test.bun.
  • packages/sqlite/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run sqlite:build.
  • packages/sveltekit/deno.json
    • Removed the tasks section.
  • packages/sveltekit/moon.yml
    • Added Moonrepo task definitions for check and test.node.
  • packages/sveltekit/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run sveltekit:build.
  • packages/testing/deno.json
    • Removed the tasks section.
  • packages/testing/moon.yml
    • Added Moonrepo task definitions for check, test.deno, test.node, and test.bun.
  • packages/testing/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run testing:build.
  • packages/vocab-runtime/deno.json
    • Removed the tasks section.
  • packages/vocab-runtime/moon.yml
    • Added Moonrepo task definitions for check, test.deno, and test.node.
  • packages/vocab-runtime/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run vocab-runtime:build.
  • packages/vocab-tools/deno.json
    • Removed the tasks section.
  • packages/vocab-tools/moon.yml
    • Added Moonrepo task definitions for check, test.deno, test.node, test.bun, test.node.update_snapshots, and test.bun.update_snapshots.
  • packages/vocab-tools/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run vocab-tools:build.
  • packages/vocab/deno.json
    • Removed the tasks section.
  • packages/vocab/moon.yml
    • Added Moonrepo task definitions for check, codegen, build, test.deno, test.node, and test.bun.
  • packages/vocab/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run vocab:build.
  • packages/webfinger/deno.json
    • Removed the tasks section.
  • packages/webfinger/moon.yml
    • Added Moonrepo task definitions for check, test.deno, and test.node.
  • packages/webfinger/package.json
    • Removed various build and test scripts, replacing prepack with pnpm moon run webfinger:build.
  • pnpm-lock.yaml
    • Added @moonrepo/cli and its core binaries to the devDependencies and packages sections.
    • Updated deprecation warnings for keygrip and next packages.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/main.yaml
    • .github/workflows/publish-pr.yaml
Activity
  • The pull request is currently marked as 'Work In Progress' and is not yet ready for review, indicating no formal review activity has occurred.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces moonrepo as the new task orchestrator, which is a significant and positive change for managing this monorepo. The changes are extensive, touching configuration files, CI/CD workflows, and documentation to replace mise tasks with moon tasks. Overall, the migration is well-underway, but as this is a work-in-progress, there are several areas that need attention to finalize the transition. My review focuses on correctness of the new task definitions and dependency consistency.

moon.yml Outdated
Comment on lines 113 to 125
test.node:
script: "moon run :test.node"
toolchains:
- "system"
options:
cache: false

test.bun:
script: "moon run :test.bun"
toolchains:
- "system"
options:
cache: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The test.node and test.bun tasks are defined recursively. The test.node task executes moon run :test.node, which will execute the test.node task for all projects, including the root project itself, leading to an infinite loop. The same applies to test.bun. These tasks should be re-evaluated. Perhaps they should be removed from the root moon.yml, and users can run pnpm moon run :test.node directly.

pnpm-lock.yaml Outdated
next@15.3.1:
resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
deprecated: This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/CVE-2025-66478 for more details.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The lockfile indicates that next@15.3.1 has a security vulnerability (CVE-2025-66478). Although the CVE and URL might be placeholders, this is a critical warning. Please investigate and upgrade to a patched version of next for the example applications to ensure security.

pnpm-lock.yaml Outdated
next@15.5.0:
resolution: {integrity: sha512-N1lp9Hatw3a9XLt0307lGB4uTKsXDhyOKQo7uYMzX4i0nF/c27grcGXkLdb7VcT8QPYLBa8ouIyEoUQJ2OyeNQ==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
deprecated: This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/CVE-2025-66478 for more details.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The lockfile indicates that next@15.5.0 has a security vulnerability (CVE-2025-66478). Although the CVE and URL might be placeholders, this is a critical warning. Please investigate and upgrade to a patched version of next for the example applications to ensure security.

Comment on lines +7 to +12
install:
command: "deno task install"
toolchains:
- "deno"
options:
cache: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The install task is defined to run deno task install, but the install task has been removed from the root deno.json. This will cause the task to fail. The correct way to install dependencies seems to be pnpm install. If this task is still needed, it should be updated to a valid command. Otherwise, it should be removed.

moon.yml Outdated
Comment on lines 14 to 22
codegen:
command: "deno task codegen"
toolchains:
- "deno"
inputs:
- "packages/vocab/src/*.yaml"
- "/mise.toml"
options:
cache: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The codegen task is defined to run deno task codegen, which is no longer defined in the root deno.json. The codegen logic is now encapsulated within the @fedify/vocab package's moon.yml. This root-level task seems redundant and will fail. You should probably remove this task and have other tasks depend on vocab:codegen directly when needed.

moon.yml Outdated

# === Git Hooks ===
hooks.install:
command: "mise generate git-pre-commit --write --task=check"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The hooks.install task uses mise generate git-pre-commit --write --task=check. This will generate a pre-commit hook that runs mise run check. However, the check task has been removed from mise.toml and is now a moon task. This hook will fail. You should update this command to generate a hook that runs the moon check task, for example by using mise generate git-pre-commit --write --command "pnpm moon run :check".

    command: "mise generate git-pre-commit --write --command \"pnpm moon run :check\""

package.json Outdated
]
},
"devDependencies": {
"@moonrepo/cli": "2.0.0-rc.1"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The version of @moonrepo/cli is specified as 2.0.0-rc.1 here and in pnpm-lock.yaml, but deno.lock has 2.0.0-rc.0. Please ensure all lockfiles are in sync to avoid inconsistent behavior across environments. You may need to run pnpm install and commit the updated deno.lock file.

deps:
- "~:build"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The check task has a dependency on the build task. Static analysis tasks like formatting, linting, and type-checking usually don't require a full build of the package and its dependencies. This dependency makes the check task slower than necessary. The deno check command will require generated vocabulary files, so a dependency on vocab:codegen would be more appropriate and efficient.

    deps:
      - "vocab:codegen"

pnpm-lock.yaml Outdated
keygrip@1.1.0:
resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
engines: {node: '>= 0.6'}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The dependency keygrip@1.1.0 is marked as deprecated. While this is a transitive dependency, it would be good to investigate if it can be updated by updating its parent dependency to avoid potential issues in the future.

@moreal moreal mentioned this pull request Feb 3, 2026
5 tasks
@moreal moreal force-pushed the moonrepo branch 14 times, most recently from d225caa to c7d2108 Compare February 4, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/build Build system and packaging component/cli CLI tools related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant