Skip to content

Feat/aleo devnode plugin#29415

Draft
Roee-87 wants to merge 8 commits into
masterfrom
feat/aleo-devnode-plugin
Draft

Feat/aleo devnode plugin#29415
Roee-87 wants to merge 8 commits into
masterfrom
feat/aleo-devnode-plugin

Conversation

@Roee-87
Copy link
Copy Markdown
Collaborator

@Roee-87 Roee-87 commented May 11, 2026

Motivation

This PR removes devnode from the Leo CLI codebase while retaining the ability to use devnode as a plugin which references the aleo-devnode binary.

Devnode is being maintained here: https://github.com/ProvableHQ/aleo-devnode

Test Plan

The aleo-devnode repo contains a test directory.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes the built-in devnode command implementation from the Leo CLI and replaces it with plugin-based dispatch, mapping leo devnode ... to the external aleo-devnode binary.

Changes:

  • Removed the in-tree devnode command modules and related dependencies (axum/tower-*).
  • Added plugin dispatch rules so devnode resolves to aleo-devnode (while other plugins remain leo-<name>).
  • Updated CLI integration test fixtures and CI coverage workflow to account for the external devnode binary.

Reviewed changes

Copilot reviewed 17 out of 19 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/expectations/cli/leo_devnode_missing_private_key/STDERR Updates expected stderr output now produced by the external aleo-devnode binary.
tests/expectations/cli/leo_devnode_missing_private_key/EXITCODE Updates expected exit code to match the external aleo-devnode behavior.
crates/leo/src/cli/plugin.rs Adds devnodealeo-devnode mapping and plugin enumeration logic.
crates/leo/src/cli/commands/mod.rs Removes devnode command module from the CLI command set.
crates/leo/src/cli/commands/devnode/start.rs Deletes embedded devnode “start” implementation.
crates/leo/src/cli/commands/devnode/rest/routes.rs Deletes embedded devnode REST routes implementation.
crates/leo/src/cli/commands/devnode/rest/mod.rs Deletes embedded devnode REST server implementation.
crates/leo/src/cli/commands/devnode/rest/helpers/path.rs Deletes devnode REST helper extractor implementation.
crates/leo/src/cli/commands/devnode/rest/helpers/mod.rs Deletes devnode REST helpers module wiring.
crates/leo/src/cli/commands/devnode/rest/helpers/error.rs Deletes devnode REST error handling implementation.
crates/leo/src/cli/commands/devnode/mod.rs Deletes embedded devnode command definitions/dispatch.
crates/leo/src/cli/commands/devnode/logger.rs Deletes embedded devnode-specific logging setup.
crates/leo/src/cli/commands/devnode/advance.rs Deletes embedded devnode “advance” implementation.
crates/leo/src/cli/cli.rs Removes Devnode as a built-in command; routes external subcommands via binary_name_for.
crates/leo/Cargo.toml Drops devnode-only dependencies from the leo crate.
Cargo.toml Drops workspace-level devnode-only dependencies.
Cargo.lock Removes transitive deps no longer needed after devnode removal.
.github/workflows/codecov.yml Installs aleo-devnode so integration tests can run in the coverage job.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/leo/src/cli/plugin.rs Outdated
Comment on lines +117 to +122
// aleo-devnode is the canonical devnode plugin; add it if not already shadowed by leo-devnode.
if !seen.contains("devnode") {
if let Some(path) = find_exe(ALEO_DEVNODE) {
plugins.push(("devnode".to_string(), path));
}
}
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed: faaa461

Comment thread .github/workflows/codecov.yml Outdated
uses: Swatinem/rust-cache@v2

- name: Install aleo-devnode
run: cargo install --git https://github.com/ProvableHQ/aleo-devnode
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

placeholder: 817e7e4

@Roee-87 Roee-87 requested a review from JoshuaBatty May 11, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants