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

🌆 Elegant CLI Builder

Is unjs/citty beginner-friendly?

We have not seen enough recent pull requests from first-time contributors to unjs/citty to say how often they are merged. 1 beginner-friendly issue is open now.

Stars
1.3k
Forks
59
Open beginner issues
1
Indexed issues
41
Dominant language
TypeScript
License
MIT
Last GitHub push
Aug 20, 2026
Latest indexed
Sep 19, 2026
Contributing guide
No contributing guide
Code of conduct
No code of conduct
Beginner labels
No beginner labels indexed
PR merge metrics
No merged PRs in 30d

How to contribute to unjs/citty

  1. There is no contributing guide, so start from the README and a few recently merged pull requests to see how changes are proposed.
  2. Your contributions will be published under the project's MIT license.
  3. Pick the open beginner-friendly issue below and comment that you want to work on it before you start.

Issues somebody may already be working on are listed last. List everything by date

  • Built-in help/version flags are not shown in usage output
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 68/100

    unjs/citty#280 ·

  • Should runCommand forward the selected subcommand result?
    Open

    Difficulty 5/5 Over a week Newbie friendliness 38/100

    unjs/citty#273 ·

  • Support a `multiple` Modifier for Arguments (Variadic Flags and Positionals)
    Open

    Difficulty 5/5 Over a week Newbie friendliness 55/100

    unjs/citty#258 · 2 reactions ·

  • Running subCommand will also run main command
    Open
    bug

    Difficulty 3/5 1-2 days Newbie friendliness 68/100

    unjs/citty#253 · 1 comment ·

  • Support for positional enum args
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 65/100

    unjs/citty#251 ·

  • Incorrect types on the arguments
    Open
    bug

    Difficulty 3/5 1-2 days Newbie friendliness 58/100

    unjs/citty#244 ·

  • Support alias value with `=` (`-foo=bar`)
    Open
    bug discussion enhancement

    Difficulty 2/5 1-3 hours Newbie friendliness 62/100

    unjs/citty#237 · 1 comment · 4 reactions ·

  • About bash/zsh completions
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#217 · 2 comments · 1 reaction ·

  • Warn for unknown options
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 38/100

    unjs/citty#201 ·

  • Can you get the version from package.json?
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    unjs/citty#200 ·

  • Can you support --duration option?
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    unjs/citty#197 ·

  • Pluggable Logger
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#187 · 1 comment · 1 reaction ·

  • Support for custom consola instances
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#178 ·

  • How about a bash auto complete feature
    Open
    enhancement

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#168 · 1 comment · 2 reactions ·

  • Create shared args for all `subCommands` in main
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#154 · 2 comments ·

  • Extending citty using user commands
    Open
    enhancement

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#151 ·

  • Support detecting args that is specified but with no values
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    unjs/citty#142 · 1 reaction ·

  • Support type `number` to args
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    unjs/citty#138 · 3 comments · 3 reactions ·

  • Mechanism to customize each part displayed by `showUsage`
    Open

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    unjs/citty#137 · 2 comments · 1 reaction ·

  • Built-in `showUsage` is not tree-shaking, when put custom `showUsage` at `runMain`.
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    unjs/citty#136 · 1 reaction ·

  • [Question] Process exit dont exit the terminal.
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 25/100

    unjs/citty#128 · 1 comment ·

  • Feat: return usage as data instead of just a string
    Open

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    unjs/citty#117 ·

  • Support multiple (wildcard) positional args
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    unjs/citty#115 · 3 comments · 5 reactions ·

  • Add support for custom error handling
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#112 · 1 comment · 3 reactions ·

  • Support argument normalizer/validator
    Open
    enhancement

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#103 · 5 comments · 1 reaction ·

  • Support `createMain(command)` return value from `run` method
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    unjs/citty#97 · 4 comments ·

  • Support `transformCommandToApi` util
    Open

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    unjs/citty#94 · 1 comment · 1 reaction ·

  • Hiding internal commands
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#93 · 2 comments · 2 reactions ·

  • Support `setup` to return data
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 25/100

    unjs/citty#92 · 1 comment · 6 reactions ·

  • Support `validator` in args definition
    Open
    enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 38/100

    unjs/citty#84 · 2 comments · 5 reactions ·

  • Support multiple optional positional args
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    unjs/citty#80 · 2 comments · 2 reactions ·

  • Update documentation to reflect more the current API
    May be free again @Barbapapazes claimed this 1116 days ago, and no pull request is open. Open
    documentation

    unjs/citty#62 · 3 comments · 1 assignee ·

  • Generate a Fig Spec file for `fig.io` using helper function
    Open
    enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#59 · 5 comments · 5 reactions ·

  • 📒 Documentation
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#46 · 11 comments · 2 reactions ·

  • main command's positional arg's value is the same as a subCommand name
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    unjs/citty#41 · 3 comments ·

  • cache async results
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    unjs/citty#34 ·

  • test: improve test coverage
    May be free again @nozomuikuta claimed this 1220 days ago, and no pull request is open. Open

    unjs/citty#33 · 1 comment · 1 assignee ·

  • Update checker
    May be free again @cpreston321 claimed this 1264 days ago, and no pull request is open. Open

    unjs/citty#10 · 3 comments · 1 reaction · 1 assignee ·

  • Process utils
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    unjs/citty#8 ·

  • unbuild preset and build instructions
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    unjs/citty#6 · 4 comments ·

  • Dependency Dashboard
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 15/100

    unjs/citty#1 ·

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.