Metadata-Version: 2.4
Name: boring-aicoding
Version: 14.0.0
Summary: Boring: An AI-powered development support tool for autonomous reasoning, planning, and verification. Optimized for uv and agentic workflows.
Author-email: Boring206 <C112156246@nkust.edu.tw>
Project-URL: Homepage, https://github.com/Boring206/boring-gemini
Project-URL: Repository, https://github.com/Boring206/boring-gemini
Project-URL: Documentation, https://github.com/Boring206/boring-gemini#readme
Project-URL: Bug Tracker, https://github.com/Boring206/boring-gemini/issues
Keywords: gemini,ai,autonomous-agent,devops
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Framework :: Pytest
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: typer[all]>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: python-dotenv
Requires-Dist: google-genai>=1.0.0
Requires-Dist: python-dateutil
Requires-Dist: gitpython
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: tenacity>=8.0.0
Requires-Dist: duckduckgo-search>=5.0.0
Requires-Dist: requests
Requires-Dist: watchdog>=3.0.0
Provides-Extra: gui
Requires-Dist: streamlit>=1.30.0; extra == "gui"
Requires-Dist: pyarrow; extra == "gui"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-mock>=3.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: types-python-dateutil; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: radon>=6.0.0; extra == "dev"
Requires-Dist: interrogate>=1.5.0; extra == "dev"
Requires-Dist: bandit>=1.7.0; extra == "dev"
Requires-Dist: pip-audit>=2.7.0; extra == "dev"
Requires-Dist: mkdocs>=1.5.0; extra == "dev"
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "dev"
Requires-Dist: psutil>=5.9.0; extra == "dev"
Requires-Dist: numpy>=1.26.0; extra == "dev"
Provides-Extra: vector
Requires-Dist: chromadb>=0.4.0; extra == "vector"
Requires-Dist: faiss-cpu>=1.7.4; extra == "vector"
Requires-Dist: sentence-transformers>=2.2.0; extra == "vector"
Requires-Dist: tree-sitter-languages==1.10.2; extra == "vector"
Requires-Dist: tree-sitter==0.25.2; extra == "vector"
Provides-Extra: mcp-lite
Requires-Dist: fastmcp>=2.0.0; extra == "mcp-lite"
Requires-Dist: mcp>=1.15.0; extra == "mcp-lite"
Requires-Dist: smithery>=0.4.2; extra == "mcp-lite"
Requires-Dist: uvicorn>=0.30.0; extra == "mcp-lite"
Requires-Dist: starlette>=0.37.0; extra == "mcp-lite"
Requires-Dist: bandit>=1.7.0; extra == "mcp-lite"
Requires-Dist: pip-audit>=2.7.0; extra == "mcp-lite"
Provides-Extra: mcp
Requires-Dist: boring-aicoding[mcp-lite]; extra == "mcp"
Requires-Dist: chromadb>=0.4.0; extra == "mcp"
Requires-Dist: faiss-cpu>=1.7.4; extra == "mcp"
Requires-Dist: sentence-transformers>=2.2.0; extra == "mcp"
Requires-Dist: win10toast>=0.9; platform_system == "Windows" and extra == "mcp"
Provides-Extra: local
Requires-Dist: llama-cpp-python>=0.2.50; extra == "local"
Requires-Dist: onnxruntime>=1.16.0; extra == "local"
Provides-Extra: all
Requires-Dist: boring-aicoding[dev,gui,local,mcp,vector]; extra == "all"
Dynamic: license-file

# Boring for Gemini

[![PyPI version](https://badge.fury.io/py/boring-aicoding.svg)](https://badge.fury.io/py/boring-aicoding)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

**Autonomous AI Agent Loop with VibeCoder Experience**

---

## ✨ The Vibe Coder Experience

**No Code Needed.** Just describe the vibe.

Boring-Gemini features a **Universal Natural Language Router**. You don't need to remember 60+ complex tools. Just say what you want:

> "Search for authentication logic"  
> "Review my code for security issues"  
> "幫我寫測試" (Help me write tests)

---

## 🚀 Quick Start (One-Click)

### 🪄 Zero-Config Wizard 
Boring features a smart setup wizard that automatically bridges your IDE (Cursor, VS Code, Claude Desktop) with the Gemini agent.

```bash
pip install "boring-aicoding[all]"
boring wizard
```

### 💎 Smithery Integration
One-click install for Cursor/Claude Desktop.

```bash
npx -y @smithery/cli@latest install boring/boring --client cursor
```

---

## 🔮 The Cognitive Revolution (V14.0.0)

V14.0.0 transitions Boring from a tool to a **Cognitive Autonomous Agent** with a 4-layer architecture:

- **🧠 Cognitive Architecture (System 2)**: Uses `sequentialthinking` to plan, reason, and revise before execution.
- **🐉 One Dragon Flow**: Autonomous traversal of the entire SDLC (Design → Build → Polish → Verify).
- **🔮 Predictive Intelligence**: `boring predict` and `boring bisect` catch errors before they happen.
- **🔌 Offline-First Mode**: 100% network-independent operation with local LLMs via `llama-cpp-python`.
- **🛡️ Sovereign Autonomy**: Managed tool governance (`boring policy`) and knowledge continuity (`boring bio`).
- **🩺 Self-Healing**: `boring doctor --fix` automatically repairs your environment.

---

## ⚡ Core Capabilities

| Feature | Description |
|---------|-------------|
| 🧠 **Autonomous Loop** | Thinking → Coding → Testing → Fixing with System 2 reasoning. |
| 🕵️ **Context Optimization** | 80% token savings via smart chunking and semantic specificity ranking. |
| 🛡️ **Shadow Mode** | Safe execution sandbox catches destructive operations before they happen. |
| 🧩 **Natural Language** | Universal Router: "幫我寫測試" or "Fix auth bugs" triggered instantly. |
| 🧪 **Vibe Score** | Gamified health check: Lint, Security, and Docs tracked over time. |

---

## 📦 Usage Modes

### As MCP Server (Recommended for IDEs)
```json
{
  "mcpServers": {
    "boring": { "command": "boring-mcp" }
  }
}
```

### Managed CLI Utilities
- `boring flow`: Start the One Dragon autonomous flow.
- `boring wizard`: Bridge Cursor, Claude, VSCode, and more in seconds.
- `boring-monitor`: Fullscreen TUI dashboard for live agent monitoring.
- `boring-dashboard`: Modern web UI for project health and history.

**About `boring-route`**: This command only **shows** which MCP tool would be selected for your query. To actually execute the tool, use it in your MCP client (Cursor/Claude Desktop).

---

## 🔧 Key Features

- **67+ MCP Tools**: RAG, Testing, Review, Security, Git, and more
- **Predictive Error Detection**: pro-active anti-pattern analysis
- **Local LLM Support**: Llama 3, Qwen 2.5, Phi-3 integration
- **Multi-Language**: Python, JavaScript, TypeScript, Go, C++ support
- **Quality Gates**: CI/CD integration with multi-tier verification
- **Memory System**: Persistent learning and pattern recognition

---

## 📚 Documentation

- [GitHub Repository](https://github.com/Boring206/boring-gemini)
- [Vibe Coder Guide](https://github.com/Boring206/boring-gemini/blob/main/docs/guides/vibe-coder.md)
- [Offline-First Guide](https://github.com/Boring206/boring-gemini/blob/main/docs/guides/offline-quickstart.md)
- [MCP Tools Reference](https://github.com/Boring206/boring-gemini/blob/main/docs/features/mcp-tools.md)

---

## 📄 License

Apache 2.0 - See [LICENSE](https://github.com/Boring206/boring-gemini/blob/main/LICENSE)
