fixr-cli 0.1.2__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fixr_cli-0.1.3/.python-version +1 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/PKG-INFO +2 -2
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/pyproject.toml +12 -3
- fixr_cli-0.1.2/README .md +0 -125
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/.gitignore +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/README.md +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/__init__.py +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/auth.py +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/cache.py +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/config.py +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/llm.py +0 -0
- {fixr_cli-0.1.2 → fixr_cli-0.1.3}/fixr/main.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12.9
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fixr-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: AI-powered CLI that explains programming errors using a persistent cache and LLMs.
|
|
5
|
-
Project-URL: Homepage, https://github.com/
|
|
5
|
+
Project-URL: Homepage, https://github.com/Udhay090/fixr
|
|
6
6
|
Requires-Python: >=3.9
|
|
7
7
|
Requires-Dist: httpx>=0.27.0
|
|
8
8
|
Requires-Dist: litellm>=1.40.0
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "fixr-cli"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
description = "AI-powered CLI that explains programming errors using a persistent cache and LLMs."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -14,10 +14,19 @@ dependencies = [
|
|
|
14
14
|
"httpx>=0.27.0",
|
|
15
15
|
"rich>=13.0.0",
|
|
16
16
|
]
|
|
17
|
-
|
|
17
|
+
[tool.hatch.build.targets.wheel]
|
|
18
|
+
packages = ["fixr"]
|
|
19
|
+
[tool.hatch.build.targets.sdist]
|
|
20
|
+
exclude = [
|
|
21
|
+
"/venv",
|
|
22
|
+
"/.venv",
|
|
23
|
+
"/.git",
|
|
24
|
+
"__pycache__",
|
|
25
|
+
"*.pyc",
|
|
26
|
+
]
|
|
18
27
|
[project.scripts]
|
|
19
28
|
fxr = "fixr.main:cli"
|
|
20
29
|
fixr = "fixr.main:cli"
|
|
21
30
|
|
|
22
31
|
[project.urls]
|
|
23
|
-
Homepage = "https://github.com/
|
|
32
|
+
Homepage = "https://github.com/Udhay090/fixr"
|
fixr_cli-0.1.2/README .md
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
# fixr ⚡
|
|
2
|
-
|
|
3
|
-
> AI-powered CLI that explains errors and suggests fixes — using a hashtable cache + LLM hybrid.
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
pip install fixr-cli
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## How it works
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
your error
|
|
15
|
-
│
|
|
16
|
-
▼
|
|
17
|
-
SHA256 cache lookup ─> hit ─> instant fix ⚡ (no LLM call)
|
|
18
|
-
│
|
|
19
|
-
miss
|
|
20
|
-
▼
|
|
21
|
-
LiteLLM → Groq / Gemini / Mistral / OpenAI / Anthropic / ...
|
|
22
|
-
│
|
|
23
|
-
▼
|
|
24
|
-
cache result → show fix
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Identical errors are resolved instantly from cache. The tool gets faster the more you use it.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
# Run any file — fxr captures the error automatically
|
|
35
|
-
fxr script.py
|
|
36
|
-
fxr main.rs
|
|
37
|
-
fxr app.js
|
|
38
|
-
fxr main.cpp
|
|
39
|
-
fxr Main.java
|
|
40
|
-
fxr main.go
|
|
41
|
-
|
|
42
|
-
# Paste an error directly
|
|
43
|
-
fxr "TypeError: unsupported operand type(s) for +: 'int' and 'str'"
|
|
44
|
-
|
|
45
|
-
# Pipe any command
|
|
46
|
-
python script.py 2>&1 | fxr
|
|
47
|
-
cargo build 2>&1 | fxr
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Setup
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
# 1. Install
|
|
56
|
-
pip install fixr-cli
|
|
57
|
-
# or
|
|
58
|
-
uv add fixr-cli
|
|
59
|
-
|
|
60
|
-
# 2. Run setup wizard (select provider, model, paste API key)
|
|
61
|
-
fxr setup
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Setup takes 30 seconds. Free API keys work — no credit card needed.
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Free Tier Providers
|
|
69
|
-
|
|
70
|
-
| Provider | Free API | Speed |
|
|
71
|
-
|---|---|---|
|
|
72
|
-
| [Groq](https://console.groq.com) | ✅ | ⚡⚡ Faster (free) |
|
|
73
|
-
| [Cerebras](https://inference.cerebras.ai) | ✅ | ⚡ Fast (free) |
|
|
74
|
-
| [Gemini](https://aistudio.google.com) | ✅ | ✅ Good |
|
|
75
|
-
| [Mistral](https://console.mistral.ai) | ✅ | ✅ Good |
|
|
76
|
-
| [OpenRouter](https://openrouter.ai) | ✅ | ✅ Good |
|
|
77
|
-
| Ollama | ✅ Local | Depends on hardware |
|
|
78
|
-
| OpenAI | ❌ Paid | ⚡⚡⚡ Fastest overall |
|
|
79
|
-
| Anthropic | ❌ Paid | ⚡ Fast |
|
|
80
|
-
|
|
81
|
-
Default: **Groq → llama-3.3-70b-versatile**
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Commands
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
fxr setup # interactive setup wizard
|
|
89
|
-
fxr providers # list all providers + models
|
|
90
|
-
fxr config --show # show current config
|
|
91
|
-
fxr config --provider groq --api-key # set API key
|
|
92
|
-
fxr add-model <provider> <model> # add custom model
|
|
93
|
-
fxr clear-cache # wipe local cache
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Languages Supported
|
|
99
|
-
|
|
100
|
-
Python · JavaScript · TypeScript · Rust · C · C++ · Java · Go · Ruby · PHP · Bash · Lua · Perl · R · Swift · Kotlin
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Architecture
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
fixr/
|
|
108
|
-
├── main.py # Typer CLI — commands + cli() entrypoint
|
|
109
|
-
├── cache.py # SHA256 hashtable — ~/.fixr/cache.json
|
|
110
|
-
├── llm.py # LiteLLM routing — 10+ providers
|
|
111
|
-
├── config.py # Config store — ~/.fixr/config.json
|
|
112
|
-
└── auth.py # API key storage + OAuth scaffold
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Stack
|
|
118
|
-
|
|
119
|
-
Python · Typer · LiteLLM · Rich · Hatchling · uv
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## License
|
|
124
|
-
|
|
125
|
-
MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|