Metadata-Version: 2.3
Name: pni501
Version: 0.1.0
Summary: Project Nemesis Index (PNI) - Evaluate software development project health and generate reports.
Author: Yuichi Ito
Author-email: Yuichi Ito <yuichi@yuichi.com>
License: Apache-2.0
Requires-Dist: typer>=0.12.0
Requires-Dist: rich>=13.0.0
Requires-Python: >=3.11
Project-URL: Repository, https://github.com/yuichi110/pni501
Description-Content-Type: text/markdown

# pni501 (Project Nemesis Index)

**Project Nemesis Index (PNI)** evaluates software development project health and generates diagnostic reports to help engineering teams identify risks, maintain architectural integrity, and improve delivery velocity.

---

## Overview

Software projects naturally accumulate friction—technical debt, uneven test coverage, stagnant dependencies, architectural drift, and workflow bottlenecks. **PNI (Project Nemesis Index)** analyzes software repositories to produce quantifiable health scores and actionable reports.

- **Package Name (PyPI)**: `pni501`
- **Import Module**: `pni`
- **CLI Command**: `pni501`
- **Developer Management Tool**: `./pcli`

---

## Installation

Install via `pip`:

```bash
pip install pni501
```

Or using `uv`:

```bash
uv add pni501
```

---

## Quickstart

Verify the installation:

```bash
pni501 version
```

Display CLI options and help:

```bash
pni501 --help
```

---

## Development

This project is managed with `uv` and uses `./pcli` (`tools/pcli`) for development workflows.

### 1. Shell Setup

Run `./pcli` to inspect available toolsets or source it to enable dynamic autocompletion:

```bash
./pcli                    # Display available toolsets
source ./pcli             # Register 'pcli' shell alias & autocompletion
```

### 2. Available Toolsets

| Toolset | Command | Description |
| :--- | :--- | :--- |
| **`code-check`** | `./pcli code-check all [--fix]` | Ruff linting & formatting, Ty static type checking |
| **`test`** | `./pcli test all [--cov]` | Run pytest unit tests with coverage |
| **`pypi`** | `./pcli pypi check-version` | Verify versions, inspect dependencies & publish |

```bash
# Code Quality
./pcli code-check lint [--fix]
./pcli code-check type
./pcli code-check lines
./pcli code-check all

# Testing
./pcli test all
./pcli test pni
./pcli test pcli

# PyPI Management
./pcli pypi check-version
./pcli pypi publish --test-pypi
./pcli pypi publish
```

---

## License

This project is licensed under the Apache 2.0 License. See [LICENSE](LICENSE) for details.