Skip to content

Commit 536f716

Browse files
committed
docs: align messaging across documentation and config files
- Refine messaging to focus on agentic guardrails and plug n play experience - Introduce docs with MkDocs structure and navigation Signed-off-by: Dimitris Kargatzis <dkargatzis@gmail.com>
1 parent 65afe36 commit 536f716

16 files changed

Lines changed: 3950 additions & 819 deletions

File tree

.github/workflows/docs.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
- 'mkdocs.yml'
10+
- '.github/workflows/docs.yml'
11+
pull_request:
12+
branches:
13+
- main
14+
paths:
15+
- 'docs/**'
16+
- 'mkdocs.yml'
17+
- '.github/workflows/docs.yml'
18+
19+
permissions:
20+
contents: read
21+
pages: write
22+
id-token: write
23+
24+
concurrency:
25+
group: "pages"
26+
cancel-in-progress: false
27+
28+
jobs:
29+
# Build job
30+
build:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- name: Checkout
34+
uses: actions/checkout@v4
35+
36+
- name: Setup Python
37+
uses: actions/setup-python@v5
38+
with:
39+
python-version: '3.12'
40+
41+
- name: Install UV
42+
uses: astral-sh/setup-uv@v2
43+
with:
44+
version: "latest"
45+
46+
- name: Install dependencies
47+
run: |
48+
uv sync
49+
50+
- name: Build documentation
51+
run: mkdocs build
52+
53+
- name: Upload artifact
54+
uses: actions/upload-pages-artifact@v3
55+
with:
56+
path: ./site
57+
58+
# Deploy job
59+
deploy:
60+
environment:
61+
name: github-pages
62+
url: ${{ steps.deployment.outputs.page_url }}
63+
runs-on: ubuntu-latest
64+
needs: build
65+
if: github.ref == 'refs/heads/main'
66+
steps:
67+
- name: Deploy to GitHub Pages
68+
id: deployment
69+
uses: actions/deploy-pages@v4

README.md

Lines changed: 84 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,38 @@
11
# Watchflow
22

3-
Intelligent GitHub workflow monitoring and enforcement powered by AI agents.
3+
Agentic Guardrails for GitHub repositories that enforces rules and improves team collaboration.
44

55
## Overview
66

7-
Watchflow is an intelligent governance solution for GitHub repositories that uses AI agents to automate policy enforcement and improve collaboration. By combining natural language rule definitions with real-time event processing, Watchflow provides nuanced governance that adapts to your team's workflow.
7+
Watchflow is a governance tool that uses AI agents to automate policy enforcement across your GitHub repositories. By
8+
combining rule-based logic with AI-powered intelligence, Watchflow provides context-aware governance that adapts to your
9+
team's workflow and scales with your organization.
810

9-
## Problem Statement
11+
## Why Watchflow?
1012

11-
Traditional CI/CD rules are rigid and often fail to capture the complexity of real-world development scenarios. Teams need:
13+
Traditional governance tools are rigid and often fail to capture the complexity of real-world development scenarios.
14+
Teams need:
1215

1316
- **Intelligent rule evaluation** that understands context and intent
14-
- **Flexible acknowledgment systems** that allow for justified exceptions
17+
- **Flexible acknowledgment systems** that allow for legitimate exceptions
1518
- **Real-time governance** that scales with repository activity
16-
- **Natural language interfaces** that make rule creation accessible
19+
- **Plug n play GitHub integration** that works within existing workflows
1720

18-
## Solution
21+
## How It Works
1922

2023
Watchflow addresses these challenges through:
2124

22-
- **AI-Powered Rule Engine**: Uses LangGraph agents with GPT-4.1-mini to intelligently evaluate rules against repository events
23-
- **Hybrid Evaluation Strategy**: Combines fast validators for common checks with LLM reasoning for complex scenarios
24-
- **Intelligent Acknowledgments**: Processes acknowledgment requests through PR comments with context-aware decision making
25-
- **Stateless Architecture**: Fully scalable FastAPI backend with no persistent storage requirements
25+
- **AI-Powered Rule Engine**: Uses AI agents to intelligently evaluate rules against repository events
26+
- **Hybrid Architecture**: Combines rule-based logic with AI intelligence for optimal performance
27+
- **Intelligent Acknowledgments**: Processes acknowledgment requests through PR comments with context-aware decision
28+
making
29+
- **Plug n play Integration**: Works within GitHub interface with no additional UI required
2630

27-
## Core Features
31+
## Key Features
2832

2933
### Natural Language Rules
30-
Define governance rules in plain English. Watchflow translates these into actionable YAML configurations and provides intelligent evaluation.
34+
Define governance rules in plain English. Watchflow translates these into actionable YAML configurations and provides
35+
intelligent evaluation.
3136

3237
```yaml
3338
rules:
@@ -42,96 +47,42 @@ rules:
4247
message: "Deployments are not allowed on weekends"
4348
```
4449
45-
### Agent-Powered Decisions
46-
Three specialized AI agents work together:
50+
### Flexible Rule System
51+
Define governance rules in YAML format with rich conditions and actions. Support for approval requirements, security
52+
reviews, deployment protection, and more.
4753
48-
- **Engine Agent**: Hybrid rule evaluation using validators and LLM reasoning
49-
- **Feasibility Agent**: Analyzes rule descriptions and generates YAML configurations
50-
- **Acknowledgment Agent**: Evaluates acknowledgment requests with context awareness
54+
### Intelligent Acknowledgment Workflow
55+
When rules are violated, developers can acknowledge them with simple comments. AI agents evaluate requests and provide
56+
context-aware decisions.
5157
52-
### Real-time Event Processing
53-
Processes GitHub events (push, pull_request, check_run, deployment, etc.) securely and asynchronously, with dynamic context enrichment via GitHub API.
58+
## Hybrid Architecture
5459
55-
## Architecture
60+
Watchflow uses a unique hybrid architecture that combines rule-based logic with AI-powered intelligence:
5661
57-
### Key Components
58-
59-
- **Webhook Handlers**: Secure GitHub event processing with signature verification
60-
- **Event Processors**: Context enrichment and rule evaluation orchestration
61-
- **AI Agents**: LangGraph-based intelligent decision making
62-
- **Task Queue**: Asynchronous processing for scalability
63-
- **Rule System**: YAML-based rule definition and validation
62+
- **Rule Engine**: Fast, deterministic rule evaluation for common scenarios
63+
- **AI Agents**: Intelligent context analysis and decision making
64+
- **Decision Orchestrator**: Combines both approaches for optimal results
65+
- **GitHub Integration**: Plug n play event processing and action execution
6466
6567
## Quick Start
6668
67-
### Prerequisites
68-
69-
- Python 3.12+
70-
- GitHub App credentials
71-
- OpenAI API key
72-
- Public webhook endpoint (ngrok for local development)
73-
74-
### Installation
75-
76-
1. **Clone the repository**:
77-
```bash
78-
git clone https://github.com/watchflow/watchflow.git
79-
cd watchflow
80-
```
81-
82-
2. **Install dependencies**:
83-
```bash
84-
pip install -e .
85-
```
86-
87-
3. **Configure environment**:
88-
```bash
89-
cp .env.example .env
90-
# Edit .env with your credentials
91-
```
69+
Get Watchflow up and running in minutes to start enforcing governance rules in your GitHub repositories.
9270
93-
4. **Run the application**:
94-
```bash
95-
uvicorn src.main:app --reload
96-
```
71+
### Step 1: Install GitHub App
9772
98-
### Environment Variables
73+
1. **Go to GitHub App Installation**
74+
- Visit [Watchflow GitHub App](https://github.com/apps/watchflow)
75+
- Click "Install"
9976
100-
```bash
101-
# GitHub App Configuration
102-
APP_NAME_GITHUB=your-app-name
103-
CLIENT_ID_GITHUB=your-app-id
104-
APP_CLIENT_SECRET=your-client-secret
105-
PRIVATE_KEY_BASE64_GITHUB=your-base64-private-key
106-
GITHUB_WEBHOOK_SECRET=your-webhook-secret
107-
108-
# AI Configuration
109-
OPENAI_API_KEY=your-openai-api-key
110-
AI_MODEL=gpt-4.1-mini
111-
AI_MAX_TOKENS=4096
112-
AI_TEMPERATURE=0.1
113-
114-
# LangSmith Configuration (Optional - for debugging AI agents)
115-
LANGCHAIN_TRACING_V2=true
116-
LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
117-
LANGCHAIN_API_KEY=your-langsmith-api-key
118-
LANGCHAIN_PROJECT=watchflow-dev
119-
120-
# Development Settings
121-
DEBUG=true
122-
LOG_LEVEL=DEBUG
123-
ENVIRONMENT=development
124-
125-
# CORS Configuration
126-
CORS_HEADERS=["*"]
127-
CORS_ORIGINS='["http://localhost:3000", "http://127.0.0.1:3000"]'
128-
```
129-
130-
## Usage
77+
2. **Configure App Settings**
78+
- Select repositories to install on
79+
- Grant required permissions:
80+
- Repository permissions: Contents (Read), Pull requests (Read & write), Issues (Read & write)
81+
- Subscribe to events: Pull requests, Push, Deployment
13182
132-
### Creating Rules
83+
### Step 2: Create Rules Configuration
13384
134-
Define rules in `.watchflow/rules.yaml` in your repository:
85+
Create `.watchflow/rules.yaml` in your repository root:
13586

13687
```yaml
13788
rules:
@@ -156,56 +107,66 @@ rules:
156107
message: "Deployments are not allowed on weekends"
157108
```
158109

159-
### Acknowledging Violations
160-
161-
When rules are violated, team members can acknowledge them via PR comments:
110+
### Step 3: Test Your Setup
162111

163-
```
164-
@watchflow acknowledge: This is a hotfix for a critical production issue
165-
```
112+
1. **Create a test pull request**
113+
2. **Try acknowledgment workflow**: Comment `@watchflow acknowledge` when rules are violated
114+
3. **Verify rule enforcement**: Check that blocking rules prevent merging
166115

167-
The acknowledgment agent will evaluate the request and approve or reject based on context.
116+
## Configuration
168117

169-
## API Reference
118+
For advanced configuration options, see the [Configuration Guide](docs/getting-started/configuration.md).
170119

171-
### Webhook Endpoints
120+
## Usage
172121

173-
- `POST /webhooks/github` - GitHub webhook receiver
122+
### Comment Commands
174123

175-
### Public API
124+
Use these commands in PR comments to interact with Watchflow:
176125

177-
- `GET /` - Health check
178-
- `POST /api/v1/rules/evaluate` - Evaluate natural language rules
179-
- `GET /health/tasks` - Task queue status
180-
- `GET /health/scheduler` - Scheduler status
126+
```bash
127+
# Acknowledge a violation
128+
@watchflow acknowledge
181129
182-
## Development
130+
# Acknowledge with reasoning
131+
@watchflow acknowledge - Documentation updates only, no code changes
183132
184-
See [DEVELOPMENT.md](DEVELOPMENT.md) for detailed development setup instructions.
133+
# Request escalation
134+
@watchflow escalate - Critical security fix needed, reviewers unavailable
185135
186-
## Contributing
136+
# Check rule status
137+
@watchflow status
187138
188-
See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
139+
# Get help
140+
@watchflow help
141+
```
189142

190-
## Deployment
143+
### Example Scenarios
191144

192-
### Docker
145+
**Can Acknowledge**: When a PR lacks required approvals but it's an emergency fix, developers can acknowledge with
146+
`@watchflow acknowledge - Emergency fix, team is unavailable`.
193147

194-
```bash
195-
docker-compose up --build
196-
```
148+
**Remains Blocked**: When deploying to production without security review, the deployment stays blocked even with
149+
acknowledgment - security review is mandatory.
197150

198-
### Kubernetes
151+
**Can Acknowledge**: When weekend deployment rules are violated for a critical issue, developers can acknowledge with
152+
`@watchflow acknowledge - Critical production fix needed`.
199153

200-
Helm charts are available in the `eks_deploy/helm/` directory for Kubernetes deployment.
154+
**Remains Blocked**: When sensitive files are modified without proper review, the PR remains blocked until security team
155+
approval - no acknowledgment possible.
201156

202-
## License
157+
## Documentation
203158

204-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
159+
- [Quick Start Guide](docs/getting-started/quick-start.md) - Get up and running in 5 minutes
160+
- [Configuration Guide](docs/getting-started/configuration.md) - Advanced rule configuration
161+
- [Features](docs/features.md) - Platform capabilities and benefits
162+
- [Performance Benchmarks](docs/benchmarks.md) - Impact metrics and results
205163

206164
## Support
207165

208-
- [Documentation](https://docs.watchflow.dev)
209-
- [Issues](https://github.com/warestack/watchflow/issues)
210-
- [Discussions](https://github.com/warestack/watchflow/discussions)
211-
- [Email](mailto:team@warestack.com)
166+
- **GitHub Issues**: [Report problems](https://github.com/warestack/watchflow/issues)
167+
- **Discussions**: [Ask questions](https://github.com/warestack/watchflow/discussions)
168+
- **Documentation**: [Full documentation](docs/)
169+
170+
## License
171+
172+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

0 commit comments

Comments
 (0)