LCR Tools is an open-source Google Chrome extension designed to enhance the functionality and user experience of LCR (Leader and Clerk Resources) for The Church of Jesus Christ of Latter-day Saints. It provides advanced tools for exporting data, processing attendance, managing member information, and more—streamlining common administrative tasks for clerks, secretaries, and leaders.
This extension aims to streamline common tasks and add helpful utilities for leaders and clerks. Current features include:
Go to the LCR Tools page on the Chrome Web Store.
Click “Add to Chrome”.
After clicking, you may see one or two pop-up messages:
host_permissions
in the manifest.json file and ensures the extension only runs on the LCR website.Download the Source Code:
git clone https://github.com/sethbr11/lcr-tools.git
Open Chrome Extensions Page:
chrome://extensions
.Enable Developer Mode:
Load Unpacked Extension:
manifest.json
).The LCR Tools extension icon should now appear in your Chrome toolbar (you might need to click the puzzle piece icon to pin it).
Navigate to any page on lcr.churchofjesuschrist.org
.
Click the LCR Tools extension icon in your Chrome toolbar.
A popup menu will appear, showing actions available for the specific LCR page you are currently viewing.
Click an action to execute it or to open a dedicated options/UI page for more complex tasks (like attendance input).
For long-running processes (like attendance input or some report exports), a loading indicator will be displayed. You can typically abort these processes by pressing the Escape
key.
lcr-extension/
├── css/
├── images/
├── js/
│ ├── actions/
│ │ ├── downloadReportData/
│ │ ├── editMemberProfile/
│ │ ├── findMultipleCallings/
│ │ ├── noPhotoList/
│ │ └── processAttendance/
│ ├── utils/
│ │ ├── dataUtils.js
│ │ ├── fileUtils.js
│ │ ├── loggingUtils.js
│ │ ├── modalUtils.js
│ │ ├── navigationUtils.js
│ │ ├── tableUtils.js
│ │ ├── uiUtils.js
│ │ └── utils.js
│ ├── vendor/
│ │ └── jszip.min.js
│ ├── actions.js
│ └── popup.js
├── .gitignore
├── LICENSE
├── manifest.json
├── popup.html
├── PRIVACY_POLICY.md
└── README.md
A brief overview of the project’s organization:
manifest.json
: The core configuration file for the extension.popup.html
/ js/popup.js
: Defines the UI and logic for the extension’s popup menu.actions.js
: Logic for popup.js
to determine which actions to display.css/
: Stylesheets for the popup and any injected UI.images/
: Icons for the extension.js/actions/
: Contains the content scripts that perform specific actions on LCR pages. Subfolders relate to specific action groups which are organized by LCR page.js/utils/
: Contains utility scripts, including modalUtils.js
and shared utilities for CSV operations, UI creation, web scraping, file operations, and date handling.js/vendor/
: Contains javascript utilities from vendors (like jszip for ZIP file creation)js/actions/
.getActionsForUrl()
in js/popup.js
to register the new action for the appropriate LCR page, including any required utility files.js/utils/
for common operations like CSV handling, UI creation, web scraping, file operations, and date manipulation.options_page_partials/
for options page features."scripting"
: For script injection."host_permissions"
: Restricted to https://lcr.churchofjesuschrist.org/*
.This extension is brand new and, admittably, was vibe coded since the author didn’t want to spend weeks trying to get the basic functionality he needed yesterday. Please reach out to the author with any concerns and we will work to get it resolved. If you are an experienced developer, feel free to suggest any feature improvements! AI models like ChatGPT (4o-mini, 4.1, 5, etc.), Gemini (2.5 Flash and Pro), and Claude (3.7 and 4) were used extensively.
LCR Tools is an independent project and is not an official tool of or endorsed by The Church of Jesus Christ of Latter-day Saints. It is provided “as-is” without any warranty. Use at your own risk. Always ensure you are complying with Church policies and data privacy guidelines when using this tool.