Metadata-Version: 2.4
Name: devpilot-labs
Version: 0.1.6
Summary: CLI-first local AI developer environment setup assistant.
Author: Arjun A
Maintainer: Arjun A
License-Expression: MIT
Project-URL: Homepage, https://github.com/aarjjun/DevPilot-AI
Project-URL: Repository, https://github.com/aarjjun/DevPilot-AI
Project-URL: Documentation, https://github.com/aarjjun/DevPilot-AI/tree/main/docs
Project-URL: Issues, https://github.com/aarjjun/DevPilot-AI/issues
Keywords: cli,developer-tools,ai,setup,automation,dev-environment
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: System :: Installation/Setup
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic<3.0.0,>=2.11.0
Requires-Dist: pydantic-settings<3.0.0,>=2.10.0
Requires-Dist: python-dotenv<2.0.0,>=1.1.0
Requires-Dist: loguru<1.0.0,>=0.7.0
Requires-Dist: GitPython<4.0.0,>=3.1.0
Requires-Dist: SQLAlchemy<3.0.0,>=2.0.0
Requires-Dist: alembic<2.0.0,>=1.17.0
Requires-Dist: rich<15.0.0,>=13.9.0
Requires-Dist: typer<1.0.0,>=0.15.0
Requires-Dist: pyfiglet<2.0.0,>=1.0.0
Provides-Extra: dashboard
Requires-Dist: fastapi<1.0.0,>=0.116.0; extra == "dashboard"
Requires-Dist: uvicorn[standard]<1.0.0,>=0.35.0; extra == "dashboard"
Provides-Extra: gemini
Requires-Dist: pydantic-ai-slim[google]<3.0.0,>=2.0.0; extra == "gemini"
Requires-Dist: google-genai<3.0.0,>=1.16.0; extra == "gemini"
Provides-Extra: openai
Requires-Dist: pydantic-ai-slim[openai]<3.0.0,>=2.0.0; extra == "openai"
Provides-Extra: openrouter
Requires-Dist: pydantic-ai-slim[openai]<3.0.0,>=2.0.0; extra == "openrouter"
Provides-Extra: rag
Requires-Dist: chromadb<2.0.0,>=1.3.0; extra == "rag"
Requires-Dist: tree-sitter-language-pack<2.0.0,>=1.14.0; extra == "rag"
Provides-Extra: workflow
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "workflow"
Provides-Extra: postgres
Requires-Dist: psycopg[binary]<4.0.0,>=3.3.0; extra == "postgres"
Provides-Extra: all
Requires-Dist: fastapi<1.0.0,>=0.116.0; extra == "all"
Requires-Dist: uvicorn[standard]<1.0.0,>=0.35.0; extra == "all"
Requires-Dist: pydantic-ai-slim[google,openai]<3.0.0,>=2.0.0; extra == "all"
Requires-Dist: google-genai<3.0.0,>=1.16.0; extra == "all"
Requires-Dist: chromadb<2.0.0,>=1.3.0; extra == "all"
Requires-Dist: tree-sitter-language-pack<2.0.0,>=1.14.0; extra == "all"
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "all"
Requires-Dist: psycopg[binary]<4.0.0,>=3.3.0; extra == "all"
Provides-Extra: dev
Requires-Dist: fastapi<1.0.0,>=0.116.0; extra == "dev"
Requires-Dist: uvicorn[standard]<1.0.0,>=0.35.0; extra == "dev"
Requires-Dist: pydantic-ai-slim[google,openai]<3.0.0,>=2.0.0; extra == "dev"
Requires-Dist: google-genai<3.0.0,>=1.16.0; extra == "dev"
Requires-Dist: chromadb<2.0.0,>=1.3.0; extra == "dev"
Requires-Dist: tree-sitter-language-pack<2.0.0,>=1.14.0; extra == "dev"
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "dev"
Requires-Dist: psycopg[binary]<4.0.0,>=3.3.0; extra == "dev"
Requires-Dist: httpx<1.0.0,>=0.28.0; extra == "dev"
Requires-Dist: mypy<2.0.0,>=1.13.0; extra == "dev"
Requires-Dist: pip-audit<3.0.0,>=2.10.0; extra == "dev"
Requires-Dist: pytest<10.0.0,>=9.0.3; extra == "dev"
Requires-Dist: pytest-asyncio<2.0.0,>=1.1.0; extra == "dev"
Requires-Dist: pytest-cov<8.0.0,>=7.0.0; extra == "dev"
Requires-Dist: ruff<1.0.0,>=0.12.0; extra == "dev"
Requires-Dist: twine<7.0.0,>=6.2.0; extra == "dev"
Dynamic: license-file

# DevPilot AI

DevPilot AI is a CLI-first local developer environment setup assistant.

It clones unfamiliar repositories, detects the stack deterministically, installs dependencies, starts services in managed terminals, captures logs, and uses AI only for explanations, repository chat, and debugging help.

## Features

- `devpilot setup <github-url>` for end-to-end repository onboarding
- Deterministic detection for languages, frameworks, package managers, Docker, CI/CD, databases, and monorepos
- Managed service runtime for frontend, backend, database, workers, and queues
- Local-first configuration under `~/.devpilot/`
- Provider-independent AI layer with Gemini, OpenAI, and OpenRouter support
- Repository intelligence with chunking, embeddings, ChromaDB retrieval, and grounded chat
- Local security controls for command risk, workspace isolation, path protection, and audit logs

## Installation

```bash
pip install devpilot-labs
```

Recommended full install:

```bash
pip install "devpilot-labs[all]"
```

With `uv`:

```bash
uv tool install "devpilot-labs[all]"
```

For local development:

```bash
python -m pip install -e ".[dev]"
```

## Quick Start

```bash
devpilot auth login
devpilot setup https://github.com/aarjjun/LinkedInSpeak
devpilot ps
devpilot logs frontend
devpilot chat
```

## CLI Commands

| Command | Purpose |
| --- | --- |
| `devpilot` | Show the command map |
| `devpilot setup <url>` | Clone, analyze, install, start, and report |
| `devpilot run [path]` | Start services for an already setup repository |
| `devpilot analyze <path>` | Deterministically inspect a repository |
| `devpilot chat [path]` | Ask grounded repository questions |
| `devpilot explain [path]` | Explain repository architecture |
| `devpilot doctor` | Check local tools and readiness |
| `devpilot self-test` | Verify package, storage, tools, provider, and network |
| `devpilot ps` | Show managed services |
| `devpilot logs [service]` | Show setup or service logs |
| `devpilot stop [service]` | Stop managed services |
| `devpilot auth login` | Select provider and save an API key securely |
| `devpilot auth status` | Show active provider and credential status |
| `devpilot auth switch` | Switch active provider |
| `devpilot auth logout` | Remove saved credentials |
| `devpilot about` | Show project and author information |
| `devpilot version` | Print the semantic version |
| `devpilot update` | Show update instructions |

## Configuration

DevPilot stores local user data outside the installed package:

```text
~/.devpilot/
  config.json
  credentials.enc
  workspace/
  logs/
  history/
  database/
  cache/
  indexes/
```

API keys are never written into repositories.

## Supported Providers

- Gemini: `pip install "devpilot-labs[gemini]"`
- OpenAI: `pip install "devpilot-labs[openai]"`
- OpenRouter: `pip install "devpilot-labs[openrouter]"`
- Everything: `pip install "devpilot-labs[all]"`

## Supported Frameworks

DevPilot uses deterministic strategies for common Python, Node.js, Docker, and compiled-language projects, including FastAPI, Flask, Django, React, Vite, Next.js, Express, Spring Boot, Go, Rust, .NET, Docker Compose, and workspace-style monorepos.

## Architecture

```text
CLI
  -> Workflows
  -> Agents
  -> Tools
  -> Operating System
```

The CLI is the product. Any local API/dashboard code is optional visualization and must not contain setup business logic.

## Development

```bash
python -m pip install -e ".[dev]"
python -m ruff check .
python -m mypy
python -m pytest
python -m build
```

## Troubleshooting

Run:

```bash
devpilot self-test
devpilot doctor
devpilot logs
```

If AI commands fail, check:

```bash
devpilot auth status
devpilot auth switch
```

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT. See [LICENSE](LICENSE).
