No description
  • Lua 67.1%
  • Shell 29.5%
  • Rust 3.4%
Find a file
Markus Maiwald 16d921f855
Some checks failed
Validate Manifests / validate (push) Failing after 17s
fix: standardize all URLs to git.sovereign-society.org
2026-03-15 15:02:08 +01:00
.github/workflows Initial plugin registry commit with example plugins 2026-01-30 12:46:53 +01:00
csv-export feat: initial plugin collection 2026-01-30 13:01:08 +01:00
forgejo-notify Replace Apache-2.0 with LUL-1.0, rewrite README 2026-03-14 21:15:20 +01:00
git-hooks Replace Apache-2.0 with LUL-1.0, rewrite README 2026-03-14 21:15:20 +01:00
gitlab-ci fix: standardize all URLs to git.sovereign-society.org 2026-03-15 15:02:08 +01:00
jira-sync feat: initial plugin collection 2026-01-30 13:01:08 +01:00
plugins Replace Apache-2.0 with LUL-1.0, rewrite README 2026-03-14 21:15:20 +01:00
schema Initial plugin registry commit with example plugins 2026-01-30 12:46:53 +01:00
slack-notify feat: initial plugin collection 2026-01-30 13:01:08 +01:00
symbio-expert feat: initial plugin collection 2026-01-30 13:01:08 +01:00
syntax-highlight feat: initial plugin collection 2026-01-30 13:01:08 +01:00
.gitignore feat: initial plugin collection 2026-01-30 13:01:08 +01:00
categories.json Initial plugin registry commit with example plugins 2026-01-30 12:46:53 +01:00
CONTRIBUTING.md Initial plugin registry commit with example plugins 2026-01-30 12:46:53 +01:00
LICENSE Replace Apache-2.0 with LUL-1.0, rewrite README 2026-03-14 21:15:20 +01:00
README.md Replace Apache-2.0 with LUL-1.0, rewrite README 2026-03-14 21:15:20 +01:00

ProGit Plugin Registry

The official plugin index for ProGit — the git-first, terminal-native project management suite.

Browse and install from plugins.progit.dev · Build your own with the Plugin SDK


Installing Plugins

# Search the registry
prog plugin search forgejo

# Install a plugin
prog plugin install forgejo-notify

# Install a specific version
prog plugin install git-hooks@1.0.0

# Install directly from a git URL
prog plugin install --git https://git.example.org/you/my-plugin.git

# List installed plugins
prog plugin list

Official Plugins

Plugin Category Description
git-hooks Utility Commit hygiene enforcement + issue auto-close via closing keywords
forgejo-notify Integration Post status changes and sync events as Forgejo/Gitea MR comments
gitlab-ci Integration GitLab CI/CD pipeline status in the ProGit TUI

Registry Structure

plugins/
├── integrations/    # External system sync (Forgejo, GitLab, GitHub, Jira …)
├── analytics/       # Metrics, reports, dashboards
└── utilities/       # Automation, quality checks, notifications

<plugin-name>/       # Source for ProGit Team plugins (Lua)
│   └── main.lua
schema/              # JSON Schema for plugin manifests
categories.json      # Category definitions

Publishing Your Plugin

1. Write the plugin

Plugins are Lua scripts (LuaJIT). The sandbox provides:

-- HTTP client
local resp = http.get("https://api.example.org/data", { ["Authorization"] = "Bearer " .. token })
local resp = http.post(url, json.encode(payload), { ["Content-Type"] = "application/json" })
-- resp = { status = 200, body = "...", ok = true }

-- JSON codec
local encoded = json.encode({ key = "value" })
local decoded = json.decode(resp.body)

Every plugin declares a plugin table:

plugin = {
    name        = "my-plugin",
    version     = "1.0.0",
    author      = "Your Name",
    description = "What it does",
    hooks = {
        on_status_changed = true,
        on_sync_push      = true,
    },
}

function on_status_changed(data)
    -- data.id, data.title, data.old_status, data.new_status
    return { notified = true }
end

Full SDK docs: sdk.progit.dev

2. Create a manifest

Add a JSON file to plugins/<category>/<your-plugin>.json:

{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "What your plugin does (10256 chars)",
  "author": "Your Name",
  "license": "MIT",
  "plugin_type": "integration",
  "runtime": "lua",
  "source_url": "https://git.example.org/you/my-plugin.git",
  "source_tag": "v1.0.0",
  "sdk_version": ">=0.1.0",
  "hooks": ["on_status_changed"]
}

Validate against the schema.

3. Submit a pull request

Fork → add manifest → open PR. We review for:

  • Manifest completeness and schema validity
  • No obvious malicious behaviour in the Lua source
  • Working source_url pointing to a public repo

That's it. No fees, no gatekeeping.


Licensing

The registry index and all ProGit Team plugins are released under the Libertaria Unbound License (LUL) v1.0 — essentially public domain with attribution. Do anything with it.

Your own plugins may use any license you choose.

See LICENSE for the full text.