AI-powered automated Software Requirements Specification (SRS) document generator with architecture diagrams
An intelligent multi-agent system that automates SRS creation using Groq's free API. Built with FastAPI, it generates professional IEEE 830-1998 compliant documents complete with Mermaid diagrams - all in minutes!
Key Features:
- 🤖 7 Specialized AI agents for different SRS sections
- ⚡ Powered by Groq's lightning-fast LLM inference
- 📄 Professional
.docxoutput with architecture diagrams - 🆓 100% Free - No billing required
- 🔒 Runs locally - Your data stays private
| Requirement | Version | Download |
|---|---|---|
| Python | 3.10+ | Download |
| Node.js | Latest LTS | Download |
| Git | Latest | Download |
| Groq API Key | Free | Get Key |
git clone https://github.com/smitngandhi/SRS_Generation.git
cd SRS_GenerationWindows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activate💡 You'll see
(venv)in your terminal when activated
pip install --upgrade pip
pip install -r requirements.txtnpm install -g @mermaid-js/mermaid-cli
mmdc --version # Verify installation
⚠️ CRITICAL for Windows Users: After installation, you MUST configure the Mermaid CLI path in the code.
Windows Configuration:
-
Locate your Mermaid CLI installation path (typically):
C:\Users\<Your Username>\AppData\Roaming\npm\mmdc.cmd -
Open
srs_engine/utils/globals.pyand update therender_mermaid_pngfunction:# Find the subprocess.run line and update it to: subprocess.run([ "C:\\Users\\<Your Username>\\AppData\\Roaming\\npm\\mmdc.cmd", "-i", str(mmd_path), "-o", str(output_path) ], check=True)
-
Replace
<Your Username>with your actual Windows username
Without this configuration, diagram generation will fail on Windows!
- Visit console.groq.com/keys
- Sign up (no billing required!)
- Create API Key
- Copy your key
Windows:
type nul > .envmacOS/Linux:
touch .envOpen .env and add:
# Groq API Key (Required)
GROQ_API_KEY=your_actual_api_key_here
# Model Selection (Required)
GROQ_MODEL=groq/meta-llama/llama-4-scout-17b-16e-instructAvailable Models: Groq Models Docs
| Model | Format | Best For |
|---|---|---|
| Llama 4 Scout 17B | groq/meta-llama/llama-4-scout-17b-16e-instruct |
⭐ Recommended |
| Llama 3.3 70B | groq/meta-llama/llama-3.3-70b-versatile |
High Quality |
| Llama 3.1 8B | groq/meta-llama/llama-3.1-8b-instant |
Fast Speed |
uvicorn srs_engine.main:app --reloadNavigate to: http://127.0.0.1:8000
Fill in the form:
- Project Name
- Project Description
- Key Features
- Target Users
- Technology Stack (optional)
Click "Generate SRS" and wait 2-5 minutes
SRS Document:
srs_engine/generated_srs/{project_name}_SRS.docx
Architecture Diagrams:
srs_engine/static/{project_name}_user_interfaces_diagram.png
srs_engine/static/{project_name}_hardware_interfaces_diagram.png
srs_engine/static/{project_name}_software_interfaces_diagram.png
srs_engine/static/{project_name}_communication_interfaces_diagram.png
mmdc: command not found
npm install -g @mermaid-js/mermaid-cli
# Add Node.js to PATH if neededModuleNotFoundError
# Activate venv first!
pip install -r requirements.txtAPI Key Error (401)
- Verify key at console.groq.com/keys
- Check
.envis in root directory - No spaces/quotes around the key
Port 8000 in use
uvicorn srs_engine.main:app --reload --port 8001Diagrams not generating (Windows)
# ⚠️ CRITICAL: Windows users must configure mmdc path
# Open srs_engine/utils/globals.py
# Find render_mermaid_png function and update subprocess.run to:
subprocess.run([
"C:\\Users\\<Your Username>\\AppData\\Roaming\\npm\\mmdc.cmd",
"-i", str(mmd_path),
"-o", str(output_path)
], check=True)
# Replace <Your Username> with your actual Windows username
# Without this, mmdc won't be found even if installed correctlySRS_Generation/
├── srs_engine/
│ ├── agents/ # 7 specialized AI agents
│ ├── schemas/ # Pydantic models
│ ├── utils/ # Document generator
│ ├── templates/ # Web interface
│ ├── static/ # Generated diagrams
│ ├── generated_srs/ # Output documents
│ └── main.py # FastAPI app
├── .env # Your configuration
├── requirements.txt # Dependencies
└── README.md
Contributions welcome! Please:
- Fork the repository
- Create feature branch (
git checkout -b feature/name) - Commit changes (
git commit -m 'Add feature') - Push to branch (
git push origin feature/name) - Open Pull Request
MIT License - see LICENSE file
Built with: FastAPI • Groq • Mermaid • python-docx


