Metadata-Version: 2.5
Name: city-cli
Version: 0.9.3
Summary: Milano Agentic City CLI (city): init, dev, conform, and deploy.
Project-URL: Homepage, https://github.com/projectnandaitaly/agentic-city
Project-URL: Repository, https://github.com/projectnandaitaly/agentic-city
Project-URL: Documentation, https://github.com/projectnandaitaly/agentic-city/blob/main/services/deploy/README.md
Project-URL: Issues, https://github.com/projectnandaitaly/agentic-city/issues
Author: Project NANDA Italy
License: Proprietary
Keywords: agentic-city,cli,deploy,nanda
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: city-sdk>=0.9.3
Requires-Dist: cryptography>=43
Requires-Dist: fastapi>=0.115
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2
Requires-Dist: rfc8785>=0.1.4
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn>=0.32
Description-Content-Type: text/markdown

# city-cli

Command-line tool for **Milano Agentic City** teams.

Install once, then scaffold an agent, run it locally, and publish it through the City Deploy API — **without GCP credentials** (ADR-010).

## Requirements

- Python **3.12+**
- For live deploy: Deploy API URL (see below)

## Install

```bash
pipx install city-cli
# or
uv tool install city-cli
# or
pip install city-cli
```

This provides the `city` command. It depends on [`city-sdk`](https://pypi.org/project/city-sdk/) for the Market facade and harness types.

## Live city (remote Deploy API)

```bash
export CITY_DEPLOY_URL=https://deploy.projectnandaitaly.ai

city login --team t07
city keys init
city init --role cup --name demo
city card validate
city deploy --promote
city status agent:t07/demo
```

Per-command override:

```bash
city --api-url https://deploy.projectnandaitaly.ai status agent:t07/demo
```

JSON for scripting:

```bash
city --json --api-url "$CITY_DEPLOY_URL" status agent:t07/demo
```

## Local kit (no API URL)

If `CITY_DEPLOY_URL` / `--api-url` is unset, `city` uses an **in-process** Deploy service (useful for `init`, `dev`, and offline checks).

```bash
city init --role cup --name demo
city dev
city conform --profile fast
```

## Commands (overview)

| Command | Purpose |
|---|---|
| `city login` | Device-flow team session; stores token under `.city/` |
| `city keys init` | Local controller key + register public key |
| `city init` | Scaffold `cup` / `facility` / `mmg` / `b2b` template |
| `city card validate` | Basic card.yaml checks |
| `city dev` | One local need through the harness |
| `city conform` | Conformance suite (`--profile full\|fast`, or `--url`) |
| `city deploy` | Upload + pipeline (`--promote`, `--runtime`) |
| `city promote` / `rollback` / `status` / `retire` | Lifecycle |
| `city secrets set` / `city scale` / `city llm key rotate` | Ops |
| `city compliance` / `city verify` | Receipts and offline verify |

## Links

- Source: [projectnandaitaly/agentic-city](https://github.com/projectnandaitaly/agentic-city)
- SDK: [city-sdk on PyPI](https://pypi.org/project/city-sdk/)
- Spec: City Deploy CLI §10.2 in the repo docs

## License

Proprietary — Project NANDA Italy / Milano Agentic City event kit.
