# ๐ง Fixit.AI
[](https://badge.fury.io/py/fixit-ai)
[](https://pypi.org/project/fixit-ai/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/stargazers)
[](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[](https://badge.fury.io/py/fixit-ai)\r\n[](https://pypi.org/project/fixit-ai/)\r\n[](https://opensource.org/licenses/MIT)\r\n[](https://github.com/Fixit-Local-AI-Agent/Fixit.AI/stargazers)\r\n[](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"
}