Metadata-Version: 2.4
Name: aicippy
Version: 3.11.42
Summary: Enterprise-grade multi-agent CLI for Vibe Coding
Author-email: Aravind Jayamohan <aravind@aivibe.in>
Maintainer-email: AiVibe Software Services Pvt Ltd <support@aivibe.in>
License-Expression: LicenseRef-Proprietary
Keywords: ai,cli,bedrock,multi-agent,aws,enterprise,browser-agent,aivibe
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Shells
Classifier: Typing :: Typed
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.27.2
Requires-Dist: rich>=15.0.0
Requires-Dist: pydantic>=2.13.5
Requires-Dist: pydantic-settings>=2.15.0
Requires-Dist: boto3>=1.43.93
Requires-Dist: botocore>=1.43.93
Requires-Dist: httpx>=0.28.1
Requires-Dist: certifi>=2026.7.22
Requires-Dist: anyio>=4.15.1
Requires-Dist: keyring>=25.7.0
Requires-Dist: python-jose[cryptography]>=3.5.0
Requires-Dist: aiofiles>=25.1.0
Requires-Dist: tenacity>=9.1.4
Requires-Dist: structlog>=26.1.0
Requires-Dist: orjson>=3.12.0
Requires-Dist: prompt-toolkit>=3.0.53
Requires-Dist: feedparser>=6.0.14
Requires-Dist: beautifulsoup4>=4.15.0
Requires-Dist: lxml>=6.1.3
Requires-Dist: markdown>=3.10.3
Requires-Dist: websockets>=17.1
Requires-Dist: colorama>=0.4.6
Requires-Dist: tqdm>=4.70.1
Requires-Dist: textual>=8.2.8
Provides-Extra: dev
Requires-Dist: pytest>=9.1.1; extra == "dev"
Requires-Dist: pytest-asyncio>=1.4.0; extra == "dev"
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.15.1; extra == "dev"
Requires-Dist: ruff==0.16.7; extra == "dev"
Provides-Extra: db
Requires-Dist: asyncpg~=0.31.0; extra == "db"
Provides-Extra: cdk
Requires-Dist: aws-cdk-lib~=2.269.0; extra == "cdk"
Requires-Dist: constructs~=10.8.1; extra == "cdk"
Dynamic: license-file

# AiCippy

An autonomous development agent that runs on **GPT-6 Astra via Amazon Bedrock**.
It inspects, reasons, plans, edits, runs, debugs, manually verifies, deploys, remembers, and
reports real evidence from your development environment — from a terminal, a
TUI, or a browser side panel, all driving the same runtime.

```bash
pip install aicippy
aicippy task run "add retry handling to the payment webhook and verify it manually"
```

---

## One central runtime with explicit provider choice

Everything that reaches the model goes through a single path:

| Concern | The one place it lives |
| --- | --- |
| Model, endpoint, region, capabilities, tool contract | `aicippy.astra.runtime` |
| Provider selection | `aicippy.astra.select` (`main` or an explicitly chosen `fallback`) |
| Main inference | `aicippy.astra.provider.AstraProvider` (SigV4 → Bedrock Mantle Responses) |
| Fallback inference | `aicippy.astra.converse.ConverseProvider` (Bedrock Converse, selected manually) |
| Live events | `aicippy.astra.events.AstraEvent` |
| Task execution | `aicippy.orchestration.loop.OrchestrationLoop` |
| Tools | `aicippy.tools.registry.ToolRegistry` |
| Local task memory | `aicippy.memory.store.MemoryStore` |
| Workspace knowledge | `aicippy.memory.workspace_memory.WorkspaceMemory` (`.aicippy/knowledge.json`) |
| Cloud knowledge | AgentCore memory, searched through `KnowledgeSearch` and `/kb` |

The CLI selects a provider once per session and never switches it
silently. The WebSocket Lambda and browser extension use the main Responses
route from the deployment-generated `astra.runtime.json`.

## Documentation

| Guide | Covers |
| --- | --- |
| [Installation & configuration](docs/installation.md) | Install, AWS setup, model access, configuration reference |
| [AWS permissions](docs/aws-permissions.md) | The exact IAM policy, profiles, and inference profiles |
| [CLI usage](docs/cli-usage.md) | Every command, autonomous task modes, memory controls |
| [Browser integration](docs/browser-integration.md) | Side panel, shared tasks, browser debugging |
| [MCP integration](docs/mcp-integration.md) | Discovery, selection, and calling MCP tools |
| [Cloud deployment](docs/deployment.md) | Deploying the backend and publishing the CLI |
| [Architecture](docs/architecture.md) | How the runtime, loop, agents, memory and events fit together |
| [Troubleshooting](docs/troubleshooting.md) | Diagnostics, error categories, and what each one means |
| [Migration guide](docs/migration.md) | Moving off the NVIDIA/Nemotron and Bedrock Agent routes |

## Quick start

```bash
# 1. AWS credentials that can call bedrock-mantle:CreateInference
export AWS_PROFILE=your-profile

# 2. Check the live route end to end
aicippy doctor

# 3. Run an autonomous task
aicippy task run "repair the broken auth flow"

# 4. Or dispatch the specialist fleet for larger work
aicippy task run --multi-agent "migrate the billing service to the new API"

# 5. Resume anything that was interrupted
aicippy task resume
```

`aicippy` opens the one Textual workspace. `aicippy --pipe` uses the same
runtime through a plain-text transport for scripting.

On a normal release launch, AiCippy checks PyPI, refreshes runtime dependencies
with pip's eager strategy or `uv --upgrade`, verifies the installed release,
and re-executes a fresh process before opening the TUI. A development version
ahead of PyPI is reported without being downgraded. The fresh process then
refreshes the workspace knowledge file and its relevant name-only file map. It
excludes VCS, dependencies, caches, build output, virtual environments, IDE
state, runtime internals, and symlinks. The full map remains local; task prompts
receive a compact summary so repository context does not grow with the tree.

## Textual workspace

The default workspace is one streaming Textual application. The fixed header
shows the selected provider and session; workspace, machine, configured domain,
and deployment declarations appear only when the workspace fact source marks
them as verified or configured. The footer shows task state, session token use,
and the configured context capacity. Streamed tool output and code diffs stay in
the same conversation instead of opening a second interactive implementation.

The surface accepts both slash and backslash commands. Useful commands include:

| Command | Purpose |
| --- | --- |
| `/mode code` | Add focused implementation and manual-verification guidance to the next task. |
| `/main`, `/fallback`, `/retry` | Deliberately select the main provider, explicitly select Converse fallback, or retry the last request on main. |
| `/session release-check`, `/sessions`, `/export md` | Name the current session, inspect durable task sessions, or export the rendered conversation. |
| `/workspace`, `/memory`, `/history`, `/diff` | Inspect the workspace facts, durable memory, task history, or current diff. |
| `/shell git status` | Run an owner-entered workspace command through the shared streamed shell manager. |
| `/attach path/to/file`, `/upload`, `/screenshot`, `/analyze` | Queue real workspace files or captures for the next request. |
| `/kb status`, `/kb search <query>`, `/kb read <record-id>` | Inspect and search the separate AgentCore knowledge corpus. |
| `\subagent codex <task>` | Delegate one explicitly authorized task to the installed Codex, Claude, or Gemini subscription CLI. |

`/subagent gemini|codex|claude <task>` is accepted as well. Delegation uses only
the provider the owner named, keeps the workspace as its working directory,
streams its shell output, and still honors the configured tool approval policy.
It never silently changes to another subscription CLI.

## Prompting examples

Use concrete outcomes, constraints, and evidence you expect to see:

```text
Trace the checkout timeout to its canonical owner, make the smallest connected fix,
show the unified diff, and manually exercise the terminal flow that proves it.

Research the current AWS CLI memory-record permissions from primary AWS sources.
Do not change workspace files; cite the result and call out uncertainty.

\subagent codex inspect the migration plan, update only the affected workspace files,
and report changed paths plus manual verification evidence.
```

The design policy is to keep the main interaction obvious: controls are rounded,
their hover state uses an inverse color treatment, and the default dependency
floors follow the latest verified stable releases. Dependency resolution can
still select newer compatible transitive packages when an upstream package
constrains them.

## Durable knowledge and resource policy

Workspace facts and proven, evidence-backed task outcomes live in the single
workspace-local `.aicippy/knowledge.json` file. User-owned notes and learned
facts are preserved across refreshes; cloud knowledge remains a separate corpus.

The Skills Hub freshness writer has a bounded scope of 30 official,
version-pinned instruction-body sources. EventBridge starts the same serialized
CodeBuild refresh every day at 03:15 UTC, with a concurrency limit of one.
`/kb sync` starts a one-off refresh and `/kb status` reports its manifest and
freshness result.

The shared shell manager permits at most four live sessions. Each has an
owner-selected deadline from 1 to 900 seconds, bounded live previews, process
cleanup, and local stdout/stderr evidence logs. This limits active process and
UI memory use while preserving task evidence on disk.

## Model access and honest recovery

AiCippy does not disguise an unavailable model as a working result. A message
that GPT-6 Astra is unavailable for the AWS account is a Bedrock model-entitlement
blocker; request model access through AWS, then retry. A generic Mantle HTTP 401
can instead be a credential, signing, or IAM issue, so run `aicippy doctor` and
inspect the exact response. If you need to continue with the configured Converse
model, choose `/fallback` explicitly; return with `/main` or `/retry` after the
main route is available.

## What a task actually does

```
understand → inspect repo state → plan → select tools → execute → inspect results
     → repair failures → verify → report evidence → preserve state for resume
```

Every step emits a live event. Nothing is reported as done that was not observed:
if a test failed, you get the output; if a step was skipped, you are told.

## License

Proprietary — AiVibe Software Services Pvt Ltd. See [LICENSE](LICENSE).
