Metadata-Version: 2.4
Name: bpsai-pair
Version: 2.27.1
Summary: AI-augmented pair programming framework with 220+ CLI commands for planning, orchestration, Trello/GitHub integration, and autonomous workflows
Author-email: BPS AI Software <support@bpsaisoftware.com>
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://paircoder.ai
Project-URL: Documentation, https://paircoder.ai/#/docs
Project-URL: Repository, https://github.com/BPSAI/paircoder
Keywords: ai,pair-programming,cli,claude,gpt,codex,gemini,mcp,trello,github,autonomous,workflow,planning,tasks
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
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 :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12
Requires-Dist: rich>=13.7
Requires-Dist: pyyaml>=6.0
Requires-Dist: tiktoken>=0.5.0
Requires-Dist: pydantic>=2.0
Requires-Dist: cryptography>=41.0
Requires-Dist: fastapi>=0.109.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: uvicorn>=0.27.0
Requires-Dist: sse-starlette>=1.6.0
Requires-Dist: toggl>=0.1.0
Requires-Dist: anthropic>=0.76.0
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: pytest-cov>=4.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.21; extra == "test"
Requires-Dist: pytest-timeout>=2.3; extra == "test"
Requires-Dist: pytest-xdist>=3.5; extra == "test"
Requires-Dist: respx>=0.21; extra == "test"
Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "test"
Provides-Extra: trello
Requires-Dist: py-trello>=0.19.0; extra == "trello"
Provides-Extra: github
Requires-Dist: PyGithub>=2.1; extra == "github"
Provides-Extra: timer
Requires-Dist: toggl>=0.1.0; extra == "timer"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == "mcp"
Provides-Extra: docs
Requires-Dist: sphinx>=7.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=2.0; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
Requires-Dist: myst-parser>=2.0; extra == "docs"
Requires-Dist: sphinx-click>=5.0; extra == "docs"
Provides-Extra: sandbox
Requires-Dist: docker>=7.0.0; extra == "sandbox"
Requires-Dist: dockerpty>=0.4.1; extra == "sandbox"
Provides-Extra: wizard
Requires-Dist: anthropic>=0.76.0; extra == "wizard"
Provides-Extra: all
Requires-Dist: py-trello>=0.19.0; extra == "all"
Requires-Dist: mcp>=1.0.0; extra == "all"
Requires-Dist: docker>=7.0.0; extra == "all"
Requires-Dist: dockerpty>=0.4.1; extra == "all"
Provides-Extra: integrations
Requires-Dist: py-trello>=0.19.0; extra == "integrations"
Dynamic: license-file

# bpsai-pair

> AI-augmented pair programming framework with 220+ CLI commands

[![PyPI version](https://img.shields.io/pypi/v/bpsai-pair)](https://pypi.org/project/bpsai-pair/)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-Proprietary-red.svg)](LICENSE)

## Overview

**bpsai-pair** (PairCoder) is a comprehensive AI pair programming framework that provides structured workflows, enforcement gates, and integrations to ensure AI agents follow proper development practices.

- **Planning & Task Management** — Sprint planning, task lifecycle, Trello sync, and budget tracking
- **Skill-Based Workflows** — 9 built-in skills for TDD, code review, releases, architecture, and more
- **Integration Hub** — Trello, GitHub, MCP servers, and Toggl time tracking
- **Architecture Enforcement** — File size limits, function boundaries, import caps, and auto-split suggestions
- **Telemetry & Feedback** — Session telemetry, self-calibrating estimation, anomaly detection
- **Workspace Orchestration** — Multi-project workspaces, cross-repo contract detection, impact analysis
- **Intelligence Pipeline** — Usage snapshots, value extraction scoring, tamper detection
- **Interactive Setup Wizard** — Web-based project configuration with AI-guided setup
- **Licensing & Security** — Tiered feature gating, secret scanning, containment mode
- **Quality Control** — Browser-based QC with spec format, execution runtime, and gate enforcement
- **Containment Mode** — Tiered file access control via PreToolUse hooks
- **Autonomous Sprint Execution** — `bpsai-pair engage` runs full sprints: branch, tasks, PR, review, observations
- **Machine Interface** — `--json` envelope on all commands for programmatic consumption
- **Health Check** — `bpsai-pair doctor` validates setup with 9 checks and auto-repair
- **Slash Commands** — `/make-it-so` (intent to PR), `/draft-backlog` (engage-compatible backlogs)

## Installation

```bash
# Core installation
pip install bpsai-pair

# With integrations
pip install bpsai-pair[trello]      # Trello board sync
pip install bpsai-pair[github]      # GitHub PR management
pip install bpsai-pair[mcp]         # MCP server support
pip install bpsai-pair[all]         # All extras
```

## Quick Start

```bash
# Initialize a new project
bpsai-pair init

# Or use the interactive wizard
bpsai-pair wizard

# Check project status
bpsai-pair status

# Create a sprint plan
bpsai-pair plan new my-feature --type feature

# Start a task (with Trello sync)
bpsai-pair ttask start TRELLO-123

# Run architecture checks
bpsai-pair arch check

# Pack context for AI assistants
bpsai-pair pack
```

## Key Command Groups

| Group | Commands | Description |
|-------|----------|-------------|
| `plan` | 8 | Sprint planning, task creation, Trello sync |
| `task` | 12 | Task lifecycle, status updates, archival |
| `trello` / `ttask` | 27 | Trello board management, card workflows |
| `github` | 8 | PR creation, merge, auto-archive |
| `skill` | 8 | Workflow skills, export to Cursor/Windsurf |
| `license` | 10 | License management, feature gating |
| `telemetry` | 3 | Session telemetry, privacy config, export |
| `feedback` | 4 | Calibration, accuracy, task-type estimates |
| `workspace` | 5 | Multi-project orchestration, impact analysis |
| `arch` | 2 | Architecture enforcement, split suggestions |
| `budget` | 3 | Token budget tracking, task cost estimates |
| `security` | 4 | Secret scanning, containment mode |
| `qc` | 6 | Quality check specs, execution, reporting |
| `query` | 3 | Cross-agent state and telemetry queries |
| `engage` | 1 | Autonomous sprint execution from backlog |
| `fleet` | 1 | Workspace version compliance checking |
| `release` | 2 | Pre-release validation, version file checking |
| `containment` | 2 | File access enforcement and status |

## License Tiers

| Feature | Solo | Pro | Enterprise |
|---------|:----:|:---:|:----------:|
| Planning & tasks | Y | Y | Y |
| Skills & enforcement | Y | Y | Y |
| Setup wizard | Y | Y | Y |
| Telemetry & feedback | Y | Y | Y |
| Trello integration | | Y | Y |
| GitHub integration | | Y | Y |
| MCP servers | | Y | Y |
| Token budget & cost tracking | | Y | Y |
| Workspace orchestration | | Y | Y |
| Remote access & SSO | | | Y |

Check your license: `bpsai-pair license status`

## What's New

> Full release history and detailed notes: [paircoder.ai](https://paircoder.ai).

**v2.27.1 — Patch**

- Fixed a CLAUDE.md upgrade that could duplicate the `Slash Commands` / `CLI Reference` sections. Upgrade now keeps only your `## Project-Specific Notes` section and refreshes the rest from the canonical template.

**v2.27.0 — Multi-provider groundwork, engage hardening, new lints**

A minor release: groundwork for alternate model backends, engage-lifecycle hardening, and two author-time architecture lints.

- **engage lifecycle hardening.** A gate error printed to stdout could be misread as a transient API failure and retried with the wrong cause; the retry now reads both output channels and fails fast with the real reason. The dirty-tree gate is churn-aware (no longer trips on engage's own bookkeeping), the planning artifact is reconciled to a single id, lifecycle hooks resolve regardless of PATH, and a fast task-cycle "PR storm" is fixed.
- **`bpsai-pair arch check-encoding`** — flags text-mode file I/O missing an explicit `encoding=` (the Windows cp1252 crash class) at authorship time.
- **`bpsai-pair arch check-wiring`** — advisory lint catching code that's written and unit-tested but never wired into the live flow.
- **`upgrade` preserves your CLAUDE.md notes.** Upgrade refreshes CLAUDE.md to the canonical template while keeping your `## Project-Specific Notes` section.
- **Harness-adapter groundwork.** Experimental scaffolding (`config provider` presets for OpenRouter, Ollama, Azure, and more) toward alternate model backends; Claude Code remains the harness.

**v2.26.1 — Cross-platform & telemetry robustness (patch)**

- Fixed a Windows `UnicodeEncodeError` crash when engage diffs contained non-cp1252 characters (tempfiles now written as UTF-8).
- `telemetry aggregate` now reads the correct source instead of discarding records, and tolerates a missing telemetry file.

**v2.26.0 — Engage Workspace Pre-flight + Liveness**

- Cross-repo engage runs are gated by a pre-flight check: a covering `.paircoder-workspace.yaml` must list every target repo, or dispatch is refused with guidance.
- Long-running tasks emit a liveness heartbeat and honor a configurable per-task timeout. Adds `bpsai-pair workspace validate`.
- Review agents get an explicit turn budget (fixes empty/partial reviews) and large PR diffs are no longer truncated. Tasks can declare structured metadata (`target_repo`, `depends_on`) in a YAML block.

**v2.25.7 — Bootstrap correctness + auto-upgrade discipline**

- The remote-session bootstrap now fires only in Claude Code cloud sessions (`CLAUDE_CODE_REMOTE=true`); local and headless sessions are untouched (force with `PAIRCODER_BOOTSTRAP_FORCE=1`).
- Auto-upgrade no longer silently commits — it stages the re-templated `.paircoder/` files for review and notifies on stderr (restore the old behavior with `BPSAI_UPGRADE_COMMIT=1`).

**v2.25.6 — Hotfix: remote-session bootstrap tracks the release**

- The remote-session bootstrap pin and its dependency set are corrected so fresh remote/CI/engage sessions install the current CLI.

**v2.25.5 — Engage hardening (round 2) + spend visibility**

- Stricter backlog dependency parsing, transient-failure retries on lifecycle/planning dispatch, cross-repo dispatch via a `**Target repo:**` declaration, a `--preserve-failed-branch` recovery flag, and transactional backlog materialization.
- New `bpsai-pair budget programmatic` reports month-to-date API spend against your configured tier cap, with an optional monthly cap that can gate dispatch.

**v2.25.4 — Engage reliability + provider env-var presets**

- Documentation/content tasks are recognized as completed work; running engage against a plan file points you to `/draft-backlog`; `**Acceptance criteria:**` is accepted as a synonym for `**AC:**`.
- New `bpsai-pair config provider <name>` prints environment-variable presets for the major Anthropic-API-compatible providers (Anthropic, OpenRouter, Ollama, LM Studio, Azure), plus a providers guide.

**v2.25.3 — CLI hardening + test parallelization**

- Test suite parallelized for a ~10× speedup; license machine-binding enforced; a UTF-8-safe subprocess wrapper closes the Windows cp1252 crash class; new `bpsai-pair arch check-subprocess` lint.

**v2.25.2 — Engage stability + Windows UTF-8 fix**

- Windows engage made usable (UTF-8 sweep); quieter hook chain; workspace scope-leak fix; more precise task-file matching.

**v2.25.1 — Engage hook-failure hotfix**

- Hook failures propagate correctly instead of being swallowed; security findings are visible when engage blocks a PR.

**v2.25.0 — Engage driver intelligence + pipeline reliability**

- Skip already-completed tasks on retry; recognize driver self-commits; `bpsai-pair preflight` runs CI-matching tests before pushing.

**v2.24.0 — Sweep: diff-aware dead-code cleanup**

- `bpsai-pair sweep` finds dead imports, orphaned tests, and stale helpers after changes, with `--fix` for high-confidence removals.

**v2.23.x — Engage reliability, resume, and lifecycle hardening**

- `engage --resume` skips completed tasks on retry; human-gated tasks via `requires: human` in backlog frontmatter; branch lifecycle flags; more reliable automated task completion.

**v2.22.0 — Agent identity + Vaivora review agent**

- Named review agents (Nayru, Laverna, Bellona, Vaivora, Divona); a third review agent engages automatically for large diffs.

**v2.21.x — Review command, enforcement, and observability**

- `bpsai-pair review pr/branch/task`; targeted per-task tests; intent recognition and an approval gate for autonomous dispatch; protected-branch guard.

**v2.20.0 — Engage pipeline**

- `bpsai-pair engage` runs full sprints autonomously (branch, tasks, PR, review); `/make-it-so` (intent to shipped PR); `bpsai-pair doctor` health checks with `--fix`.

## Documentation

- [Website & Docs](https://paircoder.ai)
- [Quick Start Guide](https://paircoder.ai/docs/getting-started/)

## Requirements

- Python 3.10 or higher
- Git (for project management features)

## Support

- Email: support@bpsaisoftware.com
