Files
awesome-copilot/docs/README.hooks.md
Aaron Powell acb5ad4ce8 feat: add hooks functionality with automated workflows
- Introduced hooks to enable automated workflows triggered by specific events during GitHub Copilot sessions.
- Added documentation for hooks in AGENTS.md and README.md.
- Created a new directory structure for hooks, including README.md and hooks.json files.
- Implemented two example hooks: Session Auto-Commit and Session Logger.
- Developed scripts for logging session events and auto-committing changes.
- Enhanced validation and parsing for hook metadata.
- Updated build and validation scripts to accommodate new hooks functionality.
2026-02-09 16:44:53 +11:00

1.7 KiB

🪝 Hooks

Hooks enable automated workflows triggered by specific events during GitHub Copilot coding agent sessions, such as session start, session end, user prompts, and tool usage.

How to Use Hooks

What's Included:

  • Each hook is a folder containing a README.md file and a hooks.json configuration
  • Hooks may include helper scripts, utilities, or other bundled assets
  • Hooks follow the GitHub Copilot hooks specification

To Install:

  • Copy the hook folder to your repository's .github/hooks/ directory
  • Ensure any bundled scripts are executable (chmod +x script.sh)
  • Commit the hook to your repository's default branch

To Activate/Use:

  • Hooks automatically execute during Copilot coding agent sessions
  • Configure hook events in the hooks.json file
  • Available events: sessionStart, sessionEnd, userPromptSubmitted, preToolUse, postToolUse, errorOccurred

When to Use:

  • Automate session logging and audit trails
  • Auto-commit changes at session end
  • Track usage analytics
  • Integrate with external tools and services
  • Custom session workflows
Name Description Events Bundled Assets
Session Auto-Commit Automatically commits and pushes changes when a Copilot coding agent session ends sessionEnd auto-commit.sh
hooks.json
Session Logger Logs all Copilot coding agent session activity for audit and analysis sessionStart, sessionEnd, userPromptSubmitted hooks.json
log-prompt.sh
log-session-end.sh
log-session-start.sh