Skip to content

z-shell/.github

Z-Shell

Z-Shell — Organization Configuration

Shared GitHub Actions, workflow templates, organization profile, and community assets.

License


About the .github Repository

The .github repository is a special GitHub repository that serves as the organization-wide configuration hub. Files placed here apply as defaults across all repositories in the Z-Shell organization, without needing to duplicate them into every individual repository.

What Makes It Special

Feature How It Works
Organization Profile profile/README.md is rendered on the organization's GitHub page as the public-facing profile.
Default Community Health Files Files like CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, and GOVERNANCE.md in .github/ are used as fallbacks by any org repository that doesn't define its own.
Default Issue & PR Templates Templates in .github/ISSUE_TEMPLATE/ and discussion forms in .github/DISCUSSION_TEMPLATE/ are inherited by repositories without their own templates.
Reusable Composite Actions The actions/ directory hosts composite actions that any org repository can reference via uses: z-shell/.github/actions/<name>@main.
Workflow Templates The workflow-templates/ directory provides starter workflows available in every org repository under Actions > New workflow.
Shared Dependency Config renovate-config.json defines a shared Renovate preset that org repositories can extend for consistent automated dependency updates.

Note: The .github repository must be public for default community health files to apply across the organization.


Repository Structure

Path Purpose
profile/ Organization profile — the README and visual assets displayed on the org page
actions/ Reusable composite GitHub Actions shared across all org repositories
workflow-templates/ Starter workflow templates available in the Actions > New workflow tab
metrics/ Auto-generated organization metrics and analytics
renovate-config.json Shared Renovate bot preset for dependency updates

Community Health Files

These files in .github/ act as organization-wide defaults — automatically used by any repository that doesn't have its own version:

File Purpose
CODE_OF_CONDUCT.md Contributor Covenant code of conduct
CONTRIBUTING.md Contribution guidelines and requirements
SECURITY.md Security vulnerability reporting policy
GOVERNANCE.md Project governance roles and decision-making
CHARTER.md Organizational charter and mission
STEERING_COMMITTEE.md Steering committee membership
MAINTAINERS.md Project maintainer list
TRADEMARKS.md Trademark usage policy
ANTITRUST.md Antitrust compliance policy
ISSUE_TEMPLATE/ Default issue forms (bug reports, features, docs, membership)
DISCUSSION_TEMPLATE/ Default discussion category forms

Shared Actions

Composite actions available to all repositories via z-shell/.github/actions/<name>:

Action Description
setup-zsh Set up Zsh environment for CI
setup-zsh-development Set up Zsh development environment
build-zpmod-module Build the Zpmod Zsh module
test-zpmod-module Test the Zpmod module
test-zsh-module Test Zsh modules
commit Automated commit action
rebase Automated rebase action
mirror Repository mirroring
rclone File sync with rclone
determine-branch Determine target branch
verify-pr-labels Verify PR label compliance

Usage example:

steps:
  - uses: z-shell/.github/actions/setup-zsh@main

Workflow Templates

Starter workflows available in every org repository under Actions > New workflow:

Template Description
Commit Action Automated commit workflow
Rebase Action PR auto-rebase workflow
Lock Action Issue/PR auto-lock
Stale Action Stale issue management
Trunk Trunk.io linting integration
Sync Labels Label synchronization
Verify PR Labels PR label validation
Rclone Action File sync with rclone

Renovate

Shared Renovate preset for automated dependency updates. Reference from any org repository:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["local>z-shell/.github:renovate-config"]
}

Common Use Cases

This repository is the right place for any organization-level configuration:

  • Adding a new default issue/PR template — add it to .github/ISSUE_TEMPLATE/
  • Creating a reusable CI action — add a composite action under actions/<name>/action.yml
  • Providing a starter workflow — add .yml + .properties.json to workflow-templates/
  • Updating the organization profile — edit profile/README.md or add assets to profile/img/
  • Changing contribution or security policies — edit the corresponding file in .github/
  • Updating shared Renovate config — edit renovate-config.json

For repository-specific overrides, add the same file to that repository directly — it will take precedence over the defaults from here.

Links


Part of the Z-Shell organization