PMF Agent is an enterprise-grade AI-powered framework for managing AI deployment decisions, experiments, and governance at scale. It combines multi-agent AI orchestration with human-in-the-loop approvals to ensure safe, data-driven AI deployments.
- π€ Multi-Agent AI Orchestration - Specialized agents for BA, Product, UX, SRE, Security, and Finance analysis
- π Decision Briefs - Structured AI-generated deployment recommendations with risk assessment
- β Human-in-the-Loop Governance - Risk-class-based approval workflows with SLA enforcement
- π§ͺ Safe Experimentation - A/B testing with automatic guardrails and instant rollback
- π Post-Implementation Review - Automated ROI calculation and cohort analysis
- π External Integrations - Jira, Confluence, LaunchDarkly, GitHub webhook support
- π Production Security - JWT authentication, RBAC, input validation
- π Scalability - Redis caching, async queues, horizontal scaling ready
- π Observability - Structured logging, health checks, error tracking
- π§ͺ Testing - 95%+ test coverage with E2E automation
- βοΈ Cloud-Native - Docker, Terraform, GCP deployment ready
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β GitHub Webhook βββββΆβ API Service βββββΆβ Agent Orchestratorβ
β β β (FastAPI) β β (LangGraph) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Change Events β β Decision Briefs β β Multi-Agent β
β β β β β Synthesis β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (Next.js) β
β βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ β
β β Outcome Board β Approvals β Experiments β β
β βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Service | Technology | Purpose |
|---|---|---|
| API | FastAPI + SQLAlchemy | REST API, business logic, data persistence |
| Agent | LangGraph + OpenAI | Multi-agent AI orchestration |
| Frontend | Next.js + TypeScript | Web UI for approvals and monitoring |
| Integrations | Atlassian API + LaunchDarkly | External service connections |
| Queue | Redis + Pub/Sub | Async processing and caching |
- Sense: GitHub deployment webhooks β ChangeEvent ingestion
- Decide: Multi-agent analysis β Decision Brief generation
- Approve: Risk-based routing β Human approval workflow
- Act: Action artifacts β Jira/Confluence/Feature Flags
- Learn: PIR analysis β ROI calculation and insights
- Python 3.12+
- Node.js 18+
- PostgreSQL 16+
- Redis 7+
- Docker & Docker Compose (optional)
git clone https://github.com/your-org/pmf-agent.git
cd pmf-agent# Copy environment files
cp apps/frontend/.env.example apps/frontend/.env.local
cp services/api/.env.example services/api/.env
# Edit environment variables
# Add your API keys, database URLs, etc.# Using Docker Compose (recommended)
docker-compose up -d postgres redis
# Or install locally
# PostgreSQL and Redis setup instructions...# Backend
uv sync
# Frontend
cd apps/frontend && pnpm install# Initialize database
uv run alembic upgrade head# Terminal 1: API Service
uv run uvicorn services.api.pmf_api.main:app --host 0.0.0.0 --port 8000
# Terminal 2: Agent Service
uv run uvicorn services.agent.pmf_agent_orchestrator.server:app --host 0.0.0.0 --port 8001
# Terminal 3: Frontend
cd apps/frontend && pnpm dev- Frontend: http://localhost:3000
- API Docs: http://localhost:8000/docs
- Health Check: http://localhost:8000/health
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/pmf
# Redis
REDIS_URL=redis://localhost:6379/0
# Authentication
SECRET_KEY=your-secret-key-here
# External Services
JIRA_URL=https://your-domain.atlassian.net
JIRA_USERNAME=your-email@domain.com
JIRA_API_TOKEN=your-api-token
LAUNCHDARKLY_SDK_KEY=your-sdk-keyNEXT_PUBLIC_API_URL=http://localhost:8000
NEXTAUTH_SECRET=your-nextauth-secret
NEXTAUTH_URL=http://localhost:3000GET /healthPOST /agents/analyze
Content-Type: application/json
{
"change_event_id": "deploy-123",
"include_agents": ["BA", "Product", "UX", "SRE", "Security", "Finance"]
}POST /approve/{brief_id}
Content-Type: application/json
{
"status": "approved",
"rationale": "Looks good for rollout"
}POST /experiments
Content-Type: application/json
{
"name": "Recommendation Engine Test",
"config": {
"feature_id": "rec-engine",
"variants": {"control": 50, "treatment": 50},
"cohort_size_pct": 5,
"duration_days": 14
}
}POST /webhooks/github/deploy
X-GitHub-Event: deployment
Content-Type: application/json
{
"deployment": {
"id": 123,
"sha": "abc123",
"environment": "production"
},
"repository": {
"full_name": "org/repo"
}
}# Backend tests
uv run pytest services/ -v
# Frontend tests
cd apps/frontend && pnpm test# Full integration suite
uv run pytest tests/ -v# End-to-end testing
uv run python tests/e2e_test.py# Generate coverage report
uv run pytest --cov=services --cov-report=html# Build all services
docker-compose build
# Start production stack
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d# Terraform deployment
cd infra/terraform
terraform init
terraform plan
terraform apply# Deploy to GKE
kubectl apply -f k8s/- JWT-based authentication
- Role-based access control (PM, Eng, SRE, Security, Finance, Legal)
- API key authentication for service-to-service calls
- Input validation and sanitization
- SQL injection prevention
- XSS protection
- Rate limiting and DDoS protection
- SOC 2 compliant architecture
- Audit logging for all actions
- Data encryption at rest and in transit
/health- Overall system health/health/db- Database connectivity/health/redis- Cache connectivity
- Decision brief generation time
- Approval workflow completion rate
- Experiment success metrics
- API response times and error rates
- Structured JSON logging
- Log aggregation with correlation IDs
- Error tracking and alerting
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes with tests
- Run the test suite:
uv run pytest - Commit your changes:
git commit -m "Add your feature" - Push to your branch:
git push origin feature/your-feature - Create a Pull Request
- Python: Black formatting, mypy type checking, pytest testing
- TypeScript: ESLint, Prettier, Jest testing
- Documentation: Clear docstrings and comments
- Security: Input validation, secure defaults
type(scope): description
Types: feat, fix, docs, style, refactor, test, chore
Scopes: api, agent, frontend, integrations, infra
- Multi-agent orchestration
- Decision brief generation
- Approval workflows
- Basic integrations
- Frontend UI
- Advanced analytics and cohort analysis
- Real-time experiment monitoring
- Advanced guardrails and auto-rollback
- Multi-tenant architecture
- Advanced ML model evaluation
- Predictive analytics
- Automated decision making
- Integration marketplace
- Advanced visualization
- Mobile app
This project is licensed under the MIT License - see the LICENSE file for details.
- LangChain for the LangGraph framework
- FastAPI for the web framework
- Next.js for the React framework
- OpenAI for the AI capabilities
- Atlassian for API integrations
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
Built with β€οΈ for safe, scalable AI deployment at enterprise scale.