Get the FREE Ultimate OpenClaw Setup Guide →

ecosystem

npx machina-cli add skill zircote/gh/ecosystem --openclaw
Files (1)
SKILL.md
4.2 KB
<!-- BEGIN MNEMONIC PROTOCOL -->

Memory

Search first: /mnemonic:search {relevant_keywords} Capture after: /mnemonic:capture {namespace} "{title}"

Run /mnemonic:list --namespaces to see available namespaces from loaded ontologies.

<!-- END MNEMONIC PROTOCOL -->

GitHub Ecosystem Configuration Generator

Generates production-ready GitHub configuration for any project.

Quick Start

Run in a project directory to auto-detect language and generate configuration:

python scripts/generate_github_config.py --project-path .

Supported Languages

LanguageDetection FilesCI Tools
Pythonpyproject.toml, setup.pyruff, mypy, bandit, pytest
Gogo.modgolangci-lint, go test
TypeScriptpackage.json + tsconfig.jsoneslint, prettier, tsc, vitest/jest

Components

GitHub Actions Workflows

ci.yml - Continuous Integration

  • Multi-version test matrix
  • Code quality checks (lint, format, typecheck)
  • Security scanning
  • Coverage reporting
  • Build verification

release.yml (optional) - Release Automation

  • Version bumping
  • GitHub Release creation
  • Package publishing
  • Changelog generation

docker.yml (optional) - Container Builds

  • Multi-platform builds (amd64, arm64)
  • GHCR publishing
  • Caching optimization

Issue Templates

  • bug_report.md - Structured bug reporting
  • feature_request.md - Feature proposals with API examples
  • config.yml - Template chooser configuration

Other Templates

  • PULL_REQUEST_TEMPLATE.md - PR checklist with change types
  • CODEOWNERS - Code ownership definitions
  • dependabot.yml - Automated dependency updates
  • copilot-instructions.md - GitHub Copilot context

Configuration Options

OptionDefaultDescription
--project-path.Project directory
--language(auto)Force language: python, go, typescript
--componentsallComma-separated: workflows,templates,dependabot,codeowners,copilot
--include-releasefalseInclude release workflow
--include-dockerfalseInclude docker workflow
--codeowners(optional)CODEOWNERS entries (e.g., "* @team")
--overwritefalseOverwrite existing files

Enhancement Mode

When .github/ already exists, the skill enters enhancement mode:

  • Detects existing configuration
  • Shows what will be added/modified
  • Merges without overwriting (unless --overwrite)
  • Preserves custom modifications

Generated Structure

.github/
├── workflows/
│   ├── ci.yml              # Always generated
│   ├── release.yml         # With --include-release
│   └── docker.yml          # With --include-docker
├── ISSUE_TEMPLATE/
│   ├── bug_report.md
│   ├── feature_request.md
│   └── config.yml
├── PULL_REQUEST_TEMPLATE.md
├── CODEOWNERS              # With --codeowners
├── dependabot.yml
└── copilot-instructions.md

Language-Specific Details

See reference files for detailed workflow patterns:

  • references/python-workflow.md - Python CI/CD patterns
  • references/go-workflow.md - Go CI/CD patterns
  • references/typescript-workflow.md - TypeScript CI/CD patterns

Post-Generation

After generation:

  1. Review generated workflows for your needs
  2. Add any required secrets (e.g., PYPI_API_TOKEN for publishing)
  3. Customize version matrices if needed
  4. Update CODEOWNERS with actual team handles

Source

git clone https://github.com/zircote/gh/blob/main/skills/ecosystem/SKILL.mdView on GitHub

Overview

Generates production-ready GitHub configuration for any project, including CI/CD workflows, issue templates, PR templates, CODEOWNERS, dependabot, and Copilot instructions. It auto-detects the project language (Python, Go, TypeScript) from pyproject.toml, go.mod, or package.json and works on both new and existing repositories using smart merging.

How This Skill Works

The tool analyzes the repository to detect language, then generates a complete .github/ configuration tree with workflows (ci.yml, release.yml, docker.yml), issue templates, PR templates, CODEOWNERS, dependabot, and Copilot instructions. It can merge with existing configurations in enhancement mode, preserving custom edits, and supports flags like --project-path, --language, and --components to tailor output.

When to Use It

  • Creating a new repo and need CI/CD, templates, and governance files
  • Adding CI/CD and templates to an existing repo with safe merging
  • Standardizing GitHub tooling across Python, Go, or TypeScript projects
  • Introducing CODEOWNERS, dependabot, and Copilot instructions for a repo
  • Enhancing an existing project with GitHub Actions, PR templates, and library templates

Quick Start

  1. Step 1: In the project directory, run: python scripts/generate_github_config.py --project-path .
  2. Step 2: Optionally specify language (--language), components (--components), and include flags (--include-release, --include-docker)
  3. Step 3: Review the generated .github/ files and commit them to the repository

Best Practices

  • Run from the project root to auto-detect language and generate the appropriate configuration
  • Use enhancement mode to merge changes without overwriting custom edits unless you specify --overwrite
  • Include CODEOWNERS and dependabot for governance and security automation
  • Provide clear issue and PR templates to ensure consistent collaboration
  • Validate generated workflows against language-specific patterns (Python, Go, TS) before committing

Example Use Cases

  • Create a new Python project with CI, linting, type checks, and issue/PR templates
  • Add Go service CI with multi-version tests, golangci-lint, and Docker workflow
  • Publish a TypeScript library with ESLint/Prettier, TS config, and PR templates
  • Enhance an existing repo with a complete .github structure using safe merging
  • Configure Copilot instructions and dependabot for ongoing code maintenance

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers