fixit-ai


Namefixit-ai JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryAI-Powered API Testing Agent with Zero-Config Onboarding for OpenAPI-First Development
upload_time2025-09-10 13:49:06
maintainerNone
docs_urlNone
authorAshish Prajapati, Gauri Baheti, Khushali Dukhande, Om Mohite
requires_python>=3.11
licenseNone
keywords api testing openapi fastapi express ai llm security automation testing-framework hackathon offline local-llm chatgpt-oss
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿ”ง Fixit.AI

[![PyPI version](https://badge.fury.io/py/fixit-ai.svg)](https://badge.fury.io/py/fixit-ai)
[![Python Support](https://img.shields.io/pypi/pyversions/fixit-ai.svg)](https://pypi.org/project/fixit-ai/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub stars](https://img.shields.io/github/stars/Fixit-Local-AI-Agent/Fixit.AI.svg)](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/Fixit-Local-AI-Agent/Fixit.AI.svg)](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/issues)

> **AI-Powered API Testing Agent with Zero-Config Onboarding for OpenAPI-First Development**

**Fixit.AI** is an offline-first API testing platform that automatically generates comprehensive test suites, detects security vulnerabilities, and provides AI-powered failure analysis. Built for modern API development with native support for **FastAPI** and **Express.js**.

## ๐ŸŒŸ Key Features

- **๐Ÿš€ Zero-Config Onboarding** - Start testing in seconds with automatic spec discovery
- **๐Ÿค– AI-Powered Analysis** - Intelligent failure detection and code suggestions  
- **๐Ÿ”’ Security-First** - Built-in vulnerability scanning and OWASP compliance
- **๐Ÿ“Š Rich Reporting** - Beautiful HTML reports with detailed analytics
- **โšก Offline-First** - Works entirely on your machine with local LLMs
- **๐Ÿ› ๏ธ Smart Patching** - Automated code fixes for common API issues

## ๐ŸŽฏ Perfect For

**API Developers** โ€ข **QA Engineers** โ€ข **DevOps Teams** โ€ข **Startups**

---

## โšก Quick Start

### Installation
```bash
pip install fixit-ai

or 

# Clean installation (recommended)
pip install fixit-ai --quiet
```

### FastAPI (Zero-Config)
```bash
# Start your FastAPI app
uvicorn main:app --reload

# Test with zero configuration
fixit init --fastapi main:app --base http://localhost:8000
fixit gen && fixit test && fixit fix && fixit sec
```

### Express.js
```bash
# Start your Express.js app with OpenAPI
node app.js

# Test your Express.js API
fixit init --express . --base http://localhost:3000
fixit gen && fixit test && fixit fix && fixit sec
```

### Universal (Any OpenAPI Framework)
```bash
fixit init --spec openapi.yaml --base http://localhost:8000
fixit gen && fixit test && fixit fix && fixit sec
```

## ๐ŸŽฏ What Fixit.AI Does

| Step | Command | What Happens |
|------|---------|--------------|
| **Initialize** | `fixit init` | ๐Ÿ” Auto-extracts OpenAPI spec, creates `fixit.toml` with LLM defaults |
| **Generate** | `fixit gen` | ๐Ÿ“ Creates comprehensive test suite covering all endpoints |
| **Test** | `fixit test` | ๐Ÿงช Runs tests with real-time AI analysis of failures |
| **Fix** | `fixit fix` | ๐Ÿ› ๏ธ Shows AI-generated code patches (suggestions-only by default) |
| **Secure** | `fixit sec` | ๐Ÿ”’ Scans for OWASP API Security Top 10 vulnerabilities |

## ๐Ÿค– AI Integration

Fixit.AI works with **local LLMs** for private, offline analysis:

### Quick Setup (LM Studio)
1. **Download** [LM Studio](https://lmstudio.ai/)
2. **Install model**: `GPT-OSS 20B`
3. **Start server** on `localhost:1234`
4. **Run**: `fixit test` (auto-detects LM Studio)

### Alternative (Ollama)
```bash
# Install and setup
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull phi3:mini

# Configure (optional - auto-detected)
fixit init --llm-provider ollama --llm-model phi3:mini
```

## ๐Ÿ“‹ Framework Support

| Framework | Language | Zero-Config | Code Patches | Security Scan |
|-----------|----------|-------------|--------------|---------------|
| **FastAPI** | Python | โœ… | โœ… | โœ… |
| **Express.js** | Node.js | โœ… | โœ… | โœ… |
| **Any OpenAPI 3.0+** | Any | โœ… | โœ… | โœ… |

## โš™๏ธ Configuration

**Auto-Generated `fixit.toml`** (created on first run):
```toml
llm_active = "llm"
openapi = "openapi.yaml"

[llm]
provider = "lmstudio"
# base_url = "http://localhost:11434/v1" # Ollama
base_url = "http://localhost:1234/v1"    # LM Studio
model = "gpt-oss20B"
temperature = 0.0
max_tokens = 2048
timeout_seconds = 180
offline = true
api_key_env = "FIXIT_API_KEY"

[llm.demo]
provider = "llama.cpp-stub"

[test]
include = []
exclude = []
max_tests = 0
concurrency = 8
```

**Override during init**:
```bash
fixit init --fastapi main:app --base http://localhost:8000 \
  --llm-provider ollama --llm-model phi3:mini
```

## ๐Ÿ› ๏ธ CLI Commands

| Command | Description |
|---------|-------------|
| `fixit init --fastapi main:app` | Initialize FastAPI project (zero-config) |
| `fixit init --express .` | Initialize Express.js project |
| `fixit init --spec openapi.yaml` | Initialize with existing OpenAPI spec |
| `fixit gen` | Generate comprehensive test suite |
| `fixit test` | Run tests with AI analysis |
| `fixit fix` | Show AI code suggestions |
| `fixit sec` | Security vulnerability scan |

## ๐Ÿš€ Getting Started Checklist

- [ ] **Install**: `pip install fixit-ai`
- [ ] **Choose framework**: FastAPI (zero-config) or Express.js  
- [ ] **Initialize**: `fixit init --fastapi main:app --base http://localhost:8000`
- [ ] **Generate tests**: `fixit gen`
- [ ] **Run tests**: `fixit test`
- [ ] **Review suggestions**: `fixit fix`
- [ ] **Security scan**: `fixit sec`
- [ ] **View report**: Open `.fixit/reports/index.html`

## ๐Ÿ” Example Output

**Real-time AI Analysis:**
```bash
$ fixit test
๐Ÿงช Running 7 tests...
โŒ 3 failures detected

๐Ÿค– AI Analysis:
[1/3] Analyzing post_/users_validation_error... ๐Ÿ†• (fresh)
[2/3] Analyzing get_/users/{id}_not_found... ๐Ÿ’พ (cached)
[3/3] Analyzing post_/auth/login_unauthorized... ๐Ÿ†• (fresh)

$ fixit fix
๐Ÿ’ก 3 AI-generated suggestions:
โœจ Fix email validation in UserCreate model
โœจ Add proper 404 error handling
โœจ Implement JWT token validation
```

## ๐Ÿ”— Resources

- **๐Ÿ“š [Full Documentation](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/wiki)** - Comprehensive guides and tutorials
- **๐Ÿ› [Issues](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/issues)** - Bug reports and feature requests  
- **๐Ÿ’ฌ [Discussions](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/discussions)** - Community support and Q&A
- **โญ [GitHub](https://github.com/Fixit-Local-AI-Agent/Fixit.AI)** - Source code and examples

## ๐Ÿ“„ License

MIT License - see [LICENSE](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/blob/main/LICENSE) for details.

---

<div align="center">

**Made with โค๏ธ by the Fixit.AI team**

โญ **Star us on GitHub** โ€ข ๐Ÿ› **Report Issues** โ€ข ๐Ÿ’ฌ **Join Discussions**

[GitHub](https://github.com/Fixit-Local-AI-Agent/Fixit.AI) โ€ข [PyPI](https://pypi.org/project/fixit-ai/) โ€ข [Documentation](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/wiki)

</div>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "fixit-ai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Ashiiish-88 <prajapatiashish661@gmail.com>, ommo007 <omamohite@gmail.com>",
    "keywords": "api, testing, openapi, fastapi, express, ai, llm, security, automation, testing-framework, hackathon, offline, local-llm, chatgpt-oss",
    "author": "Ashish Prajapati, Gauri Baheti, Khushali Dukhande, Om Mohite",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/30/23/eeaa322cfc775cb03376b5f2fa1de3f6dd320ca318b63d1310cd09bf6f0c/fixit_ai-1.0.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\udd27 Fixit.AI\r\n\r\n[![PyPI version](https://badge.fury.io/py/fixit-ai.svg)](https://badge.fury.io/py/fixit-ai)\r\n[![Python Support](https://img.shields.io/pypi/pyversions/fixit-ai.svg)](https://pypi.org/project/fixit-ai/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![GitHub stars](https://img.shields.io/github/stars/Fixit-Local-AI-Agent/Fixit.AI.svg)](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/stargazers)\r\n[![GitHub issues](https://img.shields.io/github/issues/Fixit-Local-AI-Agent/Fixit.AI.svg)](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/issues)\r\n\r\n> **AI-Powered API Testing Agent with Zero-Config Onboarding for OpenAPI-First Development**\r\n\r\n**Fixit.AI** is an offline-first API testing platform that automatically generates comprehensive test suites, detects security vulnerabilities, and provides AI-powered failure analysis. Built for modern API development with native support for **FastAPI** and **Express.js**.\r\n\r\n## \ud83c\udf1f Key Features\r\n\r\n- **\ud83d\ude80 Zero-Config Onboarding** - Start testing in seconds with automatic spec discovery\r\n- **\ud83e\udd16 AI-Powered Analysis** - Intelligent failure detection and code suggestions  \r\n- **\ud83d\udd12 Security-First** - Built-in vulnerability scanning and OWASP compliance\r\n- **\ud83d\udcca Rich Reporting** - Beautiful HTML reports with detailed analytics\r\n- **\u26a1 Offline-First** - Works entirely on your machine with local LLMs\r\n- **\ud83d\udee0\ufe0f Smart Patching** - Automated code fixes for common API issues\r\n\r\n## \ud83c\udfaf Perfect For\r\n\r\n**API Developers** \u2022 **QA Engineers** \u2022 **DevOps Teams** \u2022 **Startups**\r\n\r\n---\r\n\r\n## \u26a1 Quick Start\r\n\r\n### Installation\r\n```bash\r\npip install fixit-ai\r\n\r\nor \r\n\r\n# Clean installation (recommended)\r\npip install fixit-ai --quiet\r\n```\r\n\r\n### FastAPI (Zero-Config)\r\n```bash\r\n# Start your FastAPI app\r\nuvicorn main:app --reload\r\n\r\n# Test with zero configuration\r\nfixit init --fastapi main:app --base http://localhost:8000\r\nfixit gen && fixit test && fixit fix && fixit sec\r\n```\r\n\r\n### Express.js\r\n```bash\r\n# Start your Express.js app with OpenAPI\r\nnode app.js\r\n\r\n# Test your Express.js API\r\nfixit init --express . --base http://localhost:3000\r\nfixit gen && fixit test && fixit fix && fixit sec\r\n```\r\n\r\n### Universal (Any OpenAPI Framework)\r\n```bash\r\nfixit init --spec openapi.yaml --base http://localhost:8000\r\nfixit gen && fixit test && fixit fix && fixit sec\r\n```\r\n\r\n## \ud83c\udfaf What Fixit.AI Does\r\n\r\n| Step | Command | What Happens |\r\n|------|---------|--------------|\r\n| **Initialize** | `fixit init` | \ud83d\udd0d Auto-extracts OpenAPI spec, creates `fixit.toml` with LLM defaults |\r\n| **Generate** | `fixit gen` | \ud83d\udcdd Creates comprehensive test suite covering all endpoints |\r\n| **Test** | `fixit test` | \ud83e\uddea Runs tests with real-time AI analysis of failures |\r\n| **Fix** | `fixit fix` | \ud83d\udee0\ufe0f Shows AI-generated code patches (suggestions-only by default) |\r\n| **Secure** | `fixit sec` | \ud83d\udd12 Scans for OWASP API Security Top 10 vulnerabilities |\r\n\r\n## \ud83e\udd16 AI Integration\r\n\r\nFixit.AI works with **local LLMs** for private, offline analysis:\r\n\r\n### Quick Setup (LM Studio)\r\n1. **Download** [LM Studio](https://lmstudio.ai/)\r\n2. **Install model**: `GPT-OSS 20B`\r\n3. **Start server** on `localhost:1234`\r\n4. **Run**: `fixit test` (auto-detects LM Studio)\r\n\r\n### Alternative (Ollama)\r\n```bash\r\n# Install and setup\r\ncurl -fsSL https://ollama.ai/install.sh | sh\r\nollama pull phi3:mini\r\n\r\n# Configure (optional - auto-detected)\r\nfixit init --llm-provider ollama --llm-model phi3:mini\r\n```\r\n\r\n## \ud83d\udccb Framework Support\r\n\r\n| Framework | Language | Zero-Config | Code Patches | Security Scan |\r\n|-----------|----------|-------------|--------------|---------------|\r\n| **FastAPI** | Python | \u2705 | \u2705 | \u2705 |\r\n| **Express.js** | Node.js | \u2705 | \u2705 | \u2705 |\r\n| **Any OpenAPI 3.0+** | Any | \u2705 | \u2705 | \u2705 |\r\n\r\n## \u2699\ufe0f Configuration\r\n\r\n**Auto-Generated `fixit.toml`** (created on first run):\r\n```toml\r\nllm_active = \"llm\"\r\nopenapi = \"openapi.yaml\"\r\n\r\n[llm]\r\nprovider = \"lmstudio\"\r\n# base_url = \"http://localhost:11434/v1\" # Ollama\r\nbase_url = \"http://localhost:1234/v1\"    # LM Studio\r\nmodel = \"gpt-oss20B\"\r\ntemperature = 0.0\r\nmax_tokens = 2048\r\ntimeout_seconds = 180\r\noffline = true\r\napi_key_env = \"FIXIT_API_KEY\"\r\n\r\n[llm.demo]\r\nprovider = \"llama.cpp-stub\"\r\n\r\n[test]\r\ninclude = []\r\nexclude = []\r\nmax_tests = 0\r\nconcurrency = 8\r\n```\r\n\r\n**Override during init**:\r\n```bash\r\nfixit init --fastapi main:app --base http://localhost:8000 \\\r\n  --llm-provider ollama --llm-model phi3:mini\r\n```\r\n\r\n## \ud83d\udee0\ufe0f CLI Commands\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `fixit init --fastapi main:app` | Initialize FastAPI project (zero-config) |\r\n| `fixit init --express .` | Initialize Express.js project |\r\n| `fixit init --spec openapi.yaml` | Initialize with existing OpenAPI spec |\r\n| `fixit gen` | Generate comprehensive test suite |\r\n| `fixit test` | Run tests with AI analysis |\r\n| `fixit fix` | Show AI code suggestions |\r\n| `fixit sec` | Security vulnerability scan |\r\n\r\n## \ud83d\ude80 Getting Started Checklist\r\n\r\n- [ ] **Install**: `pip install fixit-ai`\r\n- [ ] **Choose framework**: FastAPI (zero-config) or Express.js  \r\n- [ ] **Initialize**: `fixit init --fastapi main:app --base http://localhost:8000`\r\n- [ ] **Generate tests**: `fixit gen`\r\n- [ ] **Run tests**: `fixit test`\r\n- [ ] **Review suggestions**: `fixit fix`\r\n- [ ] **Security scan**: `fixit sec`\r\n- [ ] **View report**: Open `.fixit/reports/index.html`\r\n\r\n## \ud83d\udd0d Example Output\r\n\r\n**Real-time AI Analysis:**\r\n```bash\r\n$ fixit test\r\n\ud83e\uddea Running 7 tests...\r\n\u274c 3 failures detected\r\n\r\n\ud83e\udd16 AI Analysis:\r\n[1/3] Analyzing post_/users_validation_error... \ud83c\udd95 (fresh)\r\n[2/3] Analyzing get_/users/{id}_not_found... \ud83d\udcbe (cached)\r\n[3/3] Analyzing post_/auth/login_unauthorized... \ud83c\udd95 (fresh)\r\n\r\n$ fixit fix\r\n\ud83d\udca1 3 AI-generated suggestions:\r\n\u2728 Fix email validation in UserCreate model\r\n\u2728 Add proper 404 error handling\r\n\u2728 Implement JWT token validation\r\n```\r\n\r\n## \ud83d\udd17 Resources\r\n\r\n- **\ud83d\udcda [Full Documentation](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/wiki)** - Comprehensive guides and tutorials\r\n- **\ud83d\udc1b [Issues](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/issues)** - Bug reports and feature requests  \r\n- **\ud83d\udcac [Discussions](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/discussions)** - Community support and Q&A\r\n- **\u2b50 [GitHub](https://github.com/Fixit-Local-AI-Agent/Fixit.AI)** - Source code and examples\r\n\r\n## \ud83d\udcc4 License\r\n\r\nMIT License - see [LICENSE](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/blob/main/LICENSE) for details.\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n**Made with \u2764\ufe0f by the Fixit.AI team**\r\n\r\n\u2b50 **Star us on GitHub** \u2022 \ud83d\udc1b **Report Issues** \u2022 \ud83d\udcac **Join Discussions**\r\n\r\n[GitHub](https://github.com/Fixit-Local-AI-Agent/Fixit.AI) \u2022 [PyPI](https://pypi.org/project/fixit-ai/) \u2022 [Documentation](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/wiki)\r\n\r\n</div>\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "AI-Powered API Testing Agent with Zero-Config Onboarding for OpenAPI-First Development",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI/issues",
        "Changelog": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI/blob/main/CHANGELOG.md",
        "Discussions": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI/discussions",
        "Documentation": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI/wiki",
        "Homepage": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI",
        "Repository": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI",
        "Source Code": "https://github.com/Fixit-Local-AI-Agent/Fixit.AI"
    },
    "split_keywords": [
        "api",
        " testing",
        " openapi",
        " fastapi",
        " express",
        " ai",
        " llm",
        " security",
        " automation",
        " testing-framework",
        " hackathon",
        " offline",
        " local-llm",
        " chatgpt-oss"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a846622a40d4bf20d0931dc618f51e51de7e3a88759d25025187babb5e4813bb",
                "md5": "9aa6f1c37a90a3bce202fe0cf68e60db",
                "sha256": "6411d471ab4d1258eb674728fa7fd02665ff86cddb904ca6389ebb66fcaef219"
            },
            "downloads": -1,
            "filename": "fixit_ai-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9aa6f1c37a90a3bce202fe0cf68e60db",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 77294,
            "upload_time": "2025-09-10T13:49:04",
            "upload_time_iso_8601": "2025-09-10T13:49:04.023786Z",
            "url": "https://files.pythonhosted.org/packages/a8/46/622a40d4bf20d0931dc618f51e51de7e3a88759d25025187babb5e4813bb/fixit_ai-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3023eeaa322cfc775cb03376b5f2fa1de3f6dd320ca318b63d1310cd09bf6f0c",
                "md5": "5be2a1a77b26a85f41904e383b3d62c0",
                "sha256": "0d371a9fae7fce9252b3960f3945fe190e172ee58501e2d211e5c7ad275eeebf"
            },
            "downloads": -1,
            "filename": "fixit_ai-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5be2a1a77b26a85f41904e383b3d62c0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 101163,
            "upload_time": "2025-09-10T13:49:06",
            "upload_time_iso_8601": "2025-09-10T13:49:06.305506Z",
            "url": "https://files.pythonhosted.org/packages/30/23/eeaa322cfc775cb03376b5f2fa1de3f6dd320ca318b63d1310cd09bf6f0c/fixit_ai-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-10 13:49:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Fixit-Local-AI-Agent",
    "github_project": "Fixit.AI",
    "github_not_found": true,
    "lcname": "fixit-ai"
}
        
Elapsed time: 4.57902s