By sophium
ERun skills for Claude Code: Blueprint skills that build multi-tenant RLS database + API modules following ERun's accumulated best practices, and Workflow skills that file issues + drive the contribution flow that lets users share improvements back.
Build a multi-tenant Go HTTP API service following ERun's blueprint — OIDC bearer authentication, tenant resolution from the token issuer, layered model / repository / service / routes structure, transaction-scoped PostgreSQL security context, identity resolution cache, and audit logging. Captures the patterns that erun-backend-api packages. Use when the user says "build a multi-tenant http api", "create an erun-backend-api-shaped service", "I need a multi-tenant Go api with oidc auth and tenant rls", "build a multi-tenant backend api", or any similar request for a new multi-tenant Go API.
Build a multi-tenant PostgreSQL database module following ERun's blueprint — row-level security, Atlas migrations, UUIDv7 surrogate keys, shared timestamp trigger, separate erun_tenant / erun_operations PostgreSQL roles, and the canonical tenant/issuer/user bootstrap that erun-backend-db captures. Use when the user says "build a multi-tenant postgres database", "create a tenant-scoped postgres schema with row-level security", "set up multi-tenant postgres migrations", "I need an erun-backend-db-shaped module", "build a multi-tenant rls db", or any similar request for a new tenant-scoped PostgreSQL project.
Contribute a change to the ERun platform itself — create a new GitHub issue against sophium/erun that captures the work, clone the repo, implement the change following its AGENTS.md rules, and submit a pull request back. Use when the user says "contribute to erun", "make a change to erun", "work on erun", "land a fix in erun", "submit a PR to erun", "propose an improvement to erun", or any phrasing that asks to land a code change in the ERun platform.
Register or file a bug or feature request for the ERun project itself on GitHub. Use when the user says "file an erun bug", "file an erun feature", "register erun bug", "register erun feature", "open an erun issue", or any similar request about reporting an issue against the ERun platform (not the tenant repository being worked on).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Multi tenant, Multi-environment deployment and management tool.
ERun implements an opinionated way of how to maintain large scale enterprise projects.
The problem ERun is trying to solve is "how do you use helm, terraform and cloud provider specific CLI tools in multi environment (DEV,TEST,DR,PROD) situation".
The problem escalates to mundane silly everyday tasks and challenges, such as:
ERun tries to help solving these issues without getting into the developers way. ERun is entirely optional, all the heavy lifting is done via terraform, helm and git. One can stop using ERun at any point and just navigate and build with these tools.
ERun ships two executables:
erun - CLI utilityemcp - MCP server executableTap the repository and install erun from it:
brew tap sophium/erun https://github.com/sophium/erun
brew install sophium/erun/erun
Add the repository as a Scoop bucket and install erun from it:
scoop bucket add sophium-erun https://github.com/sophium/erun
scoop install sophium-erun/erun
For Debian and Ubuntu, download and install a specific release from the project's GitHub Releases page:
VERSION="1.0.17" && ARCH="$(dpkg --print-architecture)" && curl -fLo "erun_${VERSION}_${ARCH}.deb" "https://github.com/sophium/erun/releases/download/v${VERSION}/erun_${VERSION}_${ARCH}.deb" && sudo apt install "./erun_${VERSION}_${ARCH}.deb"
If you prefer to build the binaries yourself:
(cd erun-cli && go build -o ../erun .)
(cd erun-mcp && go build -o ../emcp ./cmd/emcp)
brew install go
brew install golangci-lint
The repository ships a pre-commit hook in .githooks/pre-commit that runs golangci-lint --fix before every commit. Enable it per-clone so that formatting and lint fixes are automatically applied on git commit:
git config core.hooksPath .githooks
sudo DevToolsSecurity --enable
xcode-select -p
sudo dseditgroup -o edit -t user -a "$USER" _developer
When submitting Pull Request try to adhere to best practices described in https://go.dev/doc/effective_go. When commenting use links to https://go.dev/wiki/CodeReviewComments subsection when code is in violation with these rules (most likely linter will not allow these).
When developing ERun it is recommended to use aliases
alias erun='~/git/sophium/erun/erun-cli/run.sh'
alias emcp='~/git/sophium/erun/erun-mcp/run.sh'
This keeps local startup consistent for both executables:
erun version
emcp --host 127.0.0.1 --port 17000 --path /mcp
erun mcp launches the separate emcp binary, so local development should build emcp via erun-mcp/run.sh or otherwise make emcp available on PATH.
ERun is a developer tool.
It assumes that bunch of core dependencies such as:
are deployed.
ERun heavily relies on host machine being able to run basic shell (zsh,bash on Mac,Linux or Git bash on windows).
Once deployed ERun will create docker devops CLI shell, that will deploy all tools necessary for ERun to operate. ERun will launch docker container on per Environment basis, with an option to use mounted host file system, otherwise ERun will use image/container file system with files specific to the particular system release.
ERun configuration is stored in $HOME/.erun folder and the CLI exposes a --config flag
that points to this folder.
To initialize ERun support for the project, just run erun in any project directory. ERun will try to locate .git directory, and then configuration/tenant for this directory in User Home configuration directory that might vary for different Host (Windows,Mac,Linux) architectures.
npx claudepluginhub sophium/erun --plugin erun-toolsA growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Persistent file-based planning for AI coding agents. Crash-proof markdown plans (task_plan.md, findings.md, progress.md) that survive context loss and /clear, with an opt-in completion gate and multi-agent shared state. Manus-style. Works with Claude Code, Codex CLI, Cursor, Kiro, OpenCode and 60+ agents via the SKILL.md standard. Includes Arabic, German, Spanish, and Chinese (Simplified and Traditional).
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.