Metadata-Version: 2.4
Name: governova
Version: 0.1.0
Summary: Constitutional governance for AI-assisted development — enforce engineering standards as a merge gate
Project-URL: Homepage, https://github.com/KSDRILL-SA/governova
Project-URL: Repository, https://github.com/KSDRILL-SA/governova
Project-URL: Issues, https://github.com/KSDRILL-SA/governova/issues
Author: Maluleke Kurhula Success
License: MIT
Keywords: ai,architecture,ci,code-quality,compliance,engineering-standards,governance,linting,static-analysis
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.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: markdown-it-py>=3.0
Requires-Dist: mcp<2,>=1.28.1
Requires-Dist: mdit-py-plugins>=0.4
Requires-Dist: pydantic>=2.9
Requires-Dist: rich>=13.7
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: mypy>=1.11; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# Governova Scripts

The build tooling for the constitutional database. Three executables, all installed via the uv workspace.

| Command | Module | Purpose |
|---------|--------|---------|
| `governova-compile` | `governova_compile` | Parse every markdown constitution into `compiled/constitution.json` |
| `governova-validate` | `governova_validate` | Validate the compiled index — references, anti-patterns, hierarchy, links |
| `governova-codegen` | `governova_codegen` | Emit TypeScript types and Python re-export package from the schema |

## Quick start

```bash
# Bootstrap the workspace (from repo root)
uv sync

# Compile the constitutional database
uv run governova-compile

# Validate the compiled index
uv run governova-validate

# Validate strictly (fail on any warning)
uv run governova-validate --strict

# Regenerate TypeScript + Python types
uv run governova-codegen
```

## Outputs

| Path | Description |
|------|-------------|
| `compiled/constitution.json` | The compiled index (committed) |
| `compiled/constitution.schema.json` | JSON Schema describing the index (committed) |
| `compiled/checksum.txt` | SHA-256 of the index for tamper detection (committed) |
| `platform/shared/types-ts/src/index.ts` | TypeScript type definitions (generated) |
| `platform/shared/types-py/governova_types/models.py` | Python Pydantic re-exports (generated) |

## Exit codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | Compilation error (file not found, parse failure) |
| 2 | Validation error (strict mode triggered, integrity failure) |
| 3 | Codegen error (TS compilation, schema mismatch) |

## Tests

```bash
uv run pytest scripts/tests/
```

## Development

```bash
uv run ruff format .
uv run ruff check . --fix
uv run mypy scripts/
```

---

*All scripts are Layer 1 tooling — they read constitutions, never write them.*
