lcr-tools

LCR Tools Chrome Extension

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.

Features

This extension aims to streamline common tasks and add helpful utilities for leaders and clerks. Current features include:

Installation

  1. Go to the LCR Tools page on the Chrome Web Store.

  2. Click “Add to Chrome”.

After clicking, you may see one or two pop-up messages:

Option 2: Manual Installation (For development or testing)

  1. Download the Source Code:

    • Clone this repository: git clone https://github.com/sethbr11/lcr-tools.git
    • Or, download the ZIP file from the repository and extract it.
  2. Open Chrome Extensions Page:

    • Open Google Chrome.
    • Navigate to chrome://extensions.
  3. Enable Developer Mode:

    • In the top right corner of the Extensions page, toggle “Developer mode” ON.
  4. Load Unpacked Extension:

    • Click the “Load unpacked” button that appears.
    • Select the directory where you cloned or extracted the LCR Tools source code (the folder containing manifest.json).
  5. The LCR Tools extension icon should now appear in your Chrome toolbar (you might need to click the puzzle piece icon to pin it).

Usage

  1. Navigate to any page on lcr.churchofjesuschrist.org.

  2. Click the LCR Tools extension icon in your Chrome toolbar.

  3. A popup menu will appear, showing actions available for the specific LCR page you are currently viewing.

  4. Click an action to execute it or to open a dedicated options/UI page for more complex tasks (like attendance input).

  5. 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.

Development

Folder Structure

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:

Adding New Actions

  1. Add a new folder and script files in js/actions/.
  2. Update getActionsForUrl() in js/popup.js to register the new action for the appropriate LCR page, including any required utility files.
  3. Use the shared utilities in js/utils/ for common operations like CSV handling, UI creation, web scraping, file operations, and date manipulation.
  4. (Optional) Add UI partials in options_page_partials/ for options page features.

Permissions

Troubleshooting

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.

Security & Privacy

Disclaimer

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.