Skip to content

OverLab Action Bots – The largest collection of production‑ready GitHub Action bots. Zero‑config, zero‑dependency, one‑click deployment.

License

Notifications You must be signed in to change notification settings

OverLab-Group/OLABS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OverLab Action Bots (OLABS)

Professional, zero‑complexity GitHub Actions for every automation need.
Deploy 14+ production‑grade bots to any repository in seconds.


🚀 Quick Start

  1. Clone this repository (or download the ZIP):

    git clone https://github.com/OverLab-Group/OLABS.git
    cd OLABS
  2. Deploy bots to your target repositories:

    # Deploy all bots to two local repos
    ./deploy.sh all /path/to/repo1 /path/to/repo2
    
    # Deploy only lfb and endb to a single repo
    ./deploy.sh lfb,endb /path/to/repo

    PowerShell version: .\deploy.ps1 lfb,endb C:\path\to\repo

  3. Commit and push the changes in your target repositories.
    The bots will run automatically on every push/PR.


📋 Prerequisites

  • Git (>=2.25)
  • Bash 4+ or PowerShell 5.1+ (for deployment)
  • GitHub CLI (gh) – required by some bots for commenting, releases, and moderation
  • Target repository – any GitHub repository (public or private)

⚙️ Global Configuration (overlab_actions.md)

Mandatory – place this file in the root of every target repository.
The deploy script copies a template; you must edit at least the following:

# OverLab Action Bots – Global Configuration
# This file is REQUIRED in the root of your repository.
# All bots read it. Edit the values below.

# ----------------------------------------------------------------------
# Git identity for auto‑commits (used by bots that commit changes)
# ----------------------------------------------------------------------
BOT_GIT_NAME  = OverLab Group
BOT_GIT_EMAIL = overlab.group@gmail.com

# ----------------------------------------------------------------------
# Directory paths (relative to repository root)
# ----------------------------------------------------------------------
OUTPUT_DIR  = metadata
CONFIG_DIR  = .overlab_actions

# ----------------------------------------------------------------------
# Bot enablement – comma‑separated lists of bot names
# Full list: lfb, endb, ss, bg, dc, rd, sm, w2, ev, ccr, db, nat, bb, cube
# ----------------------------------------------------------------------
BOTS_ENABLED  = lfb, endb, ss, bg, dc, rd, sm, w2, ev, ccr, db, nat, bb, cube
BOTS_DISABLED =

# ----------------------------------------------------------------------
# Protected files/directories – guarded by NAT (Not Allowed Things) bot
# Supports * wildcard (prefix matching)
# ----------------------------------------------------------------------
PROTECTED_PATHS = metadata, .overlab_actions/global.md, .github/workflows/olabs-*.yml

All bots read this file. See each bot's documentation for per‑bot configuration.


🤖 Available Bots

Bot Name Description
lfb Linter & Formatter Auto‑format 30+ languages (C, Rust, Go, Python, JS, PHP, Ruby, …)
endb Auto END Bot Generate CHANGELOG.md from // END comments; archive on major releases
ss Security Scout Run Trivy, Gitleaks, CodeQL; create private security issues
bg Benchmark Guardian Run benchmarks, compare with main, comment on PR
dc Dependency Watch Check outdated deps and license compliance; comment on PR
rd Release Drafter Generate release notes from conventional commits; create releases
sm Stale Manager Close stale issues/PRs after periods of inactivity
w2 Welcome Wagon Greet first‑time contributors on their first PR
ev Example Validator Build and run all examples; fail PR if any break
ccr Code Coverage Reporter Run tests, generate coverage reports, comment on PR, store history
db Discussion Bot (Go) Moderate comments, remove offensive content, track offenders, block users
nat Not Allowed Things Protect sensitive files from unauthorized changes
bb Build Bot Auto‑build projects (CMake, Make, Cargo, Go, npm, …); tag and release
cube Config Up Bot Environment Auto‑configure environment for detected tech stacks

📦 Per‑Bot Configuration

Each bot reads its own configuration from
<CONFIG_DIR>/<bot>/config.md (e.g., .overlab_actions/lfb/config.md).
Format: KEY=VALUE (one per line, # for comments).

Example – LFB:

ENABLED = true
TOOLS = clang-format,prettier,black
AUTO_COMMIT = true
COMMIT_MESSAGE = style: auto-format code
VERBOSE = false

All keys are optional – bots fall back to sane defaults.
See each bot's config.md template for available options.


🛠️ Deployment Scripts

deploy.sh (Bash)

./deploy.sh <bot-list> <repo-path1> [repo-path2 ...]
  • <bot-list>: comma‑separated bot names (e.g., lfb,endb,ss) or all
  • <repo-path>: absolute or relative path to local Git repository

deploy.ps1 (PowerShell)

.\deploy.ps1 <bot-list> <repo-path1> [repo-path2 ...]

What the scripts do:

  1. Validate that each target is a Git repository.
  2. Create .github/workflows and .github/actions if missing.
  3. Copy each selected bot's action folder to .github/actions/olabs-<bot>/.
  4. Copy common/common.sh into the same folder (self‑contained bot).
  5. Create a workflow file .github/workflows/olabs-<bot>.yml that uses the local action.
  6. Copy overlab_actions.md to the repository root if not already present.
  7. Copy per‑bot config example to <CONFIG_DIR>/<bot>/config.md if not already present.

The scripts do not overwrite existing global configs or per‑bot configs – they only create missing files.


🔒 Required GitHub Token Permissions

Some bots require additional permissions. Add these to your workflow if needed:

Bot Required Scopes
ss security-events: write, issues: write
rd contents: write
sm issues: write, pull-requests: write
db repo, discussions, admin:org
nat (no special scopes)
all GITHUB_TOKEN is automatically provided

📄 License

Apache 2.0 – Free for personal and commercial use.
See LICENSE for full terms.


OverLab Action Bots – Built for the real world. 🖤

About

OverLab Action Bots – The largest collection of production‑ready GitHub Action bots. Zero‑config, zero‑dependency, one‑click deployment.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published