NEWS
checktor 0.1.0 (2026-07-02)
- Initial release.
- Adds [
checktor()] as the top-level orchestrator, running five categories
of diagnostics (code, DESCRIPTION, documentation, general, CRAN policy)
against an R package directory.
- Adds the [
checkup()] boolean wrapper for CI use, [prescribe()] for
treatment recommendations, and [health_report()] for Markdown / HTML /
text reports.
- All code-side diagnostics run XPath queries against the parsed AST via
xmlparsedata + xml2. Documentation-side checks walk .Rd files via
tools::parse_Rd(). DESCRIPTION is parsed with base::read.dcf().
- Added result accessors so you no longer navigate nested lists:
issues()
(per-issue table), tidy() (per-check table), summary() (per-category),
plus passed(), is_healthy(), n_issues(), n_failed_checks(), and
failed_checks(). as.data.frame() on a result is equivalent to tidy().
- Expanded the CRAN-submission diagnostics with additional heuristics:
- General: flags a missing
NEWS file (diagnose_news_file()) and README
relative links whose target is missing or excluded by .Rbuildignore
and so absent from the built tarball (diagnose_readme_relative_links()).
diagnose_cran_comments_file() is also provided but, since a
cran-comments.md is a workflow convention rather than a CRAN requirement,
it is opt-in and not part of the default checktor() run.
- DESCRIPTION: flags
Title fields of 65 or more characters, single-quoted
function names in Title/Description (quotes are for software names),
and over-capitalized small words in the Title.
- Documentation: flags exported functions whose
.Rd lacks an \examples
section (diagnose_missing_examples()) and examples that use a Suggested
package without a requireNamespace() / @examplesIf guard
(diagnose_suggested_in_examples()).