Skip to content

Org foundation pack: reusable workflows + agent guidance#3

Merged
muntianus merged 1 commit into
mainfrom
chore/org-foundation-pack
May 5, 2026
Merged

Org foundation pack: reusable workflows + agent guidance#3
muntianus merged 1 commit into
mainfrom
chore/org-foundation-pack

Conversation

@muntianus
Copy link
Copy Markdown
Owner

What

Lays down the org-wide foundation that the rest of PerfOpsLab repos will lean on.

Reusable workflows (workflow_call)

  • reusable-security-gate.yml — gitleaks, npm audit (advisory), govulncheck. Auto-skip if file (package-lock.json / go.mod) absent.
  • reusable-ci-go.yml — gofmt, vet, golangci-lint, build, test (race-by-default).
  • reusable-ci-node.yml — single aggregated check (npm run check) with fallback chain.
  • reusable-deploy-vps.yml — generic SSH/SCP-based VPS deploy with optional clean/build/remote-setup/deploy_script/health/public smoke. Drop-in for the existing manual-prod-deploy.yml pattern.

Workflow templates (UI "New workflow" picker)

Each reusable workflow has a starter template + properties JSON.

Agent guidance

  • AGENTS.md — canonical org guidance: hard rules, per-language verification, VPS deploy contract, issue/PR conventions.
  • CLAUDE.md — pointer to AGENTS.md (no duplicate source of truth).
  • Repo-local files override the org file. User instructions override both.

Issue + PR templates

  • bug_report.yml, task.yml, epic.yml + config disabling blank issues.
  • PULL_REQUEST_TEMPLATE.md with verification + risk sections.

Manifest

  • repos.yaml — single source of truth for stack, deploy target, CI per repo. Marks demo-repository and improved-parakeet-demo-repository as archive candidates and notes the pending decision on polymarket-arb org-transfer.

Other

  • .github/CODEOWNERS defaults to @muntianus.
  • CONTRIBUTING.md — branch model, pre-merge checklist, link to reusable workflows.

Why

Today every repo has its own security-gate.yml, its own deploy story, and CLAUDE.md is missing in 5 of them. This eliminates the drift before it gets worse and gives sibling repos a single line to call instead of copy-pasting workflow YAML.

Verification

  • All workflow files are workflow_call-only (no on: push/pr); no caller is required to merge them.
  • Caller-controlled inputs flow through env vars in run: and script: blocks (no inline ${{ inputs.* }} injection into shell).
  • Templates point to @main — caller pins explicitly when needed.

Follow-ups (subsequent PRs in sibling repos)

  • Replace bespoke security-gate.yml with uses: PerfOpsLab/.github/.github/workflows/reusable-security-gate.yml@main.
  • Add AGENTS.md + CLAUDE.md to launchgate, perfops-action, k6-scenarios, telegram-reminder-simple, iac-monitoring-agent.
  • Wire reusable-deploy-vps.yml into VPS-deployed services.

🤖 Generated with Claude Code

- Reusable workflows: security-gate, ci-go, ci-node, deploy-vps.
  Repos call them via `uses: PerfOpsLab/.github/.github/workflows/X.yml@main`.
- Workflow templates surface in GitHub "New workflow" picker.
- AGENTS.md / CLAUDE.md as canonical org-wide agent guidance.
  Repo-local files override; user instructions override both.
- Issue templates (task / bug / epic) + PR template + CODEOWNERS.
- repos.yaml manifest: stack, deploy target, CI per repo, archive candidates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@muntianus muntianus merged commit 77b634d into main May 5, 2026
@muntianus muntianus deleted the chore/org-foundation-pack branch May 5, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant