zircote

github-ecosystem

Generate comprehensive GitHub ecosystem configuration including CI/CD workflows, issue templates, PR templates, CODEOWNERS, dependabot, and Copilot instructions. Language-agnostic with Python, Go, and TypeScript support. Auto-detects project language from pyproject.toml, go.mod, or package.json. Use when setting up GitHub repos, adding CI/CD pipelines, creating issue/PR templates, configuring dependabot, adding CODEOWNERS, setting up Copilot instructions, or enhancing existing projects with GitHub tooling. Works on new or existing repositories with smart merging.

zircote 24 4 Updated 5mo ago

Resources

2
GitHub

Install

npx skillscat add zircote/claude/github-ecosystem

Install via the SkillsCat registry.

SKILL.md

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

Language Detection Files CI Tools
Python pyproject.toml, setup.py ruff, mypy, bandit, pytest
Go go.mod golangci-lint, go test
TypeScript package.json + tsconfig.json eslint, 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

Option Default Description
--project-path . Project directory
--language (auto) Force language: python, go, typescript
--components all Comma-separated: workflows,templates,dependabot,codeowners,copilot
--include-release false Include release workflow
--include-docker false Include docker workflow
--codeowners (optional) CODEOWNERS entries (e.g., "* @team")
--overwrite false Overwrite 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