Skip to content

Introduce standalone ops CLI - #2998

Open
clement-ux wants to merge 1 commit into
chore/remove-obsolete-historical-artifactsfrom
chore/introduce-standalone-ops-cli
Open

Introduce standalone ops CLI#2998
clement-ux wants to merge 1 commit into
chore/remove-obsolete-historical-artifactsfrom
chore/introduce-standalone-ops-cli

Conversation

@clement-ux

@clement-ux clement-ux commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Plain-English summary

Hardhat is currently acting as a command launcher for operational tasks. The useful logic already lives in ordinary TypeScript handlers, but operators must still enter through hardhat to reach it.

This PR adds a small standalone CLI that calls those same handlers directly. The commands, parameters, signers, roles, and deployment data stay the same; only the entry point changes.

The local/forked node still uses Hardhat in this layer. That is replaced separately in #2999.

Before and after

Before: pnpm hardhat <command> → Hardhat task wrapper → existing handler
After:  pnpm ops <command>     → standalone catalogue → existing handler

This is a runtime CLI migration, not a contract compilation or deployment migration. Foundry already handles those jobs.

What changes in this PR

  • add pnpm ops with the complete 75-command public catalogue;
  • preserve command parameters and type coercion;
  • preserve signer modes, role resolution, deployment lookups, and Foundry artifact loading;
  • connect every registry-backed command to its existing handler;
  • add catalogue, parser, signer, governance, and Talos action tests;
  • remove active tooling that was only needed by the retired contract-test/deployment workflow;
  • standardize the remaining JavaScript workflow on pnpm and the standalone CLI.

What does not change yet

Stack and merge order

Base: #2997 (chore/remove-obsolete-historical-artifacts)

  1. Remove obsolete historical scripts and artifacts #2997 — remove obsolete historical scripts and artifacts
  2. Introduce standalone ops CLI #2998 — introduce standalone ops CLI (this PR)
  3. Migrate local forks to Anvil #2999 — migrate local forks to Anvil
  4. Remove the Hardhat runtime #3000 — remove the Hardhat runtime

Merge in cascade: #3000#2999#2998#2997master.

What to review

Please focus on behavioral parity:

  • are all public commands still present?
  • do parameters keep the same names, required/optional status, and types?
  • do signer, role, network, and deployment lookups behave as before?
  • does each command still reach the intended existing handler?

Validation

  • pnpm install --frozen-lockfile
  • pnpm test:tasks — 38 passing
  • pnpm test:scripts — 66 passing
  • pnpm test:layouts — 11 passing
  • pnpm typecheck
  • pnpm lint:js, pnpm lint:ts, pnpm prettier:check
  • forge build contracts/ -j 1
  • full GitHub CI passes

@clement-ux
clement-ux force-pushed the chore/introduce-standalone-ops-cli branch from 7845f1a to e0f5d70 Compare September 1, 2026 08:04
@clement-ux
clement-ux changed the base branch from master to chore/remove-obsolete-historical-artifacts September 1, 2026 08:05
@clement-ux
clement-ux force-pushed the chore/introduce-standalone-ops-cli branch from e0f5d70 to 1908fb1 Compare September 1, 2026 08:25
@clement-ux clement-ux self-assigned this Sep 1, 2026
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.

1 participant