{
  "_id": "6a14bc10acfb0bcc41d4b75b",
  "Package": "jinx",
  "Title": "RLadies+ GitHub Organisation Management",
  "Version": "0.1.1",
  "Authors@R": "person(\"RLadies+\", email = \"info@rladies.org\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ROR = \"https://ror.org/05wpb1k41\"))",
  "Description": "GitHub App for managing the RLadies+ organisation. Handles\nonboarding and offboarding of global team members, chapter\nonboarding, PR review automation, org-wide reporting, Airtable\nsync, website automation, chapter monitoring, and interactive\nissue commands.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/rladies/jinx, https://rladies.github.io/jinx/",
  "BugReports": "https://github.com/rladies/jinx/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/Needs/website": "rladies/cloak, rprojroot",
  "Config/pak/sysreqs": "cmake git make libmagick++-dev gsfonts libicu-dev\nlibuv1-dev libxml2-dev libssl-dev libnode-dev libx11-dev",
  "Repository": "https://rladies.r-universe.dev",
  "Date/Publication": "2026-05-25 20:57:28 UTC",
  "RemoteUrl": "https://github.com/rladies/jinx",
  "RemoteRef": "main",
  "RemoteSha": "cbc3b80feddaf4879fb86b5614436270e263c800",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-25 21:11:52 UTC",
    "User": "root"
  },
  "Author": "RLadies+ [aut, cre, cph] (ROR: <https://ror.org/05wpb1k41>)",
  "Maintainer": "RLadies+ <info@rladies.org>",
  "MD5sum": "25ba56704e5bab65c196cf8a95807669",
  "_user": "rladies",
  "_type": "src",
  "_file": "jinx_0.1.1.tar.gz",
  "_fileid": "8b47c20318c689696ef7687b9a65c46c15cace05f07e7854023cde8cdc9e7984",
  "_filesize": 568062,
  "_sha256": "8b47c20318c689696ef7687b9a65c46c15cace05f07e7854023cde8cdc9e7984",
  "_created": "2026-05-25T21:11:52.000Z",
  "_published": "2026-05-25T21:16:00.094Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77772509110,
      "time": 211,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7204990549"
    },
    {
      "job": 77772509026,
      "time": 148,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7204980165"
    },
    {
      "job": 77772508964,
      "time": 115,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7204974616"
    },
    {
      "job": 77772508998,
      "time": 88,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7204970383"
    },
    {
      "job": 77772205148,
      "time": 195,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7204955752"
    },
    {
      "job": 77772509005,
      "time": 130,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7204976984"
    },
    {
      "job": 77772509094,
      "time": 111,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7204973971"
    },
    {
      "job": 77772508994,
      "time": 96,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7204971694"
    },
    {
      "job": 77772509015,
      "time": 101,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7204973093"
    }
  ],
  "_buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/rladies/jinx",
  "_commit": {
    "id": "cbc3b80feddaf4879fb86b5614436270e263c800",
    "author": "Athanasia Monika Mowinckel <14014329+drmowinckels@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "RAG: tolerate empty JSON objects in awesome-creations feed (#70)\n\nThe scheduled `Bot · Index Content` run on 2026-05-24 crashed mid-way\nthrough the awesome-creations source with `missing value where\nTRUE/FALSE needed`. Root cause: 41 entries in\n`awesome_packages.json` have `pkdown_url: {}` (and often\n`repo_url: {}`) — empty JSON objects rather than strings or null.\n\n`jsonlite::fromJSON(simplifyVector = FALSE)` parses those as\n`list()`, and the custom `%or%` operator's `is.null(a) ||\nidentical(a, \"\")` check missed empty lists. The blank value flowed\ninto `nzchar(list())` which returns `logical(0)`, and `if\n(FALSE || logical(0))` is the source of the error. Same crash was\nwaiting in `format_awesome_content` for any malformed `item$url`,\nand `parse_unix_date()` errored on non-character non-numeric input\n(e.g. empty-list `last_updated`).\n\nIntroduce an `is_blank()` helper that treats NULL, zero-length\nvectors and lists, length-1 NA, and `\"\"` uniformly as missing.\n`%or%` and the affected if-guards in `format_awesome_*`,\n`format_event`, and `parse_unix_date` route through it. Awesome-\ncreations now returns 330 chunks against the live feed (274 package\n+ 56 content) where it previously aborted at the 7th package.\n\nNew regression tests cover: `is_blank()` for every shape, `%or%`\nempty-list fallback and chaining, `format_awesome_package` with\nlist() URLs (both empty -> NULL; pkdown_url empty -> repo_url\nfallback; Documentation line omitted), `format_awesome_content`\nwith list() url, and `parse_unix_date(list())` / `parse_unix_date(NA)`.\n666 tests pass / 0 fail.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
    "time": 1779742648
  },
  "_maintainer": {
    "name": "RLadies+",
    "email": "info@rladies.org"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4.0",
      "role": "Depends"
    },
    {
      "package": "bskyr",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "gh",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "jsonvalidate",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "magick",
      "role": "Imports"
    },
    {
      "package": "openssl",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Imports"
    },
    {
      "package": "rtoot",
      "role": "Imports"
    },
    {
      "package": "rvest",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "role": "Imports"
    },
    {
      "package": "httptest2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "rladies",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-10",
      "n": 9
    },
    {
      "week": "2026-20",
      "n": 66
    },
    {
      "week": "2026-21",
      "n": 4
    },
    {
      "week": "2026-22",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "drmowinckels",
      "count": 84,
      "uuid": 14014329
    },
    {
      "user": "copilot",
      "count": 2,
      "uuid": 198982749
    }
  ],
  "_userbio": {
    "uuid": 21295846,
    "type": "organization",
    "name": "RLadies+ Global",
    "description": "RLadies+ is a world-wide organization to promote gender diversity in the R community"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/jinx"
  },
  "_devurl": "https://github.com/rladies/jinx",
  "_pkgdown": "https://rladies.github.io/jinx/",
  "_searchresults": 1,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/jinx.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "analytics_collect_chapter_activity",
    "analytics_collect_contributor_growth",
    "analytics_compute_trends",
    "analytics_format_markdown",
    "analytics_generate_dashboard",
    "analytics_publish_dashboard",
    "announce_create_message",
    "announce_post",
    "announce_post_bluesky",
    "announce_post_mastodon",
    "announce_post_reply",
    "announce_send_newsletter",
    "blog_check_links",
    "blog_create_entry",
    "cfp_check_deadlines",
    "cfp_create_issue",
    "cfp_list_open",
    "cfp_recommend_speaker",
    "chapter_check_health",
    "chapter_create",
    "chapter_create_pr",
    "chapter_create_setup",
    "chapter_create_update",
    "chapter_monitor_status",
    "chapter_report_health",
    "chunk_markdown",
    "cloudflare_account_id",
    "cloudflare_embed",
    "cloudflare_vectorize_upsert",
    "cmd_execute",
    "cmd_parse",
    "conference_generate_report",
    "conference_list_speakers",
    "contributor_format",
    "contributor_list",
    "contributor_list_org",
    "contributor_update",
    "directory_crop_image",
    "directory_optimize_image",
    "directory_sync_airtable",
    "directory_validate_filename",
    "directory_verify_handles",
    "event_create_summary",
    "event_list_chapter",
    "event_publish_summary",
    "event_sync_chapters",
    "gather_rag_source",
    "gh_greet_contributor",
    "gh_post_checklist",
    "gh_thank_contributor",
    "gh_welcome_contributor",
    "gha_generate_dashboard",
    "gha_publish_dashboard",
    "gt_check_invitations",
    "gt_create_offboarding",
    "gt_finalize_offboarding",
    "gt_finalize_onboarding",
    "gt_invite",
    "gt_remind_stale",
    "gt_sync_airtable",
    "i18n_check_coverage",
    "i18n_get_chapter_language",
    "i18n_list_languages",
    "i18n_translate_template",
    "i18n_validate_translations",
    "li_get_version",
    "li_media_upload",
    "li_oauth",
    "li_post_write",
    "li_req",
    "li_urn_me",
    "load_labels_config",
    "load_rag_sources",
    "load_review_rules",
    "load_teams_config",
    "prepare_inactivity_emails",
    "rag_chunk_id",
    "rag_index_build",
    "random_emoji",
    "report_format_markdown",
    "report_generate",
    "report_publish",
    "review_check_pr_naming",
    "review_run",
    "short_url",
    "slack_invite_batch",
    "slack_invite_request",
    "slack_post_message",
    "slack_subscribe_rss",
    "tags2hash",
    "validate_blog_entry",
    "validate_directory_entries",
    "validate_directory_pr",
    "website_collect_analytics",
    "website_format_analytics",
    "website_generate_report",
    "website_merge_pending",
    "website_publish_report"
  ],
  "_help": [
    {
      "page": "analytics_collect_chapter_activity",
      "title": "Collect chapter activity data",
      "topics": [
        "analytics_collect_chapter_activity"
      ]
    },
    {
      "page": "analytics_collect_contributor_growth",
      "title": "Collect contributor growth data",
      "topics": [
        "analytics_collect_contributor_growth"
      ]
    },
    {
      "page": "analytics_compute_trends",
      "title": "Compute activity trends",
      "topics": [
        "analytics_compute_trends"
      ]
    },
    {
      "page": "analytics_format_markdown",
      "title": "Format analytics as markdown",
      "topics": [
        "analytics_format_markdown"
      ]
    },
    {
      "page": "analytics_generate_dashboard",
      "title": "Generate analytics dashboard",
      "topics": [
        "analytics_generate_dashboard"
      ]
    },
    {
      "page": "analytics_publish_dashboard",
      "title": "Publish analytics dashboard as a GitHub issue",
      "topics": [
        "analytics_publish_dashboard"
      ]
    },
    {
      "page": "announce_create_message",
      "title": "Create a formatted announcement message",
      "topics": [
        "announce_create_message"
      ]
    },
    {
      "page": "announce_post",
      "title": "Announce a blog post across multiple platforms",
      "topics": [
        "announce_post"
      ]
    },
    {
      "page": "announce_post_bluesky",
      "title": "Post an announcement to Bluesky",
      "topics": [
        "announce_post_bluesky"
      ]
    },
    {
      "page": "announce_post_mastodon",
      "title": "Post an announcement to Mastodon",
      "topics": [
        "announce_post_mastodon"
      ]
    },
    {
      "page": "announce_post_reply",
      "title": "Post a reply comment on an issue or PR",
      "topics": [
        "announce_post_reply"
      ]
    },
    {
      "page": "announce_send_newsletter",
      "title": "Send a newsletter via ConvertKit",
      "topics": [
        "announce_send_newsletter"
      ]
    },
    {
      "page": "blog_check_links",
      "title": "Check blog URLs and RSS feeds for broken links",
      "topics": [
        "blog_check_links"
      ]
    },
    {
      "page": "blog_create_entry",
      "title": "Auto-generate a blog entry JSON from a URL",
      "topics": [
        "blog_create_entry"
      ]
    },
    {
      "page": "cfp_check_deadlines",
      "title": "Check CFP deadlines and post reminders",
      "topics": [
        "cfp_check_deadlines"
      ]
    },
    {
      "page": "cfp_create_issue",
      "title": "Create a CFP tracking issue",
      "topics": [
        "cfp_create_issue"
      ]
    },
    {
      "page": "cfp_list_open",
      "title": "List open CFPs tracked as GitHub issues",
      "topics": [
        "cfp_list_open"
      ]
    },
    {
      "page": "cfp_recommend_speaker",
      "title": "Recommend a speaker for a conference",
      "topics": [
        "cfp_recommend_speaker"
      ]
    },
    {
      "page": "chapter_check_health",
      "title": "Check chapter health across the organization",
      "topics": [
        "chapter_check_health"
      ]
    },
    {
      "page": "chapter_create",
      "title": "Create a new chapter JSON file",
      "topics": [
        "chapter_create"
      ]
    },
    {
      "page": "chapter_create_pr",
      "title": "Create a chapter JSON PR on the website repo",
      "topics": [
        "chapter_create_pr"
      ]
    },
    {
      "page": "chapter_create_setup",
      "title": "Create a new chapter setup issue",
      "topics": [
        "chapter_create_setup"
      ]
    },
    {
      "page": "chapter_create_update",
      "title": "Create a chapter update issue",
      "topics": [
        "chapter_create_update"
      ]
    },
    {
      "page": "chapter_monitor_status",
      "title": "Monitor chapter activity status",
      "topics": [
        "chapter_monitor_status"
      ]
    },
    {
      "page": "chapter_report_health",
      "title": "Generate a chapter health report",
      "topics": [
        "chapter_report_health"
      ]
    },
    {
      "page": "chunk_markdown",
      "title": "Chunk markdown into retrieval-sized pieces",
      "topics": [
        "chunk_markdown"
      ]
    },
    {
      "page": "cloudflare_account_id",
      "title": "Discover the Cloudflare account ID for a token",
      "topics": [
        "cloudflare_account_id"
      ]
    },
    {
      "page": "cloudflare_embed",
      "title": "Embed texts with a Cloudflare Workers AI model",
      "topics": [
        "cloudflare_embed"
      ]
    },
    {
      "page": "cloudflare_vectorize_upsert",
      "title": "Upsert vectors into a Cloudflare Vectorize index",
      "topics": [
        "cloudflare_vectorize_upsert"
      ]
    },
    {
      "page": "cmd_execute",
      "title": "Execute a parsed jinx command",
      "topics": [
        "cmd_execute"
      ]
    },
    {
      "page": "cmd_parse",
      "title": "Parse a jinx command from an issue comment",
      "topics": [
        "cmd_parse"
      ]
    },
    {
      "page": "conference_generate_report",
      "title": "Generate conference coordination report",
      "topics": [
        "conference_generate_report"
      ]
    },
    {
      "page": "conference_list_speakers",
      "title": "List speaker recommendations for a conference",
      "topics": [
        "conference_list_speakers"
      ]
    },
    {
      "page": "contributor_format",
      "title": "Generate a contributors markdown section",
      "topics": [
        "contributor_format"
      ]
    },
    {
      "page": "contributor_list",
      "title": "List contributors for a repository",
      "topics": [
        "contributor_list"
      ]
    },
    {
      "page": "contributor_list_org",
      "title": "Collect contributors across multiple repos",
      "topics": [
        "contributor_list_org"
      ]
    },
    {
      "page": "contributor_update",
      "title": "Generate and update a contributors list for a repo",
      "topics": [
        "contributor_update"
      ]
    },
    {
      "page": "directory_crop_image",
      "title": "Crop and resize a directory profile image",
      "topics": [
        "directory_crop_image"
      ]
    },
    {
      "page": "directory_optimize_image",
      "title": "Optimize an image for web display",
      "topics": [
        "directory_optimize_image"
      ]
    },
    {
      "page": "directory_sync_airtable",
      "title": "Sync directory entries from Airtable",
      "topics": [
        "directory_sync_airtable"
      ]
    },
    {
      "page": "directory_validate_filename",
      "title": "Validate a directory entry filename",
      "topics": [
        "directory_validate_filename"
      ]
    },
    {
      "page": "directory_verify_handles",
      "title": "Verify that social media handles exist",
      "topics": [
        "directory_verify_handles"
      ]
    },
    {
      "page": "event_create_summary",
      "title": "Create a formatted event summary",
      "topics": [
        "event_create_summary"
      ]
    },
    {
      "page": "event_list_chapter",
      "title": "List events for a chapter",
      "topics": [
        "event_list_chapter"
      ]
    },
    {
      "page": "event_publish_summary",
      "title": "Publish event summary as a GitHub issue",
      "topics": [
        "event_publish_summary"
      ]
    },
    {
      "page": "event_sync_chapters",
      "title": "Sync events across all chapters",
      "topics": [
        "event_sync_chapters"
      ]
    },
    {
      "page": "gather_rag_source",
      "title": "Dispatch a source spec to the appropriate gather function",
      "topics": [
        "gather_rag_source"
      ]
    },
    {
      "page": "gh_greet_contributor",
      "title": "Greet a new PR author",
      "topics": [
        "gh_greet_contributor"
      ]
    },
    {
      "page": "gh_post_checklist",
      "title": "Post a content review checklist on a PR",
      "topics": [
        "gh_post_checklist"
      ]
    },
    {
      "page": "gh_thank_contributor",
      "title": "Thank a contributor when their PR is merged",
      "topics": [
        "gh_thank_contributor"
      ]
    },
    {
      "page": "gh_welcome_contributor",
      "title": "Welcome a contributor on a new PR or issue",
      "topics": [
        "gh_welcome_contributor"
      ]
    },
    {
      "page": "gha_generate_dashboard",
      "title": "Generate GitHub Actions dashboard data",
      "topics": [
        "gha_generate_dashboard"
      ]
    },
    {
      "page": "gha_publish_dashboard",
      "title": "Publish GHA dashboard as a GitHub issue",
      "topics": [
        "gha_publish_dashboard"
      ]
    },
    {
      "page": "gt_check_invitations",
      "title": "Check pending global team invitations",
      "topics": [
        "gt_check_invitations"
      ]
    },
    {
      "page": "gt_create_offboarding",
      "title": "Create a global team offboarding issue",
      "topics": [
        "gt_create_offboarding"
      ]
    },
    {
      "page": "gt_finalize_offboarding",
      "title": "Finalize global team offboarding by removing user from teams",
      "topics": [
        "gt_finalize_offboarding"
      ]
    },
    {
      "page": "gt_finalize_onboarding",
      "title": "Finalize global team onboarding for an accepted member",
      "topics": [
        "gt_finalize_onboarding"
      ]
    },
    {
      "page": "gt_invite",
      "title": "Invite a user to the RLadies+ global team",
      "topics": [
        "gt_invite"
      ]
    },
    {
      "page": "gt_remind_stale",
      "title": "Send reminders on stale global team onboarding/offboarding issues",
      "topics": [
        "gt_remind_stale"
      ]
    },
    {
      "page": "gt_sync_airtable",
      "title": "Sync global team data from Airtable",
      "topics": [
        "gt_sync_airtable"
      ]
    },
    {
      "page": "i18n_check_coverage",
      "title": "Check translation coverage across languages",
      "topics": [
        "i18n_check_coverage"
      ]
    },
    {
      "page": "i18n_get_chapter_language",
      "title": "Get a chapter's preferred language",
      "topics": [
        "i18n_get_chapter_language"
      ]
    },
    {
      "page": "i18n_list_languages",
      "title": "List supported languages",
      "topics": [
        "i18n_list_languages"
      ]
    },
    {
      "page": "i18n_translate_template",
      "title": "Translate a template with language fallback",
      "topics": [
        "i18n_translate_template"
      ]
    },
    {
      "page": "i18n_validate_translations",
      "title": "Validate translations for placeholder consistency",
      "topics": [
        "i18n_validate_translations"
      ]
    },
    {
      "page": "li_get_version",
      "title": "Get LinkedIn API version string",
      "topics": [
        "li_get_version"
      ]
    },
    {
      "page": "li_media_upload",
      "title": "Upload media to LinkedIn",
      "topics": [
        "li_media_upload"
      ]
    },
    {
      "page": "li_oauth",
      "title": "Perform LinkedIn OAuth authentication",
      "topics": [
        "li_oauth"
      ]
    },
    {
      "page": "li_post_write",
      "title": "Post to LinkedIn",
      "topics": [
        "li_post_write"
      ]
    },
    {
      "page": "li_req",
      "title": "Create a base LinkedIn API request",
      "topics": [
        "li_req"
      ]
    },
    {
      "page": "li_urn_me",
      "title": "Get the LinkedIn URN for the authenticated user",
      "topics": [
        "li_urn_me"
      ]
    },
    {
      "page": "load_labels_config",
      "title": "Load file-path to label mappings",
      "topics": [
        "load_labels_config"
      ]
    },
    {
      "page": "load_rag_sources",
      "title": "Load the configured RAG source list",
      "topics": [
        "load_rag_sources"
      ]
    },
    {
      "page": "load_review_rules",
      "title": "Load PR review rules",
      "topics": [
        "load_review_rules"
      ]
    },
    {
      "page": "load_teams_config",
      "title": "Load teams configuration",
      "topics": [
        "load_teams_config"
      ]
    },
    {
      "page": "prepare_inactivity_emails",
      "title": "Send inactivity warning emails",
      "topics": [
        "prepare_inactivity_emails"
      ]
    },
    {
      "page": "rag_chunk_id",
      "title": "Stable vector ID for a chunk",
      "topics": [
        "rag_chunk_id"
      ]
    },
    {
      "page": "rag_index_build",
      "title": "Build the Jinx RAG index",
      "topics": [
        "rag_index_build"
      ]
    },
    {
      "page": "random_emoji",
      "title": "Select a random emoji",
      "topics": [
        "random_emoji"
      ]
    },
    {
      "page": "report_format_markdown",
      "title": "Format a report as markdown",
      "topics": [
        "report_format_markdown"
      ]
    },
    {
      "page": "report_generate",
      "title": "Generate an organization activity report",
      "topics": [
        "report_generate"
      ]
    },
    {
      "page": "report_publish",
      "title": "Publish a report as a GitHub issue",
      "topics": [
        "report_publish"
      ]
    },
    {
      "page": "review_check_pr_naming",
      "title": "Check file naming conventions in a PR",
      "topics": [
        "review_check_pr_naming"
      ]
    },
    {
      "page": "review_run",
      "title": "Run all PR review automation",
      "topics": [
        "review_run"
      ]
    },
    {
      "page": "short_url",
      "title": "Shorten a URL using the Short.io API",
      "topics": [
        "short_url"
      ]
    },
    {
      "page": "slack_invite_batch",
      "title": "Send pending Slack invitations",
      "topics": [
        "slack_invite_batch"
      ]
    },
    {
      "page": "slack_invite_request",
      "title": "Request a Slack invitation for someone not yet on the workspace",
      "topics": [
        "slack_invite_request"
      ]
    },
    {
      "page": "slack_post_message",
      "title": "Post a message to a Slack channel",
      "topics": [
        "slack_post_message"
      ]
    },
    {
      "page": "slack_subscribe_rss",
      "title": "Subscribe an RSS feed to a Slack channel",
      "topics": [
        "slack_subscribe_rss"
      ]
    },
    {
      "page": "tags2hash",
      "title": "Convert tags to hashtag string",
      "topics": [
        "tags2hash"
      ]
    },
    {
      "page": "validate_blog_entry",
      "title": "Validate blog entry JSON files against schema",
      "topics": [
        "validate_blog_entry"
      ]
    },
    {
      "page": "validate_directory_entries",
      "title": "Validate directory entry JSON files against schema",
      "topics": [
        "validate_directory_entries"
      ]
    },
    {
      "page": "validate_directory_pr",
      "title": "Post a directory validation report as a PR comment",
      "topics": [
        "validate_directory_pr"
      ]
    },
    {
      "page": "website_collect_analytics",
      "title": "Collect website analytics from Plausible",
      "topics": [
        "website_collect_analytics"
      ]
    },
    {
      "page": "website_format_analytics",
      "title": "Format website analytics as markdown",
      "topics": [
        "website_format_analytics"
      ]
    },
    {
      "page": "website_generate_report",
      "title": "Generate a website analytics report",
      "topics": [
        "website_generate_report"
      ]
    },
    {
      "page": "website_merge_pending",
      "title": "Auto-merge PRs with pending label when date matches",
      "topics": [
        "website_merge_pending"
      ]
    },
    {
      "page": "website_publish_report",
      "title": "Publish website analytics as a GitHub issue",
      "topics": [
        "website_publish_report"
      ]
    }
  ],
  "_readme": "https://github.com/rladies/jinx/raw/main/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "bskyr",
    "bslib",
    "cachem",
    "cli",
    "clipr",
    "cpp11",
    "curl",
    "digest",
    "dplyr",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "gh",
    "gitcreds",
    "glue",
    "highr",
    "htmltools",
    "httr",
    "httr2",
    "ini",
    "jquerylib",
    "jsonlite",
    "jsonvalidate",
    "knitr",
    "lifecycle",
    "lubridate",
    "magick",
    "magrittr",
    "memoise",
    "mime",
    "opengraph",
    "openssl",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "rtoot",
    "rvest",
    "sass",
    "selectr",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "tinytex",
    "utf8",
    "V8",
    "vctrs",
    "withr",
    "xfun",
    "xml2",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "jinx.Rmd",
      "filename": "jinx.html",
      "title": "Getting started with Jinx",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Where you'll find Jinx",
        "In Slack",
        "In a GitHub comment",
        "What Jinx is doing under the hood",
        "When something goes wrong",
        "Where to go next"
      ],
      "created": "2026-05-13 22:54:51",
      "modified": "2026-05-13 22:54:51",
      "commits": 1
    },
    {
      "source": "workflows.Rmd",
      "filename": "workflows.html",
      "title": "Operating Jinx",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Register the GitHub App",
        "Wire up secrets",
        "Configuration files",
        "Adding a new command",
        "Opt another repo into PR review",
        "The bot image",
        "The RAG index",
        "The Cloudflare Worker",
        "When things break",
        "Where to go next"
      ],
      "created": "2026-03-07 11:24:07",
      "modified": "2026-05-22 19:29:34",
      "commits": 7
    },
    {
      "source": "slack-app.Rmd",
      "filename": "slack-app.html",
      "title": "The Jinx Slack app",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Install the app",
        "What Jinx does",
        "Slash commands",
        "Ask Jinx anything about RLadies+",
        "Approving Slack invites",
        "Permissions and data",
        "Troubleshooting",
        "Source and feedback"
      ],
      "created": "2026-05-12 22:23:36",
      "modified": "2026-05-13 22:54:51",
      "commits": 4
    }
  ],
  "_score": 3.778151250383644,
  "_indexed": true,
  "_nocasepkg": "jinx",
  "_universes": [
    "rladies"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-25T21:15:18.000Z",
      "distro": "noble",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "ae373e8e90e0be4a99a5c61d6336f5b0b6732ddf43c863db5a733d0d5858e6aa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-25T21:14:16.000Z",
      "distro": "noble",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "47def0f9bc8987f1d5b8df68b8adf5c21062ba8053e7e29528beb490567a1219",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-25T21:13:44.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "c3a2e2109157ee801b419844e40ba803fba1072a3d1442574af4394a3edaebe4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-25T21:13:22.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "c6b745ae00833451170a6de4d6496adb5aab90dd37d518950828d74791b27aa0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-05-25T21:14:18.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "42418de0e7530cb6699dc8e6f28915bc4109dee84c8ec7de8f3c48c0b7df0951",
      "status": "success",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-25T21:13:26.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "76a1b44fb1890dc44ac0b9ad90b6d11515068325b3417441cbd58ca2a1056df5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-25T21:13:12.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "592531362f516d437ec6ddde6b71cc232ef140a48fed32684aed38870486330d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-25T21:13:20.000Z",
      "commit": "cbc3b80feddaf4879fb86b5614436270e263c800",
      "fileid": "5ad433bc143aed8d39a587e5792275e8e4e30157526d4502fb8bf2f3a597e02e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rladies/actions/runs/26419859768"
    }
  ]
}