Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CLI help imports nitro/builder before printing usage

Open
#4,939 0 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

@onmax is already working on this.

Since Oct 30, 2026.

  • #4977 by @onmax — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
54/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
node.js, typescript

Research direction

Start by reading the CLI command modules that import nitro/builder at module scope and the repository’s reproduction steps. Compare command metadata loading with the prototype scripts linked in the issue, then run the documented help and version invocations. Done means help output and exit codes remain unchanged while help commands avoid loading builder dependencies; validate build behavior and dev-server readiness too.

Written by the indexing model from the issue text.

Description

cli performance v3

nitro --help loads builder dependencies before printing usage. Citty loads command modules to read their metadata, and several of those modules import nitro/builder at module scope.

The local prototype and benchmark scripts defer implementation imports until a command runs.

Measured with Node 24.21.0, running node dist/cli/index.mjs directly. Medians in milliseconds from 15 fresh processes per case and version, with warm filesystem caches.

Command Baseline Prototype
--help 129.0 27.3
build --help 123.0 28.0
dev --help 123.4 27.0
--version 27.3 26.9
Build, 1 route 230.2 230.7
Build, 100 routes 266.4 268.2

Recorded samples and full summary.

The prototype matched baseline output and exit codes for 18 help, version and error invocations. Build time showed no measurable improvement. Only build ran as a real command, and dev-server readiness wasn't measured. The repository includes reproduction steps; the complete clean install/build recipe has not been run end to end.

Could help read command metadata without loading the builder? Happy to open pr :)

Dominant language
TypeScript
Stars
11.3k
Forks
936
Avg merge
22h 2m
Merged PRs (30d)
176

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nitrojs/nitro

All issues in nitrojs/nitro

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.