ecosystem
npx machina-cli add skill zircote/gh/ecosystem --openclawMemory
Search first: /mnemonic:search {relevant_keywords}
Capture after: /mnemonic:capture {namespace} "{title}"
Run /mnemonic:list --namespaces to see available namespaces from loaded ontologies.
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 patternsreferences/go-workflow.md- Go CI/CD patternsreferences/typescript-workflow.md- TypeScript CI/CD patterns
Post-Generation
After generation:
- Review generated workflows for your needs
- Add any required secrets (e.g., PYPI_API_TOKEN for publishing)
- Customize version matrices if needed
- Update CODEOWNERS with actual team handles
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
- Step 1: In the project directory, run: python scripts/generate_github_config.py --project-path .
- Step 2: Optionally specify language (--language), components (--components), and include flags (--include-release, --include-docker)
- 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