Package: checktor 0.2.0

James Joseph Balamuta

checktor: Extra CRAN Submission Checks

Provides automated checks for common Comprehensive R Archive Network (CRAN) submission issues that are not caught by standard 'R CMD check'. Consolidates ad-hoc requirements that CRAN reviewers enforce but standard checks do not surface, helping R package maintainers identify and fix issues before submission to reduce rejection rates. Covers code-pattern issues, DESCRIPTION-field formatting, documentation problems, and general package structure concerns.

Authors:James Joseph Balamuta [aut, cre, cph]

checktor_0.2.0.tar.gz
checktor_0.2.0.zip(r-4.7-any)checktor_0.2.0.zip(r-4.6-any)checktor_0.2.0.zip(r-4.5-any)
checktor_0.2.0.tgz(r-4.6-any)checktor_0.2.0.tgz(r-4.5-any)
checktor_0.2.0.tar.gz(r-4.7-any)checktor_0.2.0.tar.gz(r-4.6-any)
checktor_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
checktor/json (API)

# Install 'checktor' in R:
install.packages('checktor', repos = c('https://coatless-rpkg.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/coatless-rpkg/checktor/issues

Pkgdown/docs site:https://r-pkg.thecoatlessprofessor.com

On CRAN:

Conda:

quarto

6.84 score 28 stars 11 scripts 384 downloads 105 exports 5 dependencies

Last updated from:2598530d29. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK165
source / vignettesOK204
linux-releaseOK137
macos-releaseOK158
macos-oldrelOK161
windows-develOK173
windows-releaseOK179
windows-oldrelOK183
wasm-releaseOK86

Exports:checktorchecktor_category_resultchecktor_check_resultcheckupci_reportcollect_rd_textconfigure_doctordiagnose_code_issuesdiagnose_description_issuesdiagnose_documentation_issuesdiagnose_general_issuesdiagnose_policy_violationsexample_diagnose_scenarioextract_rd_sectionfailed_checksfind_package_roothealth_reportis_healthyissueslab_acronymslab_authorslab_browser_callslab_citation_filelab_code_exercisedlab_commented_exampleslab_core_usagelab_cph_rolelab_cran_comments_filelab_date_formatlab_description_fieldslab_description_filelab_description_function_quoteslab_description_lengthlab_description_placeholderslab_description_quoted_quoteslab_description_starts_withlab_detect_cores_robustnesslab_donttest_vs_dontrunlab_encoding_utf8lab_example_installslab_example_interactivelab_example_internal_nslab_example_statelab_example_structurelab_example_tf_usagelab_example_unparseablelab_example_writeslab_file_operationslab_format_nameslab_globalenv_modlab_hardcoded_credentialslab_home_writinglab_identifier_formatlab_installed_packageslab_internal_nslab_language_nameslab_library_in_pkglab_licenselab_license_file_unneededlab_license_yearlab_missing_exampleslab_network_operationslab_news_filelab_option_changeslab_package_sizelab_print_cat_usagelab_rd_bibliographylab_rd_bibliography_fileslab_readme_linkslab_referenceslab_roxygen_usagelab_seed_settinglab_software_installlab_software_nameslab_spellinglab_suggested_in_exampleslab_sys_setenvlab_system_callslab_temp_cleanuplab_tf_usagelab_title_caselab_title_lengthlab_title_package_namelab_title_redundant_phraseslab_title_starts_with_articlelab_unexported_example_nslab_url_livenesslab_urlslab_value_tagslab_version_formatlab_warn_optionn_failed_checksn_issuesnot_under_fn_with_call_xpathpassedprescriberead_r_xmlregister_checkregistered_checksshow_example_filestidyundesirable_function_checkunregister_checkxpath_lintsxpath_per_file

Dependencies:cligenericsrlangxml2xmlparsedata

Writing Your Own Checks
The shape of a check | Helpers in R/ast.R and R/rd.R | read_r_xml(path) | xpath_lints(parsed, xpath, label = NULL) | undesirable_function_check(parsed, funs, label = TRUE) | not_under_fn_with_call_xpath(funs) | extract_rd_section(rd, tag) and collect_rd_text(node, skip) | Walked example: Sys.setenv() without cleanup | The xmlparsedata XML structure | Trying it out | Wiring it into checktor() | Without writing code | Conclusion | See also

Last update: 2026-09-25
Started: 2026-06-24

Where the Checks Come From
The tiers, and what each one rests on | Which checks run | Code checks | DESCRIPTION checks | Documentation checks | Example, vignette and demo checks | General checks | CRAN policy checks | What the Cookbook covers that checktor does not | When checktor and an authority disagree

Last update: 2026-09-25
Started: 2026-07-25

checktor in Continuous Integration
The one function CI needs | A GitHub Actions job | Failing loudly, not silently | Tuning the examination | Findings on the diff, not in the log | Keeping the report | What a runner does not check | Closer to the keyboard | The takeaway | See also

Last update: 2026-09-24
Started: 2026-06-25

Getting Started with checktor
The gap checktor fills | Installation | A first checkup | Reading the results as data | The one-line gate | From diagnosis to treatment | Examining one system at a time | Checking only what is included | Turning down the volume | Checks you ask for, and checks you turn off | Where it fits | Conclusion | See also

Last update: 2026-09-24
Started: 2025-09-05

What R CMD check Checks
The four verdicts | Packaging and installation | DESCRIPTION and metadata | R code | Documentation | Examples, tests, and vignettes | The CRAN incoming checks (--as-cran) | Cleanup | Steps you will only see sometimes | Where checktor fits

Last update: 2026-09-24
Started: 2026-07-25

Readme and manuals

Help Manual

Help pageTopics
Diagnose Package for CRAN Submission Issueschecktor
Create a Multi-Category Diagnostic Result Objectchecktor_category_result
Create a Standard Diagnostic Check Result Objectchecktor_check_result
Quick Health Checkcheckup
Report Findings in the Format Your CI Understandsci_report
Flatten a Parsed '.Rd' Node to Textcollect_rd_text
Configure Package Doctor Defaultsconfigure_doctor
Diagnose Code Health Issuesdiagnose_code_issues
Diagnose DESCRIPTION File Issuesdiagnose_description_issues
Diagnose Documentation Issuesdiagnose_documentation_issues
Diagnose General Package Issuesdiagnose_general_issues
Check for Common CRAN Policy Violationsdiagnose_policy_violations
Create Example Diagnostic Scenarioexample_diagnose_scenario
Extract One Section from a Parsed '.Rd' Fileextract_rd_section
Find the Root of the Package Containing a Pathfind_package_root
Comprehensive Health Reporthealth_report
Extract issues, checks, or a per-category summary from checktor resultsissues issues.checktor_category_result issues.checktor_check_result issues.checktor_results
Diagnose Unexplained Acronyms in DESCRIPTIONlab_acronyms
Diagnose the Authors@R Fieldlab_authors
Diagnose Leftover browser() Callslab_browser_calls
Diagnose Old-Style or Unsafe Calls in inst/CITATIONlab_citation_file
Diagnose a Package Nothing Exerciseslab_code_exercised
Diagnose Examples That Run Nothinglab_commented_examples
Diagnose Parallel Core Usagelab_core_usage
Diagnose a Missing Copyright Holderlab_cph_role
Diagnose a Missing cran-comments.md Filelab_cran_comments_file
Diagnose the DESCRIPTION Date Fieldlab_date_format
Diagnose DESCRIPTION Fields R Does Not Knowlab_description_fields
Diagnose a DESCRIPTION File R Cannot Readlab_description_file
Diagnose Single-Quoted Function Nameslab_description_function_quotes
Diagnose Description Lengthlab_description_length
Diagnose Template Text Left in DESCRIPTIONlab_description_placeholders
Diagnose Double-Quoted Software Nameslab_description_quoted_quotes
Diagnose the Description Openinglab_description_starts_with
Diagnose Unguarded 'detectCores()'lab_detect_cores_robustness
Diagnose dontrun Where donttest Belongslab_donttest_vs_dontrun
Diagnose a DESCRIPTION Encoding Other Than UTF-8lab_encoding_utf8
Diagnose Installs in Examples, Vignettes and Demoslab_example_installs
Diagnose Interactive Examples Hidden in \\dontrun{} or \\donttest{}lab_example_interactive
Diagnose ':::' in Exampleslab_example_internal_ns
Diagnose Session State Left Changed by Exampleslab_example_state
Diagnose Example Structurelab_example_structure
Diagnose 'T'/'F' Usage in Examples, Vignettes and Demoslab_example_tf_usage
Diagnose Examples That Are Not Valid Rlab_example_unparseable
Diagnose Writes Outside the Temporary Directory in Exampleslab_example_writes
Diagnose Writes to the User's Filespacelab_file_operations
Diagnose Bare Format and Markup Names in DESCRIPTIONlab_format_names
Diagnose Writes to the Global Environmentlab_globalenv_mod
Diagnose Hardcoded Credentials in Package Codelab_hardcoded_credentials
Diagnose Writes to the User's Home Directorylab_home_writing
Diagnose Author Identifier Formattinglab_identifier_format
Diagnose installed.packages() Usagelab_installed_packages
Diagnose ':::' in Package Codelab_internal_ns
Diagnose Programming-Language Names in DESCRIPTIONlab_language_names
Diagnose library() in Package Codelab_library_in_pkg
Diagnose the License Fieldlab_license
Diagnose an Unneeded LICENSE File Pointerlab_license_file_unneeded
Diagnose an Unfilled LICENSE Templatelab_license_year
Diagnose Exported Functions Missing Exampleslab_missing_examples
Diagnose Unguarded Network Accesslab_network_operations
Diagnose a Missing NEWS Filelab_news_file
Diagnose Unrestored Option Changeslab_option_changes
Diagnose Package Sizelab_package_size
Diagnose Print/Cat Usage in Functionslab_print_cat_usage
Diagnose Citations Missing From the Bibliographylab_rd_bibliography
Diagnose a Bibliography R Cannot Read or Installlab_rd_bibliography_files
Diagnose Relative Links in the READMElab_readme_links
Diagnose Reference Formatting in DESCRIPTIONlab_references
Diagnose Stale Generated Documentationlab_roxygen_usage
Diagnose Hardcoded Seed Settinglab_seed_setting
Diagnose Package Installation From Package Codelab_software_install
Diagnose Unquoted Software Names in DESCRIPTIONlab_software_names
Diagnose Possibly Misspelled Words in DESCRIPTIONlab_spelling
Diagnose Suggested Packages Used in Examples Without a Guardlab_suggested_in_examples
Diagnose Unrestored Environment Variableslab_sys_setenv
Diagnose System Callslab_system_calls
Diagnose Missing Temp-File Cleanuplab_temp_cleanup
Diagnose 'T'/'F' Usage in R Codelab_tf_usage
Diagnose Title Case in DESCRIPTIONlab_title_case
Diagnose Title Lengthlab_title_length
Diagnose a Title That Repeats the Package Namelab_title_package_name
Diagnose Redundant Phrases in Titlelab_title_redundant_phrases
Diagnose Title Starting With an Articlelab_title_starts_with_article
Diagnose Bare Calls to Unexported Functions in Exampleslab_unexported_example_ns
Diagnose Broken and Redirecting URLslab_url_liveness
Diagnose URL Issues in Package Fileslab_urls
Diagnose Missing Value Tags in Documentationlab_value_tags
Diagnose the DESCRIPTION Version Fieldlab_version_format
Diagnose Changes to options(warn=)lab_warn_option
XPath Predicate: Not Guarded by a Sibling Callnot_under_fn_with_call_xpath
Status predicates for checktor resultsfailed_checks failed_checks.checktor_category_result failed_checks.checktor_results is_healthy is_healthy.checktor_category_result is_healthy.checktor_check_result is_healthy.checktor_results n_failed_checks n_failed_checks.checktor_category_result n_failed_checks.checktor_results n_issues n_issues.checktor_category_result n_issues.checktor_check_result n_issues.checktor_results passed passed.checktor_category_result passed.checktor_check_result passed.checktor_results predicates
Treatment Recommendationsprescribe
Print Method for checktor_category_result Objectsprint.checktor_category_result
Print Method for checktor_check_result Objectsprint.checktor_check_result
Print Method for checktor_results Objectsprint.checktor_results
Parse a Package's R Sources into Queryable XMLread_r_xml
Register a Custom Check with 'checktor()'register_check
List Registered Checksregistered_checks
Show Available Example Filesshow_example_files
Per-category summary of checktor resultssummary.checktor_category_result summary.checktor_results
Tidy a checktor result into a per-check data frameas.data.frame.checktor_category_result as.data.frame.checktor_results tidy.checktor_category_result tidy.checktor_results
Flag Every Call to a Named Functionundesirable_function_check
Remove Registered Checksunregister_check
Collect XPath Matches as 'file:line' Stringsxpath_lints
Summarise XPath Matches per Filexpath_per_file