feat: Implement comprehensive lifecycle hooks system #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎉 Lifecycle Hooks System Implementation
This PR implements a comprehensive lifecycle hooks system for Codex CLI that allows users to execute custom scripts at different stages of the agent task cycle.
✨ Features Added
🔧 Core Implementation
🎯 Hook Types Supported
onTaskStart,onTaskComplete,onTaskErroronCommandStart,onCommandCompleteonPatchApplyonAgentMessage,onAgentReasoning,onMcpToolCall🔍 Advanced Filtering System
🛡️ Security & Performance
👨💻 Developer Experience
📁 Files Added
Core Implementation
codex-cli/src/utils/lifecycle-hooks/hook-executor.tscodex-cli/src/utils/config.ts(enhanced)codex-cli/src/utils/agent/agent-loop.ts(enhanced)codex-cli/src/utils/agent/handle-exec-command.ts(enhanced)Documentation
codex-cli/docs/lifecycle-hooks.mdcodex-cli/docs/lifecycle-hooks-quickstart.mdREADME.md(enhanced with lifecycle hooks section)Examples
codex-cli/examples/lifecycle-hooks-config.yamlcodex-cli/examples/advanced-filtering-config.yamlcodex-cli/examples/hooks/(4 example scripts)Tests (52 tests total)
codex-cli/tests/lifecycle-hooks-*.test.ts(8 test files)codex-cli/tests/lifecycle-hooks-test-summary.md🚀 Usage Example
🔄 Breaking Changes
None - this is a purely additive feature that is disabled by default.
✅ Testing
All 52 tests pass, covering:
📊 Performance Metrics
🎯 Resolves
📚 Documentation
Ready for review! 🎉 This implementation provides a powerful foundation for users to extend Codex CLI with custom automation and integrations.
Pull Request opened by Augment Code with guidance from the PR author