R 패키지 메타데이터와 수집 신호를 모아 봅니다.
첫 화면에서 판단해야 할 수집 신호를 먼저 배치합니다.
DESCRIPTION에서 감지한 backend 관련 package입니다.
기본 메타데이터를 작은 카드와 토큰으로 압축합니다.
| Package | Type | Spec |
|---|---|---|
| cli CRAN · 0.3.1 · 2026-05-30 | Imports | cli (>= 3.6.3) |
| ellmer CRAN · 0.3.1 · 2026-05-30 | Imports | ellmer (>= 0.4.0) |
| glue CRAN · 0.3.1 · 2026-05-30 | Imports | glue (>= 1.8.0) |
| miniUI CRAN · 0.3.1 · 2026-05-30 | Imports | miniUI (>= 0.1.1.1) |
| rlang CRAN · 0.3.1 · 2026-05-30 | Imports | rlang (>= 1.1.4) |
| rstudioapi CRAN · 0.3.1 · 2026-05-30 | Imports | rstudioapi (>= 0.17.1) |
| shiny CRAN · 0.3.1 · 2026-05-30 | Imports | shiny (>= 1.9.1) |
| streamy CRAN · 0.3.1 · 2026-05-30 | Imports | streamy (>= 0.2.1) |
| gt CRAN · 0.3.1 · 2026-05-30 | Suggests | gt |
| knitr CRAN · 0.3.1 · 2026-05-30 | Suggests | knitr |
| rmarkdown CRAN · 0.3.1 · 2026-05-30 | Suggests | rmarkdown |
| testthat CRAN · 0.3.1 · 2026-05-30 | Suggests | testthat (>= 3.0.0) |
| tibble CRAN · 0.3.1 · 2026-05-30 | Suggests | tibble |
| withr CRAN · 0.3.1 · 2026-05-30 | Suggests | withr |
| 검색 결과가 없습니다. | ||
| Package | Type | Spec |
|---|---|---|
| 표시할 dependency edge가 없습니다. | ||
| 검색 결과가 없습니다. | ||
NEWS code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} chores 0.3.1 Adjusted the recommended models in documentation. Anthropic : Claude Sonnet 3.7 -> Claude Haiku 4.5. OpenAI : Updated documentation to reflect GPT 4.1 and GPT 4.1 mini model names. Google : Added Gemini 3 Flash as a recommended model. prompt_new() gains an overwrite argument. When overwrite = TRUE , an existing prompt for the given chore will be overwritten with the provided contents (#103). chores 0.3.0 Adjusted the default recommended models in documentation (#98). Local models : At the time of chores’ last release, open-weights models that could reasonably run on a high-end laptop didn’t do the trick for powering chores helpers. The Qwen3 4B Instruct 2507 release changed this; the model provides high-accuracy responses with low latency on high-end laptops. See the “Getting started with chores” vignette for more information. OpenAI : GPT-4o and GPT-4o-mini transitioned to GPT 4.1 and GPT 4.1 mini, respectively. Anthropic : Claude Sonnet 3.5 -> Claude Sonnet 3.7. Note that Sonnet 3.7 is not the newest available minimally-thinking model from Anthropic. The newer models like Sonnet and Haiku 4.5 tend to introduce backticks in responses and struggle to strictly follow the requested output format. Reduced the cli helper prompt from ~4,100 to ~2,300 tokens for compatibility with default context window lenth of ollama and LM Studio, 4096. Previously, those applications would silently truncate the prompt, resulting in the model not receiving access to critical instructions about response format and appearing to ignore it entirely. The other default helper prompts were already well below the default limit. Introduced chores.chat and chores.dir as the preferred option names, following standard R package option naming conventions. The legacy options .chores_chat and .chores_dir continue to work and will not be deprecated (#99). Bumped the minimum version of the streamy package to 0.2.1, which will resolve an issue where some newlines were removed from multi-line file writes in Positron (#96). chores 0.2.0 In the helper selection app, clicking a helper in the selectize will now submit the selected choice. Previously, the user would have to click the helper to select it and then submit the selected choice by pressing Return/Enter (#87). This change aligns behavior in the UI when selecting helpers with a mouse click versus the up/down arrows. Users no longer need to call directory_load() manually after adding new custom helpers; the helper selection app will refresh the list of available helpers on app launch (#88). chores 0.1.0 Initial CRAN submission. Notable changes pre-CRAN submission Early adopters of the package will note a few changes made shortly before the release of the package to CRAN: The package was renamed from pal to chores, and the grammar surrounding the package shifted a bit in the process: “a pal from the pal package with a given role” is now “a helper from the chores package for a given chore.” The configuration options .pal_fn and .pal_args have been transitioned to one option, .chores_chat . That option takes an ellmer Chat, e.g. options(.chores_chat = ellmer::chat_claude()) . There is no longer a default ellmer model. Early in the development of chores, if you had an ANTHROPIC_API_KEY set up, the addin would “just work.” While this was convenient for Claude users, but it means that the package spends money on the users behalf without any explicit opt-in.README code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } .sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @media screen { div.sourceCode { overflow: auto; } } @media print { pre > code.sourceCode { white-space: pre-wrap; } pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } } pre.numberSource code { counter-reset: source-line 0; } pre.numberSource code > span { position: relative; left: -4em; counter-increment: source-line; } pre.numberSource code > span > a:first-child::before { content: counter(source-line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; color: #aaaaaa; } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode { } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } code span.al { color: #ff0000; font-weight: bold; } /* Alert */ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: #7d9029; } /* Attribute */ code span.bn { color: #40a070; } /* BaseN */ code span.bu { color: #008000; } /* BuiltIn */ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ code span.ch { color: #4070a0; } /* Char */ code span.cn { color: #880000; } /* Constant */ code span.co { color: #60a0b0; font-style: italic; } /* Comment */ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ code span.do { color: #ba2121; font-style: italic; } /* Documentation */ code span.dt { color: #902000; } /* DataType */ code span.dv { color: #40a070; } /* DecVal */ code span.er { color: #ff0000; font-weight: bold; } /* Error */ code span.ex { } /* Extension */ code span.fl { color: #40a070; } /* Float */ code span.fu { color: #06287e; } /* Function */ code span.im { color: #008000; font-weight: bold; } /* Import */ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: #007020; font-weight: bold; } /* Keyword */ code span.op { color: #666666; } /* Operator */ code span.ot { color: #007020; } /* Other */ code span.pp { color: #bc7a00; } /* Preprocessor */ code span.sc { color: #4070a0; } /* SpecialChar */ code span.ss { color: #bb6688; } /* SpecialString */ code span.st { color: #4070a0; } /* String */ code span.va { color: #19177c; } /* Variable */ code span.vs { color: #4070a0; } /* VerbatimString */ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ chores The chores package provides a library of ergonomic LLM assistants designed to help you complete repetitive, hard-to-automate tasks quickly. After selecting some code, press the keyboard shortcut you’ve chosen to trigger the chores addin (we suggest Ctrl+Cmd+C ), select the helper, and watch your code be rewritten. This package used to be called pal. Installation Getting started with chores takes three steps. 1) Install the chores package like so: install.packages ( "chores" ) You can install the developmental version with: pak :: pak ( "simonpcouch/chores" ) 2) Then, you need to configure chores with an ellmer model. chores uses ellmer under the hood, so any model that you can chat with through ellmer is also supported by chores. To configure chores with ellmer, set the option chores.chat to any ellmer Chat. For example, to use Claude, you’d write options(chores.chat = ellmer::chat_claude()) , possibly in your .Rprofile so that chores is ready to go every time you start R. You can also use a local model like Qwen3 4B Instruct 2507 for free, fully private inference (see the vignette for setup instructions). To learn more, see the Getting started with chores vignette. 3) Chore helpers are interfaced with the via the chores addin. For easiest access, we recommend registering the chores addin to a keyboard shortcut. In RStudio , navigate to Tools > Modify Keyboard Shortcuts > Search "Chores" —we suggest Ctrl+Alt+C (or Ctrl+Cmd+C on macOS). In Positron , you’ll need to open the command palette, run “Open Keyboard Shortcuts (JSON)”, and paste the following into your keybindings.json : { "key" : "Ctrl+Cmd+C" , "command" : "workbench.action.executeCode.console" , "when" : "editorTextFocus" , "args" : { "langId" : "r" , "code" : "chores::.init_addin()" , "focus" : true } } The analogous keybinding on non-macOS is Ctrl+Alt+C . That said, change the "key" entry to any keybinding you wish! Once those steps are completed, you’re ready to use helpers with a keyboard shortcut. Example Chore helpers are created automatically when users interact with the chores addin. Just highlight some code, open the addin, begin typing the “chore” of your chores and press “Return”, and watch your code be rewritten: As-is, the package provides ergonomic LLM assistants for R package development: "cli" : Convert to cli "testthat" : Convert to testthat 3 "roxygen" : Document functions with roxygen Users have also contributed a number of helpers for a wide range of tasks–see vignette("gallery", package = "chores") for a gallery of user-contributed helpers! That said, all you need to create your own chore helper is a markdown file with some instructions on how you’d like it to work. See prompt_new() for more information, and palpable for an example chores extension package. How much do helpers cost? The cost of using helpers depends on 1) the length of the underlying prompt for a given helper and 2) the cost per token of the chosen model. Using the cli helper with Anthropic’s Claude Haiku 4.5, for example, costs something like $3 per 1,000 code refactorings, while using the testthat helper with OpenAI’s GPT 4.1-mini would cost something like 60 cents per 1,000 refactorings. Chore helpers using a local model like Qwen3 4B Instruct 2507 are free and keep your code fully private, though with slightly reduced accuracy compared to hosted models.Help for package chores const macros = { "\\R": "\\textsf{R}", "\\mbox": "\\text", "\\code": "\\texttt"}; function processMathHTML() { var l = document.getElementsByClassName('reqn'); for (let e of l) { katex.render(e.textContent, e, { throwOnError: false, macros }); } return; } Package {chores} Contents chores-package .init_addin .init_helper cli_helper directory helper_options prompt roxygen_helper testthat_helper Title: A Collection of Large Language Model Assistants Version: 0.3.1 Description: Provides a collection of ergonomic large language model assistants designed to help you complete repetitive, hard-to-automate tasks quickly. After selecting some code, press the keyboard shortcut you've chosen to trigger the package app, select an assistant, and watch your chore be carried out. While the package ships with a number of chore helpers for R package development, users can create custom helpers just by writing some instructions in a markdown file. License: MIT + file LICENSE Config/testthat/edition: 3 Encoding: UTF-8 RoxygenNote: 7.3.3 URL: https://github.com/simonpcouch/chores , https://simonpcouch.github.io/chores/ BugReports: https://github.com/simonpcouch/chores/issues Imports: cli (≥ 3.6.3), glue (≥ 1.8.0), ellmer (≥ 0.4.0), miniUI (≥ 0.1.1.1), rlang (≥ 1.1.4), rstudioapi (≥ 0.17.1), shiny (≥ 1.9.1), streamy (≥ 0.2.1) Suggests: gt, knitr, rmarkdown, testthat (≥ 3.0.0), tibble, withr VignetteBuilder: knitr NeedsCompilation: no Packaged: 2026-03-04 21:27:05 UTC; simoncouch Author: Simon Couch [aut, cre], Posit Software, PBC [cph, fnd] Maintainer: Simon Couch <simon.couch@posit.co> Repository: CRAN Date/Publication: 2026-03-04 22:00:02 UTC chores: A Collection of Large Language Model Assistants Description Provides a collection of ergonomic large language model assistants designed to help you complete repetitive, hard-to-automate tasks quickly. After selecting some code, press the keyboard shortcut you've chosen to trigger the package app, select an assistant, and watch your chore be carried out. While the package ships with a number of chore helpers for R package development, users can create custom helpers just by writing some instructions in a markdown file. Author(s) Maintainer : Simon Couch simon.couch@posit.co ( ORCID ) Other contributors: Posit Software, PBC ( ROR ) [copyright holder, funder] See Also Useful links: https://github.com/simonpcouch/chores https://simonpcouch.github.io/chores/ Report bugs at https://github.com/simonpcouch/chores/issues Run the chores addin Description The chores addin allows users to interactively select a chore helper to interface with the current selection. This function is not intended to be interfaced with in regular usage of the package. To launch the chores addin in RStudio, navigate to Addins > Chores and/or register the addin with a shortcut via Tools > Modify Keyboard Shortcuts > Search "Chores" –we suggest Ctrl+Alt+C (or Ctrl+Cmd+C on macOS). Usage .init_addin() Value NULL , invisibly. Called for the side effect of launching the chores addin and interfacing with selected text. Examples if (interactive()) { .init_addin() } Initialize a Helper object Description Users typically should not need to call this function. Create new helpers that will automatically be registered with this function with prompt_new() . The chores addin will initialize needed helpers on-the-fly. Usage .init_helper(chore = NULL, .chores_chat = get_chores_chat()) Arguments chore The identifier for a helper prompt. By default one of "cli" , "testthat" or "roxygen" , though custom helpers can be added with prompt_new() . .chores_chat An ellmer Chat, e.g. ellmer::chat_claude() or ellmer::chat_google_gemini() . Defaults to the chores.chat option, so e.g. set options(chores.chat = ellmer::chat_claude(model = "claude-haiku-4-5")) in your .Rprofile to configure chores with ellmer every time you start a new R session. Value A Helper object, which is a subclass of an ellmer chat. Examples # requires an API key and sets options ## Not run: # to create a chat with claude: .init_helper(.chores_chat = ellmer::chat_claude(model = "claude-haiku-4-5")) # or with OpenAI's GPT-4.1-mini: .init_helper(.chores_chat = ellmer::chat_openai(model = "gpt-4.1-mini")) # or with Google's Gemini 3 Flash: .init_helper(.chores_chat = ellmer::chat_google_gemini( model = "gemini-3-flash-preview", api_args = list( generationConfig = list( thinkingConfig = list(thinkingLevel = "minimal") ) ) )) # to set OpenAI's GPT-4.1-mini as the default model powering chores, for example, # set the following option (possibly in your .Rprofile, if you'd like # them to persist across sessions): options( chores.chat = ellmer::chat_openai(model = "gpt-4.1-mini") ) ## End(Not run) The cli helper Description A couple years ago, the tidyverse team began migrating to the cli R package for raising errors, transitioning away from base R (e.g. stop() ), rlang (e.g. rlang::abort() ), glue, and homegrown combinations of them. cli's new syntax is easier to work with as a developer and more visually pleasing as a user. In some cases, transitioning is as simple as Finding + Replacing rlang::abort() to cli::cli_abort() . In others, there's a mess of ad-hoc pluralization, paste0() s, glue interpolations, and other assorted nonsense to sort through. Total pain, especially with thousands upon thousands of error messages thrown across the tidyverse, r-lib, and tidymodels organizations. The cli helper helps you convert your R package to use cli for error messages. Cost The system prompt for a cli helper includes something like 2,400 tokens. Add in (a generous) 100 tokens for the code that's actually highlighted and also sent off to the model and you're looking at 2,500 input tokens. The model returns approximately the same number of output tokens as it receives, so we'll call that 100 output tokens per refactor. As of the time of writing, the recommended chores model Claude Haiku 4.5 costs $1 per million input tokens and $5 per million output tokens. So, using the recommended model, cli helpers cost around $3 for every 1,000 refactored pieces of code . GPT-4.1 Mini, by contrast, doesn't tend to get cli markup classes right but does return syntactically valid calls to cli functions, and it would cost around $1 per 1,000 refactored pieces of code. Gallery This section includes a handful of examples "from the wild" and are generated with Claude Sonnet 3.5. At its simplest, a one-line message with a little bit of markup: rlang::abort("`save_pred` can only be used if the initial results saved predictions.") Returns: cli::cli_abort("{.arg save_pred} can only be used if the initial results saved predictions.") Some strange vector collapsing and funky line breaking: extra_grid_params <- glue::single_quote(extra_grid_params) extra_grid_params <- glue::glue_collapse(extra_grid_params, sep = ", ") msg <- glue::glue( "The provided `grid` has the following parameter columns that have ", "not been marked for tuning by `tune()`: {extra_grid_params}." ) rlang::abort(msg) Returns: cli::cli_abort( "The provided {.arg grid} has parameter columns that have not been marked for tuning by {.fn tune}: {.val {extra_grid_params}}." ) A message that probably best lives as two separate elements: rlang::abort( paste( "Some model parameters require finalization but there are recipe", "parameters that require tuning. Please use ", "`extract_parameter_set_dials()` to set parameter ranges ", "manually and supply the output to the `param_info` argument." ) ) Returns: cli::cli_abort( c( "Some model parameters require finalization but there are recipe parameters that require tuning.", "i" = "Please use {.fn extract_parameter_set_dials} to set parameter ranges manually and supply the output to the {.arg param_info} argument." ) ) Gnarly ad-hoc pluralization: msg <- "Creating pre-processing data to finalize unknown parameter" unk_names <- pset$id[unk] if (length(unk_names) == 1) { msg <- paste0(msg, ": ", unThe chores addin allows users to interactively select a chore helper to interface with the current selection. This function is not intended to be interfaced with in regular usage of the package. To launch the chores addin in RStudio, navigate to Addins > Chores and/or register the addin with a shortcut via Tools > Modify Keyboard Shortcuts > Search "Chores"--we suggest Ctrl+Alt+C (or Ctrl+Cmd+C on macOS).
.init_addin()if (interactive()) .init_addin()Users typically should not need to call this function. Create new helpers that will automatically be registered with this function with [=prompt_new]prompt_new(). The [=.init_addin]chores addin will initialize needed helpers on-the-fly.
.init_helper(chore = NULL, .chores_chat = get_chores_chat())# requires an API key and sets options # to create a chat with claude: .init_helper(.chores_chat = ellmer::chat_claude(model = "claude-haiku-4-5")) # or with OpenAI's GPT-4.1-mini: .init_helper(.chores_chat = ellmer::chat_openai(model = "gpt-4.1-mini")) # or with Google's Gemini 3 Flash: .init_helper(.chores_chat = ellmer::chat_google_gemini( model = "gemini-3-flash-preview", api_args = list( generationConfig = list( thinkingConfig = list(thinkingLevel = "minimal") ) ) )) # to set OpenAI's GPT-4.1-mini as the default model powering chores, for example, # set the following option (possibly in your .Rprofile, if you'd like # them to persist across sessions): options( chores.chat = ellmer::chat_openai(model = "gpt-4.1-mini") )htmllogo.pngoptions: style='float: right' alt='logo' width='120' Provides a collection of ergonomic large language model assistants designed to help you complete repetitive, hard-to-automate tasks quickly. After selecting some code, press the keyboard shortcut you've chosen to trigger the package app, select an assistant, and watch your chore be carried out. While the package ships with a number of chore helpers for R package development, users can create custom helpers just by writing some instructions in a markdown file.
A couple years ago, the tidyverse team began migrating to the cli R package for raising errors, transitioning away from base R (e.g. stop()), rlang (e.g. rlang::abort()), glue, and homegrown combinations of them. cli's new syntax is easier to work with as a developer and more visually pleasing as a user. In some cases, transitioning is as simple as Finding + Replacing rlang::abort() to cli::cli_abort(). In others, there's a mess of ad-hoc pluralization, paste0()s, glue interpolations, and other assorted nonsense to sort through. Total pain, especially with thousands upon thousands of error messages thrown across the tidyverse, r-lib, and tidymodels organizations. The cli helper helps you convert your R package to use cli for error messages.
The chores package's prompt directory is a directory of markdown files that is automatically registered with the chores package on package load. directory_*() functions allow users to interface with the directory, making new "chores" available: directory_path() returns the path to the prompt directory. directory_set() changes the path to the prompt directory (by setting the option chores.dir). directory_list() enumerates all of the different prompts that currently live in the directory (and provides clickable links to each). [=prompt]Functions prefixed with prompt*() allow users to conveniently create, edit, and delete the prompts in chores' prompt directory.
directory_load(dir = directory_path()) directory_list() directory_path() directory_set(dir)# choose a path for the prompt directory tmp_dir <- withr::local_tempdir() directory_set(tmp_dir) # print out the current prompt directory directory_path() # list out prompts currently in the directory directory_list() # create a prompt in the prompt directory prompt_new("boop", "replace") # view updated list of prompts directory_list()The chores package makes use of two notable user-facing options: chores.chat determines the underlying LLM powering each helper. See the "Choosing a model" section of vignette("chores", package = "chores") for more information. The legacy option .chores_chat is also supported. chores.dir is the directory where helper prompts live. See the helper directory help-page for more information. The legacy option .chores_dir is also supported.
The chores package provides a number of tools for working on system prompts. System prompts are what instruct helpers on how to behave and provide information to live in the models' "short-term memory." prompt_*() functions allow users to conveniently create, edit, remove, the prompts in chores' "[=directory]prompt directory." prompt_new() creates a new markdown file that will automatically create a helper with the specified chore, prompt, and interface on package load. Specify a contents argument to prefill with contents from a markdown file on your computer or the web. prompt_edit() and prompt_remove() open and delete, respectively, the file that defines the given chore's system prompt. The prompts you create with these functions will be automatically loaded when you next trigger the helper addin.
prompt_new(chore, interface, contents = NULL, overwrite = FALSE) prompt_remove(chore) prompt_edit(chore)if (interactive()) # create a new helper for chore `"boop"` that replaces the selected text: prompt_new("boop") # after closing the file, reopen with: prompt_edit("boop") # remove the prompt (next time the package is loaded) with: prompt_remove("boop") # pull prompts from files on local drives or the web with # `prompt_new(contents)`. for example, here is a GitHub Gist: # paste0( # "https://gist.githubusercontent.com/simonpcouch/", # "daaa6c4155918d6f3efd6706d022e584/raw/ed1da68b3f38a25b58dd9fdc8b9c258d", # "58c9b4da/summarize-prefix.md" # ) # # press "Raw" and then supply that URL as `contents` (you don't actually # have to use the paste0() to write out the URL--we're just keeping # the characters per line under 80): prompt_new( chore = "summarize", interface = "prefix", contents = paste0( "https://gist.githubusercontent.com/simonpcouch/", "daaa6c4155918d6f3efd6706d022e584/raw/ed1da68b3f38a25b58dd9fdc8b9c258d", "58c9b4da/summarize-prefix.md" ) )The roxygen helper prefixes the selected function with a minimal roxygen2 documentation template. The helper is instructed to only generate a subset of a complete documentation entry, to be then completed by a developer: Stub @param descriptions based on defaults and inferred types Stub @returns entry that describes the return value as well as important errors and warnings users might encounter.
testthat 3.0.0 was released in 2020, bringing with it numerous changes that were both huge quality of life improvements for package developers and also highly breaking changes. While some of the task of converting legacy unit testing code to testthat 3e is quite is pretty straightforward, other components can be quite tedious. The testthat helper helps you transition your R package's unit tests to the third edition of testthat, namely via: Converting to snapshot tests Disentangling nested expectations Transitioning from deprecated functions like expect_known_*()
| Repository | Version | Published | First seen | Last seen | Docs |
|---|---|---|---|---|---|
| CRAN | 0.3.1 | 2026-05-29 | 2026-05-30 |
표시할 OSV 데이터가 없습니다.
표시할 OpenAlex 데이터가 없습니다.