Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”₯ Ignis Orchestration Core

Enhanced Multi-Agent AI System for Smarter Requirement Gathering

Turn one human sentence into a complete, validated Product Requirements Document using CrewAI + Google ADK + Langgraph + pyautogen.

Ignis Logo Python CrewAI Google ADK Langgraph pyautogen License

🌟 What is Ignis?

Problem Statement: Multi-Agent AI for Smarter Requirement Gathering

Requirement gathering is often time-consuming, error-prone, and heavily dependent on manual discussions between stakeholders, analysts, and developers. Misinterpretations or missed details during this phase can lead to costly rework and unclear product goals.

With the rise of multi-agent AI systems, different specialized agents can collaborate to capture user needs, analyze ambiguities, suggest refinements, and even validate requirements against business objectives. This opens the door to faster, clearer, and more adaptive requirement engineering processes that reduce human bias and improve overall project success.

πŸ€– How It Works

  1. You say one thing β€” a sentence, a thought, a worry
  2. Multiple AI Frameworks Collaborate:
    • 🎭 CrewAI orchestrates specialized agents
    • πŸ”„ Langgraph manages complex workflows
    • πŸ€– pyautogen enables agent collaboration
    • 🧠 Google ADK provides advanced AI capabilities
  3. Smart Analysis Pipeline:
    • Detects and resolves ambiguities automatically
    • Validates against business and technical criteria
    • Generates specific, measurable requirement refinements
    • Provides quality scores and improvement suggestions

πŸš€ Quick Start

1. Installation

# Clone the repository
git clone <repository-url>
cd Ignis

# Create virtual environment
python -m venv .venv

# Activate environment (Windows PowerShell)
.\.venv\Scripts\Activate.ps1

# Install dependencies
pip install -r requirements.txt

2. Setup API Keys

Configure credentials as described in the "Environment Variables" section below.

3. Test Installation

# Run the new enhanced test
python test_new_system.py

# Run basic connection test
python test_connection.py

4. Start Web Interface

# Run the Flask app
python web_app.py

Visit: http://localhost:5000

πŸ“ Project Structure

Ignis/
β”œβ”€β”€ multi_tool_agent/              # Multi-framework logic
β”œβ”€β”€ templates/
β”‚   └── index.html                 # Minimalist web UI (Ignis palette)
β”œβ”€β”€ web_app.py                     # Flask server (UI + endpoints)
β”œβ”€β”€ gemini_orchestrator.py         # Requirement processing
β”œβ”€β”€ pdf_generator.py               # PRD (PDF) generation
β”œβ”€β”€ requirements.txt               # Python dependencies
└── README.md                      # This file

πŸ§ͺ Testing

Enhanced System Test

python test_new_system.py

This tests the complete multi-agent system:

  • βœ… CrewAI agent orchestration
  • βœ… Langgraph workflow management
  • βœ… pyautogen collaborative processing
  • βœ… Google ADK integration
  • βœ… Ambiguity detection and resolution
  • βœ… Requirement validation
  • βœ… Multi-agent collaboration

Basic Connection Test

python test_connection.py

This tests:

  • βœ… Framework installations
  • βœ… API key configuration
  • βœ… Basic orchestration
  • βœ… Error handling

🎯 Usage

Describe your requirement in the input field on the home page and choose PDF or Markdown to generate a PRD.

πŸ—οΈ Architecture

Multi-Framework Integration

Ignis uses a multi-framework orchestration approach:

  1. CrewAI Agents:

    • Business Analyst
    • Technical Analyst
    • Quality Assurance Analyst
    • Security Analyst
  2. Langgraph Workflows:

    • Ambiguity analysis pipeline
    • Multi-agent processing flow
    • Validation and refinement steps
  3. pyautogen Collaboration:

    • Agent-to-agent communication
    • Collaborative problem solving
    • Consensus building
  4. Google ADK Integration:

    • Advanced AI capabilities
    • Function tool integration
    • Enhanced analysis features

Technology Stack

  • CrewAI - Multi-agent orchestration
  • Langgraph - Workflow management
  • pyautogen - Agent collaboration
  • Google ADK Python - Advanced AI framework
  • LangChain - LLM integration
  • Python 3.8+ - Runtime environment

πŸ”§ Configuration

Environment Variables

Set the following environment variables before running the app (PowerShell example):

$env:GOOGLE_API_KEY="<your_google_api_key>"
# Optional (if using additional frameworks)
$env:OPENAI_API_KEY="<your_openai_api_key>"

Alternatively, if your workflow uses a .env, ensure your orchestrator loads it and include:

GOOGLE_API_KEY=<your_google_api_key>
OPENAI_API_KEY=<your_openai_api_key>

Supabase Backend (Optional but recommended)

Ignis can persist each requirement and the generated PRD to Supabase. The Flask server writes using the Service Role key (server-side only). Do not expose the Service Role key in any client/browser code.

Set the following environment variables (PowerShell example):

$env:SUPABASE_URL="https://<your-project-ref>.supabase.co"
$env:SUPABASE_SERVICE_ROLE="<your_service_role_jwt>"   # keep server-side only
# Optional (not used by Flask directly, useful for other tools)
$env:SUPABASE_ANON_KEY="<your_anon_jwt>"

Schema created by migrations:

  • ignis.requirements(id uuid pk, input_text text, status text, created_at timestamptz)
  • ignis.prds(id uuid pk, requirement_id uuid fk -> ignis.requirements, content_md text, created_at timestamptz)

RLS is enabled on both tables. The server uses the Service Role (which bypasses RLS) to insert records safely.

Framework Integration

The system automatically detects and uses available frameworks:

  • CrewAI: Always available for agent orchestration
  • Langgraph: Always available for workflow management
  • pyautogen: Available when OpenAI API key is configured
  • Google ADK: Available when Google API key is configured

🌐 Web Interface

The web UI is designed to be minimalist and distraction‑free, following the Ignis brand palette.

  • Minimal Input – Single textarea to describe your requirement.
  • One‑click Output – Generate PRD as PDF or Markdown.
  • Subtle Feedback – Lightweight progress indicator; no sample/dummy data shown.
  • Accessible Styling – High‑contrast buttons and focus states.

Ignis Color Palette

  • Primary: #FF6B36
  • Primary (hover): #E85E2F
  • Primary (tint): #FFE6DB
  • Text (dark): #1F1F1F
  • Muted: #6B7280
  • Background: #FAFAFA

πŸ“Š Performance

Performance depends on your API/model tier and network conditions. The UI avoids heavy client rendering to keep things fast and simple.

🀝 Contributing

We welcome contributions! The multi-framework architecture makes it easy to:

  • Add new CrewAI agents
  • Extend Langgraph workflows
  • Enhance pyautogen interactions
  • Integrate additional ADK features

Development Setup

# Fork and clone
git clone <your-fork>
cd ignis-orchestration-core

# Install all frameworks
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black .
flake8 .

πŸ“„ License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

⚠️ Disclaimers

  • This is not an officially supported Google product
  • For demonstration purposes only
  • Not intended for production use without proper validation
  • No user data is stored or transmitted
  • Multiple API keys recommended for optimal performance

πŸ™ Acknowledgments

  • CrewAI team for the amazing multi-agent framework
  • Langgraph team for workflow orchestration
  • pyautogen team for agent collaboration
  • Google ADK team for the advanced AI framework
  • Open source community for inspiration

πŸ“ž Support


Built with ❀️ for clarity, trust, and human-centered product development.

Enhanced with CrewAI + Google ADK + Langgraph + pyautogen for the future of requirement gathering.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages