fixr-cli 0.1.1__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.
@@ -0,0 +1 @@
1
+ 3.12.9
@@ -0,0 +1,137 @@
1
+ Metadata-Version: 2.4
2
+ Name: fixr-cli
3
+ Version: 0.1.3
4
+ Summary: AI-powered CLI that explains programming errors using a persistent cache and LLMs.
5
+ Project-URL: Homepage, https://github.com/Udhay090/fixr
6
+ Requires-Python: >=3.9
7
+ Requires-Dist: httpx>=0.27.0
8
+ Requires-Dist: litellm>=1.40.0
9
+ Requires-Dist: rich>=13.0.0
10
+ Requires-Dist: typer>=0.12.0
11
+ Description-Content-Type: text/markdown
12
+
13
+ # fixr ⚡
14
+
15
+ > AI-powered CLI that explains errors and suggests fixes — using a hashtable cache + LLM hybrid.
16
+
17
+ ```bash
18
+ pip install fixr-cli
19
+ ```
20
+
21
+ ---
22
+
23
+ ## How it works
24
+
25
+ ```
26
+ your error
27
+
28
+
29
+ SHA256 cache lookup ─> hit ─> instant fix ⚡ (no LLM call)
30
+
31
+ miss
32
+
33
+ LiteLLM → Groq / Gemini / Mistral / OpenAI / Anthropic / ...
34
+
35
+
36
+ cache result → show fix
37
+ ```
38
+
39
+ Identical errors are resolved instantly from cache. The tool gets faster the more you use it.
40
+
41
+ ---
42
+
43
+ ## Usage
44
+
45
+ ```bash
46
+ # Run any file — fxr captures the error automatically
47
+ fxr script.py
48
+ fxr main.rs
49
+ fxr app.js
50
+ fxr main.cpp
51
+ fxr Main.java
52
+ fxr main.go
53
+
54
+ # Paste an error directly
55
+ fxr "TypeError: unsupported operand type(s) for +: 'int' and 'str'"
56
+
57
+ # Pipe any command
58
+ python script.py 2>&1 | fxr
59
+ cargo build 2>&1 | fxr
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Setup
65
+
66
+ ```bash
67
+ # 1. Install
68
+ pip install fixr-cli
69
+ # or
70
+ uv add fixr-cli
71
+
72
+ # 2. Run setup wizard (select provider, model, paste API key)
73
+ fxr setup
74
+ ```
75
+
76
+ Setup takes 30 seconds. Free API keys work — no credit card needed.
77
+
78
+ ---
79
+
80
+ ## Free Tier Providers
81
+
82
+ | Provider | Free API | Speed |
83
+ |---|---|---|
84
+ | [Groq](https://console.groq.com) | ✅ | ⚡⚡ Faster (free) |
85
+ | [Cerebras](https://inference.cerebras.ai) | ✅ | ⚡ Fast (free) |
86
+ | [Gemini](https://aistudio.google.com) | ✅ | ✅ Good |
87
+ | [Mistral](https://console.mistral.ai) | ✅ | ✅ Good |
88
+ | [OpenRouter](https://openrouter.ai) | ✅ | ✅ Good |
89
+ | Ollama | ✅ Local | Depends on hardware |
90
+ | OpenAI | ❌ Paid | ⚡⚡⚡ Fastest overall |
91
+ | Anthropic | ❌ Paid | ⚡ Fast |
92
+
93
+ Default: **Groq → llama-3.3-70b-versatile**
94
+
95
+ ---
96
+
97
+ ## Commands
98
+
99
+ ```bash
100
+ fxr setup # interactive setup wizard
101
+ fxr providers # list all providers + models
102
+ fxr config --show # show current config
103
+ fxr config --provider groq --api-key # set API key
104
+ fxr add-model <provider> <model> # add custom model
105
+ fxr clear-cache # wipe local cache
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Languages Supported
111
+
112
+ Python · JavaScript · TypeScript · Rust · C · C++ · Java · Go · Ruby · PHP · Bash · Lua · Perl · R · Swift · Kotlin
113
+
114
+ ---
115
+
116
+ ## Architecture
117
+
118
+ ```
119
+ fixr/
120
+ ├── main.py # Typer CLI — commands + cli() entrypoint
121
+ ├── cache.py # SHA256 hashtable — ~/.fixr/cache.json
122
+ ├── llm.py # LiteLLM routing — 10+ providers
123
+ ├── config.py # Config store — ~/.fixr/config.json
124
+ └── auth.py # API key storage + OAuth scaffold
125
+ ```
126
+
127
+ ---
128
+
129
+ ## Stack
130
+
131
+ Python · Typer · LiteLLM · Rich · Hatchling · uv
132
+
133
+ ---
134
+
135
+ ## License
136
+
137
+ MIT
@@ -0,0 +1,125 @@
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fixr-cli"
7
- version = "0.1.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/yourusername/fixr"
32
+ Homepage = "https://github.com/Udhay090/fixr"
fixr_cli-0.1.1/PKG-INFO DELETED
@@ -1,90 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: fixr-cli
3
- Version: 0.1.1
4
- Summary: AI-powered CLI that explains programming errors using a persistent cache and LLMs.
5
- Project-URL: Homepage, https://github.com/yourusername/fixr
6
- Requires-Python: >=3.9
7
- Requires-Dist: httpx>=0.27.0
8
- Requires-Dist: litellm>=1.40.0
9
- Requires-Dist: rich>=13.0.0
10
- Requires-Dist: typer>=0.12.0
11
- Description-Content-Type: text/markdown
12
-
13
- # fixr ⚡
14
-
15
- AI-powered CLI that explains errors and suggests fixes — using a hashtable cache + LLM combo.
16
-
17
- ## Install
18
-
19
- ```bash
20
- pip install fixr
21
- # or
22
- uv add fixr
23
- ```
24
-
25
- ## Usage
26
-
27
- ```bash
28
- # Direct
29
- fixr "TypeError: unsupported operand type(s) for +: 'int' and 'str'"
30
-
31
- # Pipe any command output
32
- python script.py 2>&1 | fixr
33
- cargo build 2>&1 | fixr
34
- node app.js 2>&1 | fixr
35
- g++ main.cpp 2>&1 | fixr
36
- ```
37
-
38
- ## Setup
39
-
40
- ```bash
41
- # Set API key
42
- fixr config --provider groq --api-key gsk_...
43
-
44
- # Set default provider
45
- fixr config --provider gemini
46
-
47
- # OAuth login (Google/Gemini)
48
- fixr login google
49
-
50
- # Show current config
51
- fixr config --show
52
-
53
- # List all providers
54
- fixr providers
55
- ```
56
-
57
- ## Free tier providers (no credit card)
58
-
59
- | Provider | Models |
60
- |---|---|
61
- | groq | llama-3.3-70b-versatile |
62
- | gemini | gemini-2.0-flash |
63
- | mistral | mistral-small |
64
- | openrouter | 20+ free models |
65
- | nvidia | 100+ open models |
66
- | cerebras | llama3.3-70b |
67
-
68
- ## How it works
69
-
70
- ```
71
- error input
72
-
73
-
74
- normalize + hash (sha256[:16])
75
-
76
-
77
- cache hit? ──yes──→ instant response ⚡
78
-
79
- no
80
-
81
- LLM call (provider of choice)
82
-
83
-
84
- store in ~/.fixr/cache.json
85
-
86
-
87
- display fix
88
- ```
89
-
90
- Cache lives at `~/.fixr/cache.json`. Gets smarter over time.
fixr_cli-0.1.1/README.md DELETED
@@ -1,78 +0,0 @@
1
- # fixr ⚡
2
-
3
- AI-powered CLI that explains errors and suggests fixes — using a hashtable cache + LLM combo.
4
-
5
- ## Install
6
-
7
- ```bash
8
- pip install fixr
9
- # or
10
- uv add fixr
11
- ```
12
-
13
- ## Usage
14
-
15
- ```bash
16
- # Direct
17
- fixr "TypeError: unsupported operand type(s) for +: 'int' and 'str'"
18
-
19
- # Pipe any command output
20
- python script.py 2>&1 | fixr
21
- cargo build 2>&1 | fixr
22
- node app.js 2>&1 | fixr
23
- g++ main.cpp 2>&1 | fixr
24
- ```
25
-
26
- ## Setup
27
-
28
- ```bash
29
- # Set API key
30
- fixr config --provider groq --api-key gsk_...
31
-
32
- # Set default provider
33
- fixr config --provider gemini
34
-
35
- # OAuth login (Google/Gemini)
36
- fixr login google
37
-
38
- # Show current config
39
- fixr config --show
40
-
41
- # List all providers
42
- fixr providers
43
- ```
44
-
45
- ## Free tier providers (no credit card)
46
-
47
- | Provider | Models |
48
- |---|---|
49
- | groq | llama-3.3-70b-versatile |
50
- | gemini | gemini-2.0-flash |
51
- | mistral | mistral-small |
52
- | openrouter | 20+ free models |
53
- | nvidia | 100+ open models |
54
- | cerebras | llama3.3-70b |
55
-
56
- ## How it works
57
-
58
- ```
59
- error input
60
-
61
-
62
- normalize + hash (sha256[:16])
63
-
64
-
65
- cache hit? ──yes──→ instant response ⚡
66
-
67
- no
68
-
69
- LLM call (provider of choice)
70
-
71
-
72
- store in ~/.fixr/cache.json
73
-
74
-
75
- display fix
76
- ```
77
-
78
- Cache lives at `~/.fixr/cache.json`. Gets smarter over time.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes