Metadata-Version: 2.4
Name: aiui
Version: 0.2.3
Summary: YAML-driven website generator - CLI and compiler
Project-URL: Homepage, https://github.com/MervinPraison/PraisonAIUI
Project-URL: Documentation, https://praisonai.com/docs/aiui
Project-URL: Repository, https://github.com/MervinPraison/PraisonAIUI
Author-email: Mervin Praison <mervin@praison.ai>
License: MIT
Keywords: aiui,cli,docs,generator,website,yaml
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.9
Requires-Dist: watchfiles>=0.21
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Description-Content-Type: text/markdown

# PraisonAIUI Monorepo

[![Python Tests](https://github.com/MervinPraison/PraisonAIUI/actions/workflows/ci.yml/badge.svg)](https://github.com/MervinPraison/PraisonAIUI/actions)
[![npm version](https://badge.fury.io/js/praisonaiui.svg)](https://badge.fury.io/js/praisonaiui)
[![PyPI version](https://badge.fury.io/py/praisonaiui.svg)](https://badge.fury.io/py/praisonaiui)

> **One YAML file, one docs folder, one command — ship a beautiful documentation site.**

PraisonAIUI is a YAML-driven website generator that transforms a single configuration file and a docs folder into a modern, production-ready website.

## Quick Start

### Installation

```bash
# Python CLI (compiler)
pip install praisonaiui

# TypeScript runtime (React/Next.js)
npm install praisonaiui
```

### Usage

1. Create your config file:

```yaml
# aiui.template.yaml
site:
  title: "My Docs"

content:
  docs:
    dir: "./docs"

templates:
  docs:
    layout: "ThreeColumnLayout"
    slots:
      main: { type: "DocContent" }

routes:
  - match: "/docs/**"
    template: "docs"
```

2. Run the CLI:

```bash
aiui build
```

3. Start your Next.js dev server:

```bash
npm run dev
```

## Packages

| Package | Description | Install |
|---------|-------------|---------|
| [`src/praisonaiui`](./src/praisonaiui) | CLI + compiler | `pip install aiui` |
| [`src/praisonaiui-ts`](./src/praisonaiui-ts) | React runtime + Next.js adapter | `npm install praisonaiui` |

## Documentation

- [Getting Started](./docs/getting-started/index.md)
- [Configuration Guide](./docs/guides/configuration.md)
- [API Reference](./docs/api/cli.md)

## Development

```bash
# Clone the repo
git clone https://github.com/MervinPraison/PraisonAIUI.git
cd PraisonAIUI

# Install Python package in dev mode
pip install -e .[dev]

# Install TypeScript package
cd src/praisonaiui-ts
pnpm install
```

### Running Tests

```bash
# Python tests (from repo root)
pytest tests -v

# TypeScript tests
cd src/praisonaiui-ts && pnpm test
```

## Engineering Principles

- **DRY**: Schema defined once, shared across packages
- **TDD**: Tests first, implementation second
- **Minimal Impact**: Smallest change that solves the problem

## License

MIT © [Praison Limited](https://praison.ai)
