Scrum Helper
Scrum Helper is a Chrome extension that simplifies writing development reports by auto-filling content based on your Git activity. Select your platform, enter your username, and provide authentication details when needed. Choose a date range and your preferences. The extension automatically fetches your commits, pull requests, and issues via the selected platform's API. For platforms that support review activity, it also includes code reviews in the generated report. Scrum Helper currently supports GitHub, GitLab, and Codeberg, allowing developers to generate scrum reports from their activity across multiple Git platforms.
Landing page: https://fossasia.github.io/scrum_helper/
Features
- Automatically fetches your Git activity, including commits, pull requests, issues, and code reviews.
- Supports GitHub, GitLab, and Codeberg.
- Supports platform-specific authentication and configuration.
- Supports custom Codeberg API base URLs.
- Generates editable scrum updates based on your selected date range
- Integrates directly with compose windows in Google Groups, Gmail, Yahoo Mail, and Outlook
How to install
Desktop Application:
Download the desktop application for Windows, macOS, or Linux from GitHub Releases or check out the Landing Page.
For Chrome:
- Open the Chrome Web Store and search for “Scrum Helper” by FOSSASIA.
- Click “Add to Chrome”.
- Pin the extension to your toolbar (optional).
- Open the extension popup from your browser toolbar.
- Select your preferred platform from the platform dropdown and enter your username and any authentication details needed for private data or higher API limits.
- Select your date range and preferences.
- Start composing your reports in Gmail, Yahoo Mail, Outlook, or Google Groups using the extension.
Setting Up Your Development Environment
- Fork & Clone the Repository
git clone https://github.com/YOUR_USERNAME/scrum_helper.git
cd scrum_helper
- Install Dependencies
npm install
- Build the Extension
npm run build
- Load the Extension in Your Browser
chrome://extensions (or edge://extensions / brave://extensions) in your browser.
- Enable "Developer Mode" (toggle in the top-right).
- Click "Load unpacked" and select the dist/chrome folder inside the cloned repository.
For Firefox (Gecko):
- Navigate to about:debugging in Firefox.
- Click on "This Firefox" in the left sidebar.
- Click "Load Temporary Add-on...".
- Select the manifest.json file inside the dist/firefox folder.
- Note: The extension will remain active only for the current browser session. If you need persistence, consider using Firefox Developer Edition.
For Opera:
- Go to opera://extensions in Opera.
- Enable "Developer mode" (toggle in the top-right).
- Click "Load unpacked" and select the dist/opera folder inside the cloned repository.
- Set Up & Run the Tauri Desktop App (Standalone Application)
On Ubuntu/Debian:
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
On Windows or macOS: Refer to the official Tauri Prerequisites Guide to install C++ build tools and platform-specific WebKit SDKs.
- Step 5.2: Install Rust Tauri requires Rust. Run the following toolchain installer:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
(Note: Restart your shell after installation for cargo to load into your PATH environment).
- Step 5.3: Run in Development Mode To run a hot-reloading development window of the desktop application:
npm run tauri dev
- Step 5.4: Build Standalone Production Binaries
To compile the final standalone installers (e.g. .deb, .AppImage, .msi, .dmg):
npm run tauri build
The compiled installers and binaries will be written to:
src-tauri/target/release/bundle/
Usage
Selecting a Platform
- Open the Scrum Helper extension.
- Select your platform from the platform dropdown: GitHub, GitLab, or Codeberg.
- Enter the username; add authentication details when needed for private data or higher API limits.
- For GitLab, optionally provide a Group filter; leave it empty to include activity across all groups.
- For Codeberg, optionally configure a custom API base URL.
- Select your desired date range and preferences.
- Generate your scrum report.
- Review and edit the generated report before using it in your preferred email or group platform.
For Google Groups:
- Open Google Groups New Topic
- Start a New Conversation
- Refresh the page to apply the Scrum Helper settings
- Use the pre-filled scrum and edit as needed
For Gmail, Yahoo, and Outlook:
- Open the Compose window.
- Ensure the Scrum Helper settings are applied (follow step 6 above)
- The extension will prefill scrum content for you to edit
New Features
- Standalone Popup Interface
- Advanced Repository Filtering
- Include Commits on Existing PRs
- Flexible Display Modes
- Smart Caching & Auto-Generation
Usage Standalone
- Click on
GENERATEbutton to generate the scrum preview (if not auto-generated). - Edit it in the window.
- Copy the rich HTML using the
COPYbutton.
Contributing
We welcome contributions from the community! Whether it's reporting a bug, suggesting a new feature, or writing code, your help is appreciated.
Please read our Contributing Guide to learn how you can get involved.
License
This project is licensed under the LGPL-2.1 License - see the LICENSE file for details.
Screenshots
| | | |---|---| | !POPUP | !POPUP2 | | !STANDALONE | !SETTINGSMENU |
| | |---| | !SCRUM |
Setting up the code locally
$ git clone https://github.com/fossasia/scrum_helper/
$ cd scrum_helper
$ npm install
- Install the Extension / Run Desktop App
- For Chrome, Edge & Brave (Chromium): Load it into your browser through Chrome Extension Developer Mode using the
dist/chromefolder. - For Firefox: Load it as a temporary add-on through
about:debuggingusing thedist/firefoxfolder. - For Opera: Load it through Developer mode at
opera://extensionsusing thedist/operafolder. - For Standalone Desktop App (Tauri):
npm run tauri dev
- Rebuild / Re-run
npm run build, and then refresh/reload the extension in your browser's Developer panel.
* For Standalone Desktop App (Tauri): The development server (npm run tauri dev) will hot-reload your code changes automatically in real-time. If you want to bundle a release installer, run:
npm run tauri build
Platform Setup and Authentication
Scrum Helper supports GitHub, GitLab, and Codeberg. Select your platform from the platform dropdown. A username is required; authentication tokens and optional filters/API URLs are only needed for private data, higher API limits, or token-gated features.
GitHub
To use Scrum Helper with GitHub:
- Enter your GitHub username.
- Enter a GitHub Personal Access Token (classic).
- The token can be used for authenticated API requests, higher API rate limits, and access to private repositories when the appropriate permissions are granted.
Creating a GitHub Personal Access Token (Classic)
- Go to GitHub Developer Settings while logged in to your GitHub account.
- Select Personal access tokens (classic).
- Click Generate new token and select Generate new token (classic).
- Give the token a descriptive name and configure its expiration and required permissions.
- Click Generate token.
- Copy the token and store it securely. GitHub will not show the token again.
- Enter the token in the GitHub token field in Scrum Helper.
Keep your token secret. Never share it or commit it to a public repository.
GitLab
To use Scrum Helper with GitLab:
- Enter your GitLab username.
- Enter a GitLab Personal Access Token.
- The token must have the
read_apiscope. - Optionally enter a Group filter to limit the results to a specific GitLab group.
Creating a GitLab Personal Access Token
- Open your GitLab account settings.
- Navigate to Access Tokens.
- Create a new Personal Access Token.
- Give the token a descriptive name and set an expiration date if required.
- Select the
read_apiscope. - Create the token and copy it securely.
- Enter the token in Scrum Helper and optionally configure the Group filter to limit results to a GitLab group.
Keep your token secret. Never share it or commit it to a public repository.
Codeberg
To use Scrum Helper with Codeberg:
- Enter your Codeberg username.
- Enter your Codeberg Access Token.
- Optionally provide a custom Codeberg API base URL.
- The default API base URL is:
https://codeberg.org/api/v1
The custom API base URL allows Scrum Helper to work with custom or self-hosted Codeberg instances that provide a compatible API.
Creating a Codeberg Access Token
- Log in to your Codeberg account.
- Navigate to your account settings and open the Applications or access-token section.
- Create a new access token.
- Give the token a descriptive name and configure the required permissions.
- Create the token and copy it securely.
- Enter your username and access token in Scrum Helper.
- If you are using the standard Codeberg service, leave the API base URL as:
https://codeberg.org/api/v1
- If you are using a custom Codeberg instance, enter its API base URL in the API Base URL field.
Keep your token secret. Never share it or commit it to a public repository.
Release Process
This project uses a fully automated release process powered by GitHub Actions. Understanding this process is helpful for both maintainers and contributors.
The process is split into two parts:
1. Automated Release Drafting
This part runs every time a pull request is merged into the master branch.
- PR Merge: A contributor's pull request is reviewed and merged.
- Drafting Workflow: The "Release Drafter" workflow is triggered.
- Versioning: The workflow inspects the
release:*label or PR title to determine the next semantic version. - Changelog Update: The
CHANGELOG.mdfile is automatically updated with the titles of the merged PRs. - Draft Creation: A new draft release is created or updated in the Releases section. This draft includes the new version tag and the updated changelog notes.
2. Manual Release Publishing
This part is performed manually by maintainers when it's time to publish a new version.
- Verification: A maintainer reviews the draft release to ensure it's accurate and complete.
- Publishing: The maintainer publishes the release from the GitHub UI.
- Chrome Web Store Deployment: Publishing the release triggers the "Publish to Chrome Web Store" workflow, which automatically packages the extension and uploads it for review.
If you encounter any bugs, please report them at the Issues page.
AI-Assisted Contributions Guidelines
This project is receiving an increasing number of AI-assisted contributions. While we welcome the productivity AI tools bring, we require all contributions to maintain our standards for quality, intentionality, and maintainability. To ensure a high signal-to-noise ratio in our repository, please adhere to the following guidelines.
Expectations from Contributors
- You must understand your code: We expect human judgment to be the final filter. You take full responsibility for every line you submit.
- You must be able to explain: If asked by a maintainer, you should be able to explicitly explain what your change does, why it is necessary, and how it integrates with the rest of the codebase.
- Code must be:
What We Do NOT Accept
- PRs submitted without a clear use case or a linked, pre-approved issue.
- AI-generated code pasted blindly without deep comprehension.
- Duplicate PRs or attempts at solving issues that are already being handled.
- Surface-level "fixes" (e.g., unprompted refactoring, nitpicks) without solid reasoning.
- Features or abstractions that increase overall complexity without delivering tangible user value.
PR Requirements
- Linked Issue: Every PR (unless it is a trivial typo fix) must be linked to an existing issue.
- Clear Description: Provide a well-reasoned description detailing the problem and your solution. Do not paste AI-generated summaries of file diffs.
- Existing Patterns: Follow the established project conventions implicitly.
- Avoid Complexity: Keep changes as minimal and focused as possible.
AI Best Practices Table
| Area | Good Contribution | Poor Contribution | | :--- | :--- | :--- | | Problem selection | Solving a verified, pre-existing issue that you understand and ideally have encountered. | Submitting unrequested "improvements" or claiming random issues without a real-world use case. | | Understanding | Using AI to learn the codebase or brainstorm approaches, then writing/refining the final logic yourself. | Over-delegating to AI; submitting logic that you cannot confidently explain or debug. | | Code quality | Focused, minimal changes that address the exact problem efficiently. | Bloated PRs that introduce unnecessary code churn or rewrite entire blocks out of context. | | Architecture | Conforming strictly to the established design patterns and utilities of the project. | Hallucinating new dependencies or forcing foreign paradigms into the codebase. | | Validation | Manually compiling and verifying the extension works, and writing reliable tests. | Submitting code that has never been tested locally or fails basic linting. | | Maintainability | The implemented solution is simpler for us to maintain than the problem it solves. | Adding excessive "clever" complexity that increases the maintainer's review burden. | | PR description | Writing a clear, human-authored explanation of the why behind your changes. Including screenshots of your changes.| Pasting a generic, AI-generated summary of the modified files without context. | | AI usage | Disclosing your use of generative tools and verifying that the output makes sense. | Failing to review AI output, resulting in regressions or confidently incorrect logic. |
Maintainer Policy
- We reserve the right to close low-quality or fully automated PRs that fail to meet these guidelines without extensive review.
- PRs containing features not aligned with our current priorities or roadmap may be closed.
- Contributors are strongly encouraged to pick well-defined, triaged issues to ensure their time and effort result in a successful merge.