home / skills / zircote / .claude / github-ecosystem

github-ecosystem skill

/skills/github-ecosystem

npx playbooks add skill zircote/.claude --skill github-ecosystem

Review the files below or copy the command above to add this skill to your agents.

Files (7)
SKILL.md
3.9 KB
---
name: github-ecosystem
description: 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.
---

# 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:
```bash
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