Metadata-Version: 2.4
Name: goga
Version: 1.0.0
Summary: A tool for working with the codemanifest specification — assembly, extension, and plan-building workflow
License: BSD-3-Clause
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
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: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: tree-sitter>=0.25.2
Requires-Dist: tree-sitter-go>=0.25.0
Requires-Dist: tree-sitter-javascript>=0.25.0
Requires-Dist: tree-sitter-swift>=0.7.2
Requires-Dist: tree-sitter-kotlin>=1.1.0
Requires-Dist: tree-sitter-python>=0.25.0
Requires-Dist: goga-tool-viewer<1.1.0,>=1.0.0
Requires-Dist: goga-tool-mkdocs<1.1.0,>=1.0.0
Requires-Dist: goga-tool-scriba<1.1.0,>=1.0.0
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: pytest-cov>=5.0; extra == "test"
Requires-Dist: ruff>=0.15.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
Dynamic: license-file

<div align="center">

# goga

A CLI and Agent tools for working with the **CODEMANIFEST** specification.

Describe cell contracts with a structured YAML DSL, validate them, extract contracts from source code, and integrate with AI agents for automated development.

[Documentation](https://qarium.github.io/goga/) · [Getting Started](https://qarium.github.io/goga/getting-started/) · [CLI Reference](https://qarium.github.io/goga/cli/)

</div>

---

## Install

```bash
pip install goga
```

## Quick start

```bash
goga init          # Initialize a project
goga lint .        # Validate CODEMANIFEST files
goga connect <agent>  # Install skills into an AI agent
```

## What is CODEMANIFEST?

CODEMANIFEST is a YAML DSL that defines **cell contracts** — language-agnostic API specifications with types, routines, imports, usages, and annotations.

```yaml
"calculate_total(a: int, b: int) -> total:int":
  location: calculator.py
  annotations: |
    Calculates the sum of two operands.
    `a`: first operand
    `b`: second operand
```

## Features

- **CODEMANIFEST DSL** — Describe cell contracts with types, routines, imports, usages, and annotations
- **Validation** — AST-based linter with 21 document-level and 3 tree-level rules
- **Language parsers** — Extract contracts from Python, Go, Kotlin, Swift, and JavaScript via tree-sitter
- **CLI toolkit** — init, lint, build, schema, connect, and contract extraction commands
- **AI agent skills** — Architecture, design, planning, review, acceptance, and change management workflows
- **Docker builds** — Execute build plans via ralphex in isolated containers

## Documentation

Full documentation is available at [qarium.github.io/goga](https://qarium.github.io/goga/).
