Metadata-Version: 2.4
Name: induscode
Version: 0.1.0
Summary: Indusagi coding agent — terminal-first AI coding agent on the indusagi framework (Python rebuild)
Project-URL: Homepage, https://github.com/varunisrani/indusagi-ts
Project-URL: Repository, https://github.com/varunisrani/indusagi-ts
Project-URL: Issues, https://github.com/varunisrani/indusagi-ts/issues
Author: Varun Israni
Author-email: IndusAGI Team <team@indusagi.ai>
License-Expression: MIT
License-File: CREDITS.md
License-File: NOTICE
Keywords: agent,ai,cli,coding-agent,llm,mcp,tui
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Code Generators
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: indusagi[mcp,tui]>=0.1.0
Requires-Dist: markdown-it-py>=3.0
Requires-Dist: pygments>=2.18
Requires-Dist: python-ulid>=2.7
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Description-Content-Type: text/markdown

# induscode (Python rebuild)

Terminal-first AI coding agent on the [indusagi framework](../indusagi-python-rebuild)
— the Python port of the TypeScript `indusagi-coding-agent` (lineage v0.1.62).
Console scripts: **`pindus`** (primary) and **`induscode`** (alias).

Port plan: `../indus-code-rebuild/PYTHON_PORT_PLAN/PLAN.md` (milestones M0–M6).
Current status: **all milestones built** — conductor turn loop, runtime bridge,
capability deck, addons, headless CLI (launch/boot/channels/sessions), Textual
console with 26 slash commands, transcript export, and packaging. **649 tests
green**; lineage scan clean; wheel verified in a fresh venv.

## Install (from wheels)

The `indusagi` framework is a local dependency (not on PyPI), so install its
wheel first — with the `[mcp,tui]` extras, which the agent requires — then the
`induscode` wheel:

```bash
python3.13 -m venv agent-venv
agent-venv/bin/pip install '../indusagi-python-rebuild/dist/indusagi-0.1.0-py3-none-any.whl[mcp,tui]'
agent-venv/bin/pip install dist/induscode-0.1.0-py3-none-any.whl
```

Build the wheels with `python -m build` in each project if `dist/` is missing
or stale.

## Run

```bash
pindus                                  # interactive Textual console
pindus -p "explain this repo"           # one-shot: print the result and exit
pindus -p --json "explain this repo"    # headless NDJSON line protocol
pindus --list-models                    # provider/model catalog
pindus signin                           # store credentials (OAuth or API key)
pindus signin --list                    # show stored accounts
pindus --help                           # full flag table (@file attachments, --, etc.)
```

State lives in **`~/.pindusagi`** (shared with the framework; the
`INDUSAGI_CODING_AGENT_DIR` then `INDUSAGI_HOME` environment variables
override). Credentials are stored in the agent's multi-account vault
(`auth.json`, mode 0600).

## Dev setup

```bash
python3.13 -m venv .venv
.venv/bin/pip install -e ../indusagi-python-rebuild -e ".[dev]"
```

## Gates

```bash
.venv/bin/pytest -q                            # test suite — 649 tests, never weakened
.venv/bin/python scripts/lineage_scan.py       # clean-room lineage guard
.venv/bin/pindus --version                     # smoke: prints "induscode 0.1.0"
.venv/bin/python -m build                      # sdist + wheel into dist/
```

The packaging gate additionally installs both wheels into a throwaway venv and
runs `--version`, `--help`, `--list-models`, and the subsystem imports.

MIT © Varun Israni — see `NOTICE` and `CREDITS.md`.
