Skip to content
github-ecosystem logo

GitHub Ecosystem Configuration Generator

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. ...

SKILL.md

Full skill instructions

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