Metadata-Version: 2.4
Name: sdlc-agents
Version: 0.1.0
Summary: A LangGraph-based multi-agent SDLC orchestration library
Author: Prithviraj Solanke
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: langgraph
Requires-Dist: langchain
Requires-Dist: langchain-openai
Requires-Dist: python-dotenv
Requires-Dist: pydantic
Requires-Dist: typer
Requires-Dist: rich
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"


# sdlc-agents

AI-powered multi-agent CLI for code-change workflows, built with LangGraph.

## Agent Workflow

```
START → Planner → Research → Coder → Code Reviewer → Documentation → Final Report → END
```

| Agent | Role |
|-------|------|
| PlannerAgent | Gathers context and creates an execution plan |
| ResearchAgent | Produces actionable implementation tasks |
| CoderAgent | Plans safe code changes with snippets |
| CodeReviewerAgent | Reviews for correctness, security, quality |
| DocumentationAgent | Generates docs and release notes |

## Installation

```bash
pip install -e ".[dev]"
```

## CLI Usage

```bash
sdlc-agent version
sdlc-agent dry-run "Add logging to auth module"
sdlc-agent run "Add logging to auth module"
```

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| LLM_PROVIDER | openai | Provider: `mock`, `openai`, `github_models` |
| OPENAI_API_KEY | | OpenAI API key |
| MODEL_NAME | gpt-4o-mini | Model name |
| TEMPERATURE | 0.2 | LLM temperature |
| GITHUB_TOKEN | | GitHub token for GitHub Models |
| GITHUB_MODELS_BASE_URL | https://models.github.ai/inference | GitHub Models endpoint |

Copy `.env.example` to `.env` and fill in your values.

## Dry-Run Example (No LLM)

```bash
sdlc-agent dry-run "Add error handling to payment service"
```

## Real Run with GitHub Models

```powershell
$env:LLM_PROVIDER="github_models"
$env:GITHUB_TOKEN="your_token"
sdlc-agent run "Add error handling to payment service"
```

## Testing

```bash
python -m pytest tests/ -v
```
