This directory contains the foundational architecture for the gemini-cli-bot,
transforming the repository into a proactive, evolutionary system.
It implements a dual-layer approach to balance immediate responsiveness with long-term strategic optimization.
- Purpose: High-frequency, deterministic maintenance.
- Frequency: 30-minute cron (
.github/workflows/gemini-cli-bot-pulse.yml). - Implementation: Pure TypeScript/JavaScript scripts.
- Classification: Optionally utilizes Gemini CLI for high-confidence semantic classification (e.g., triage, labeling, sentiment) while preferring deterministic logic for equivalent tasks.
- Phases:
- Reflex Execution: Runs triage, routing, and automated maintenance
scripts in
reflexes/scripts/.
- Reflex Execution: Runs triage, routing, and automated maintenance
scripts in
- Output: Real-time action execution.
- Purpose: Strategic investigation, policy refinement, and proactive self-optimization.
- Frequency: 24-hour cron (
.github/workflows/gemini-cli-bot-brain.yml). - Implementation: Agentic Gemini CLI phases.
- Phases:
- Metrics Collection: Executes scripts in
metrics/scripts/to track repository health (Open issues, PR latency, throughput, etc.). - Phase 1: Reasoning (Metrics & Root-Cause Analysis): Analyzes time-series metric trends and repository state to identify bottlenecks or productivity gaps, tests hypotheses, and proposes script or configuration changes to improve repository health and maintainability.
- Phase 2: Critique: A technical and logical validation layer that reviews proposed changes for robustness, actor-awareness, and anti-spam protocols.
- Phase 3: Publish: Automatically promotes approved changes to Pull Requests, handles branch management, and responds to maintainer feedback.
- Metrics Collection: Executes scripts in
metrics/: Deterministic runner (index.ts) and scripts for tracking repository metrics via GitHub CLI.reflexes/scripts/: Deterministic triage and routing scripts executed by the Pulse.brain/: Prompt templates and logic for strategic root-cause analysis (Phase 1:metrics.md) and technical validation (Phase 2:critique.md).history/: Persistent storage for time-series metrics artifacts.lessons-learned.md: The bot's structured memory, containing the Task Ledger, Hypothesis Ledger, and Decision Log.
To manually collect repository metrics locally, run the following command from the workspace root:
npx tsx tools/gemini-cli-bot/metrics/index.tsThis will execute all scripts within metrics/scripts/ and output the results
to tools/gemini-cli-bot/history/metrics-before.csv.
When modifying the bot's logic:
- Reflexes: Add or update scripts in
reflexes/scripts/. - Reasoning: Update the prompts in
brain/to refine how the bot identifies bottlenecks. - Critique: Update the prompts in
critique/to strengthen the validation of proposed changes.