Metadata-Version: 2.4
Name: ai-wrg-cli
Version: 0.2.2
Summary: CLI tool for generating AI-assisted development workflows
Author: AI Workflow Team
License-Expression: MIT
License-File: LICENSE
Keywords: ai,claude,cli,codex,cursor,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.10
Requires-Dist: jinja2<4.0.0,>=3.1.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: questionary<3.0.0,>=2.0.0
Requires-Dist: rich<16.0.0,>=13.0.0
Requires-Dist: typer<1.0.0,>=0.12.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# AI Workflow Rules Generator CLI

> **Generate structured, controlled AI-assisted development workflows for your projects.**

[![CI](https://github.com/karen6630/ai-wrg-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/karen6630/ai-wrg-cli/actions/workflows/ci.yml)
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

---

## The Problem

AI coding assistants generate code fast — but without project rules they create:

- inconsistent coding styles
- duplicated implementations
- missing documentation
- unclear architectural decisions
- loss of project context between AI sessions

**This CLI solves that** by generating a controlled AI development environment tailored to your project.

---

## What It Does

Run one command in your project:

```bash
ai-wrg-cli init
```

Answer a few questions about your stack and workflow. The tool generates:

| Output | Description |
|--------|-------------|
| `.cursor/rules/` | Cursor IDE rules |
| `.claude/instructions.md` | Claude Code instructions |
| `.codex/instructions.md` | OpenAI Codex instructions |
| `.agents/rules/` | Google Antigravity / Gemini workspace rules |
| `docs/` | Documentation structure templates |
| `.ai-workflow/config.yaml` | Reproducible workflow configuration |

---

## Installation

**Requirements:** Python 3.10+

### Recommended (Global CLI tool using pipx):
```bash
pipx install ai-wrg-cli
```

### Standard pip:

On **Windows**, prefer a **virtual environment** so `ai-wrg-cli` is available without adding Python `Scripts` to PATH:

```bash
python -m venv .venv

# PowerShell
.\.venv\Scripts\Activate.ps1

# cmd
.\.venv\Scripts\activate.bat

# Git Bash
source .venv/Scripts/activate

pip install ai-wrg-cli
ai-wrg-cli --version
```

Without a venv, `pip install --user` may place the binary in `%APPDATA%\Python\Python3x\Scripts`, which often is **not** on PATH — then the command `ai-wrg-cli` will not be found until that folder is added to PATH or you use `python -m` / pipx instead.

### From source (for development):
```bash
git clone https://github.com/karen6630/ai-wrg-cli.git
cd ai-wrg-cli
pip install -e ".[dev]"
```

---

## Quick Start

```bash
# Initialize AI workflow in your project
ai-wrg-cli init

# Skip wizard and use defaults (great for CI or quick testing)
ai-wrg-cli init --non-interactive

# Generate into a specific directory
ai-wrg-cli init --output ./my-project

# List all available modules
ai-wrg-cli modules

# Check installation health
ai-wrg-cli doctor
```

---

## Available Modules

Modules are combined to create your workflow. Run `ai-wrg-cli modules` to see all:

| Category | Name | Description |
|----------|------|-------------|
| `core` | `core` | Base AI collaboration rules |
| `stack` | `python`, `php`, `node`, `django`, `fastapi`, `laravel` | Backend languages / frameworks |
| `stack` | `react`, `nextjs`, `vue` | Frontend |
| `tool` | `sql`, `postgres`, `mysql`, `mongodb` | Database |
| `tool` | `docker`, `kubernetes` | DevOps |
| `workflow` | `solo`, `team`, `ai-first` | Workflow styles |
| `quality` | `standard`, `strict` | Quality gates |

`init` asks for stack in four layers: **Backend → Frontend → Database → DevOps** (multi-select each).

---

## How It Works

```
User Input (wizard or --non-interactive)
    │
    ▼
Configuration Model  (.ai-workflow/config.yaml)
    │
    ▼
Module Resolution    (dependency + conflict checks)
    │
    ▼
Generator Pipeline   (Cursor / Claude / Codex / Docs)
    │
    ▼
Generated Project Files
```

The internal configuration is the source of truth — generated files are always reproducible.

---

## Project Structure

```
src/ai_rules/
├── cli/          # Typer commands + interactive wizard
├── core/         # Config model, generator pipeline, module resolver
├── generators/   # AI tool generators (cursor, claude, codex, docs)
├── modules/      # Module loader, registry
└── templates/    # Jinja2 templates

modules/          # Built-in modules (YAML metadata + rules.md)
├── core/
├── stacks/
│   ├── backend/    # python, php, node, django, fastapi, laravel
│   └── frontend/   # react, nextjs, vue
├── workflow/       # solo, team, ai-first
├── quality/        # standard, strict
└── tools/
    ├── database/   # sql, postgres, mysql, mongodb
    └── devops/     # docker, kubernetes
```

---

## Adding a Custom Module

Create e.g. `modules/stacks/backend/my-stack/module.yaml` **in your project root**
(or next to `--output`). The CLI loads built-in modules first, then overlays
`./modules` from the project directory so custom modules appear in
`ai-wrg-cli modules` and the `init` stack wizard.

```yaml
name: my-stack
version: "1.0"
category: stack
priority: 20
description: My custom stack rules
requires: []
conflicts: []
stack_layer: backend   # backend | frontend | database | devops
wizard_label: "My Stack"
wizard_default: false
```

Add `rules.md` with your rules, then:

```bash
ai-wrg-cli modules      # verify it appears
ai-wrg-cli init         # select it under the matching layer
```

---

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for setup, architecture overview, and contribution guidelines.

Maintainers: PyPI release — [docs/development/release-pypi.md](docs/development/release-pypi.md) (canonical; also in `AGENTS.md` and `.cursor/rules/`).

---

## License

[MIT](LICENSE)
