checktor 0.1.0
- 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()).