A cross-platform Python utility to link agents and skills from the awesome-copilot repository to any local git repository.
Install from source:
pip install .Or for development:
pip install -e .From PyPI (once published):
pip install gh-agent-syncRun the utility from the root of your git repository:
gh-agent-sync linkOr specify a custom repository:
gh-agent-sync link --url https://github.com/your-org/your-agents-repoThis will:
- Clone or update the awesome-copilot repository into
.github/awesome-copilot - Create symbolic links (or copies if symlinks fail) to
.github/agentsand.github/skills - Add the linked paths to
.gitignoreto prevent them from being committed
gh-agent-sync undoThis will:
- Remove the
.github/agentsand.github/skillsdirectories - Remove the cloned
.github/awesome-copilotrepository
To build the package:
python -m build- Create a release on GitHub
- The CI/CD workflow will automatically build and publish to PyPI
Make sure to set up PyPI API tokens in the repository secrets if needed.
- Checks if the current directory is a git repository
- Clones or updates the awesome-copilot repository into
.github/awesome-copilot - Creates symbolic links (or copies if symlinks fail):
.github/agents→.github/awesome-copilot/agents.github/skills→.github/awesome-copilot/skills
- Adds linked paths to
.gitignore
This allows you to use the agents and skills from awesome-copilot in your repository without copying the files directly.
- Python 3.8+
- Git
- Internet connection for cloning the repository
- On systems where symlinks are not supported or require special permissions, the utility will fall back to copying the directories.
- The utility creates links/copies, so changes in the awesome-copilot repo will be reflected in your links (after updating with
git pullin the cloned directory).
We use a pull request workflow with automated versioning and release management. Please see CONTRIBUTING.md for detailed guidelines on:
- How to create pull requests
- Conventional commit message style
- Automated versioning and release process
All commits should follow the Conventional Commits specification.