jabref icon indicating copy to clipboard operation
jabref copied to clipboard

Enable parameters for CLI: generate-citation-keys

Open koppor opened this issue 1 month ago β€’ 6 comments

Currently, the generate-citation-keys command from JabKit doesn't allow for customization

Usage: jabkit generate-citation-keys [-dhp] --input=<inputFile>
                                     [--output=<outputFile>]
Generate citation keys for entries in a .bib file.
  -d, --debug               Enable debug output
  -h, --help                display this help message
      --input=<inputFile>   Input BibTeX file
      --output=<outputFile> The output .bib file.
  -p, --porcelain           Enable script-friendly output

However, JabRef allows for much customization: https://docs.jabref.org/setup/citationkeypatterns

This should also be offered in the CLI.

You can check the GUI for the options

Image

Task:

  • Offer each element of CitationKeyPatternPreferences as parameter in the CLI for org.jabref.toolkit.commands.GenerateCitationKeys
  • Thereby, construct new org.jabref.logic.citationkeypattern.CitationKeyPatternPreferences based on CLI options. If no option is provided for a parameter, use the values from user-configured JabRefCliPreferences (argumentProcessor.cliPreferences).

Hints:

  • You can use org.jabref.toolkit.converter.CaseInsensitiveEnumConverter to convert an enum (see usage of the class for how to do)
  • Key patterns is a map, which can be implemented in PicoCLI using https://picocli.info/#_maps

koppor avatar Nov 20 '25 09:11 koppor

⚠️ Assignment Limit Reached for Beginner Issues

Hi @CodeRishiX, you've already reached the limit of 2 active assignments across the labels: ``.

These labels are meant for new contributors to get started, so we encourage you to now explore more advanced issues.
This helps new contributors take their first steps while you continue to grow with more challenging tasks πŸ’ͺ


What you can do next:

  • βœ… Finish one of your current beginner-labeled issues, then come back for another.
  • πŸ”„ Use /unassign-me on an issue you're no longer working on.
  • πŸš€ Ask a maintainer for suggestions on "next-level" issues (e.g. good second issue or beyond).
  • πŸ™‹ Request an exception from a maintainer if there’s a special case.

[!TIP] Moving to higher-level issues helps you deepen your skills and contribute more impactfully to the project.

Thanks for your great work and for helping keep the community open to newcomers! πŸ’œ

github-actions[bot] avatar Nov 21 '25 13:11 github-actions[bot]

/assign-me

CodeRishiX avatar Nov 21 '25 13:11 CodeRishiX

πŸ‘‹ Hey @CodeRishiX, thank you for your interest in this issue! πŸŽ‰

We're excited to have you on board. Start by exploring our Contributing guidelines, and set up your local development workspace by following the steps in our workspace setup guidelines to get started smoothly.

For questions on JabRef functionality, you can consult the JabRef Guru. For questions related to the codebase, please start using DeepWiki.

In case you encounter failing tests during development, please check our developer FAQs!

Still facing issues or having more questions? Feel free to ask here on GitHub or on JabRef's Gitter chat. Please don't hesitate to open a (draft) pull request early on to show the direction you are heading towards if unsure.

Happy coding! πŸš€

github-actions[bot] avatar Nov 21 '25 13:11 github-actions[bot]

⏰ Assignment Reminder

Hi @CodeRishiX, this is a friendly reminder about your assignment to this issue.

[!WARNING] This issue will be automatically unassigned in 11 days if there's no activity.

Remember that you can ask the JabRef Guru or DeepWiki about anything regarding JabRef. Additionally, our contributing guide has hints on creating a pull request and a link to our Gitter chat.

How to keep your assignment


If you are working on it, you can prevent automatic unassignment by:

  • Submitting a draft pull request with your progress within 11 days
  • Asking for the πŸ“Œ Pinned label if you need more time

We appreciate your contribution and are here to help if needed!

github-actions[bot] avatar Dec 01 '25 12:12 github-actions[bot]

/assign-me

omkarrr2533 avatar Dec 07 '25 04:12 omkarrr2533

⚠️ Issue Already Assigned

Hi @omkarrr2533, this issue is currently assigned to @CodeRishiX.

[!NOTE] This issue is pinned and will not be automatically unassigned.

Options for contributors
  • Collaborate: You can ask the assignee if they want help
  • Maintainer assistance: A maintainer can add you as co-assignee if appropriate
  • Wait for completion: The issue will remain assigned until the work is complete

jabref-machine avatar Dec 07 '25 04:12 jabref-machine