termicode-ai 0.1.0__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.
- termicode_ai-0.1.0/PKG-INFO +126 -0
- termicode_ai-0.1.0/README.md +95 -0
- termicode_ai-0.1.0/pyproject.toml +56 -0
- termicode_ai-0.1.0/setup.cfg +4 -0
- termicode_ai-0.1.0/termicode/__init__.py +0 -0
- termicode_ai-0.1.0/termicode/cli.py +913 -0
- termicode_ai-0.1.0/termicode/tools.py +485 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/PKG-INFO +126 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/SOURCES.txt +11 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/dependency_links.txt +1 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/entry_points.txt +2 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/requires.txt +9 -0
- termicode_ai-0.1.0/termicode_ai.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: termicode-ai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Groq-powered AI coding assistant with streaming responses, cost tracking, and zero-configuration setup
|
|
5
|
+
Author: Parth Pathak
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/yourusername/termicode
|
|
8
|
+
Project-URL: Repository, https://github.com/yourusername/termicode
|
|
9
|
+
Project-URL: Issues, https://github.com/yourusername/termicode/issues
|
|
10
|
+
Keywords: ai,coding-assistant,groq,llama,cli
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
Requires-Dist: groq>=0.5.0
|
|
24
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
25
|
+
Requires-Dist: rich>=13.0.0
|
|
26
|
+
Requires-Dist: ddgs>=4.0.0
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
30
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
31
|
+
|
|
32
|
+
<div align="center">
|
|
33
|
+
<img src="https://via.placeholder.com/150x150/09090b/22d3ee?text=TERMICODE" alt="TermiCode Logo">
|
|
34
|
+
|
|
35
|
+
<h1>TermiCode AI Coding Assistant</h1>
|
|
36
|
+
<p>A blazing fast, private, local AI coding assistant running directly in your terminal, powered by Groq and Llama 3.3.</p>
|
|
37
|
+
|
|
38
|
+
[](https://opensource.org/licenses/MIT)
|
|
39
|
+
[](https://www.python.org/downloads/)
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
TermiCode is a terminal-based Micro-SaaS AI coding assistant built for speed and security. It reads your codebase, modifies files securely via surgical edits, and can even run terminal commands (with your permission). Because it leverages Groq's lightning-fast inference API, TermiCode feels instant.
|
|
45
|
+
|
|
46
|
+
**Bring Your Own Key (BYOK)**: No monthly subscriptions. No bloated Electron apps.
|
|
47
|
+
|
|
48
|
+
## ✨ Features
|
|
49
|
+
- **⚡ Blazing Fast**: Powered by Groq's LPU technology and Meta's Llama models.
|
|
50
|
+
- **🛡️ Secure File Operations**: Built-in path traversal protection and a blocklist for sensitive files (like `.env`).
|
|
51
|
+
- **👀 Surgical Edits**: Modifies existing files precisely without rewriting the whole document, saving tokens and preventing hallucinations.
|
|
52
|
+
- **🖥️ Beautiful Terminal UI**: Powered by `rich` for elegant panels, Markdown rendering, and live spinners.
|
|
53
|
+
- **🧠 Long-Term Memory**: Automatically summarizes past context to preserve memory without exceeding token limits.
|
|
54
|
+
- **🚦 Command Execution**: Can run test suites, git commands, and shell scripts on your behalf (always asks for permission first).
|
|
55
|
+
|
|
56
|
+
## 🚀 Installation
|
|
57
|
+
|
|
58
|
+
### Option 1: Install globally via pipx (Recommended)
|
|
59
|
+
`pipx` installs Python CLI applications into isolated environments so they don't break your system Python.
|
|
60
|
+
```bash
|
|
61
|
+
pipx install termicode-ai
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Option 2: Install via pip
|
|
65
|
+
```bash
|
|
66
|
+
pip install termicode-ai
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## ⚙️ Configuration
|
|
70
|
+
|
|
71
|
+
TermiCode requires a free Groq API key to operate.
|
|
72
|
+
|
|
73
|
+
1. Get a free API key at [console.groq.com/keys](https://console.groq.com/keys).
|
|
74
|
+
2. Create a `.env` file in the directory where you plan to run TermiCode, and add:
|
|
75
|
+
```env
|
|
76
|
+
GROQ_API_KEY=your_api_key_here
|
|
77
|
+
```
|
|
78
|
+
*(Alternatively, you can export `GROQ_API_KEY` as a system environment variable in your terminal).*
|
|
79
|
+
|
|
80
|
+
## 💻 Usage
|
|
81
|
+
|
|
82
|
+
Navigate to any project directory in your terminal and simply type:
|
|
83
|
+
```bash
|
|
84
|
+
termicode
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This starts the interactive AI shell.
|
|
88
|
+
Type `/help` to see available slash commands:
|
|
89
|
+
- `/map` - Print the current project structure tree.
|
|
90
|
+
- `/clear` - Clear the terminal screen.
|
|
91
|
+
- `/reset` - Wipe the agent's short-term memory and start fresh.
|
|
92
|
+
- `/exit` - Save session and exit.
|
|
93
|
+
|
|
94
|
+
**Example Prompts:**
|
|
95
|
+
- *"Refactor my calculate_tax function in utils.py to handle edge cases."*
|
|
96
|
+
- *"Search the codebase for 'DATABASE_URL' and tell me where it's used."*
|
|
97
|
+
- *"Run the pytest suite and fix any failing tests."*
|
|
98
|
+
|
|
99
|
+
## 🛠️ Developer Setup (Local Building)
|
|
100
|
+
|
|
101
|
+
If you want to contribute or build TermiCode locally from the source code:
|
|
102
|
+
|
|
103
|
+
1. **Clone the repository**
|
|
104
|
+
```bash
|
|
105
|
+
git clone https://github.com/yourusername/termicode.git
|
|
106
|
+
cd termicode
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
2. **Create a virtual environment**
|
|
110
|
+
```bash
|
|
111
|
+
python -m venv .venv
|
|
112
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
3. **Install in editable mode with dev dependencies**
|
|
116
|
+
```bash
|
|
117
|
+
pip install -e .[dev]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
4. **Run the CLI locally**
|
|
121
|
+
```bash
|
|
122
|
+
termicode
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## 📄 License
|
|
126
|
+
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://via.placeholder.com/150x150/09090b/22d3ee?text=TERMICODE" alt="TermiCode Logo">
|
|
3
|
+
|
|
4
|
+
<h1>TermiCode AI Coding Assistant</h1>
|
|
5
|
+
<p>A blazing fast, private, local AI coding assistant running directly in your terminal, powered by Groq and Llama 3.3.</p>
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.python.org/downloads/)
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
TermiCode is a terminal-based Micro-SaaS AI coding assistant built for speed and security. It reads your codebase, modifies files securely via surgical edits, and can even run terminal commands (with your permission). Because it leverages Groq's lightning-fast inference API, TermiCode feels instant.
|
|
14
|
+
|
|
15
|
+
**Bring Your Own Key (BYOK)**: No monthly subscriptions. No bloated Electron apps.
|
|
16
|
+
|
|
17
|
+
## ✨ Features
|
|
18
|
+
- **⚡ Blazing Fast**: Powered by Groq's LPU technology and Meta's Llama models.
|
|
19
|
+
- **🛡️ Secure File Operations**: Built-in path traversal protection and a blocklist for sensitive files (like `.env`).
|
|
20
|
+
- **👀 Surgical Edits**: Modifies existing files precisely without rewriting the whole document, saving tokens and preventing hallucinations.
|
|
21
|
+
- **🖥️ Beautiful Terminal UI**: Powered by `rich` for elegant panels, Markdown rendering, and live spinners.
|
|
22
|
+
- **🧠 Long-Term Memory**: Automatically summarizes past context to preserve memory without exceeding token limits.
|
|
23
|
+
- **🚦 Command Execution**: Can run test suites, git commands, and shell scripts on your behalf (always asks for permission first).
|
|
24
|
+
|
|
25
|
+
## 🚀 Installation
|
|
26
|
+
|
|
27
|
+
### Option 1: Install globally via pipx (Recommended)
|
|
28
|
+
`pipx` installs Python CLI applications into isolated environments so they don't break your system Python.
|
|
29
|
+
```bash
|
|
30
|
+
pipx install termicode-ai
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Option 2: Install via pip
|
|
34
|
+
```bash
|
|
35
|
+
pip install termicode-ai
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## ⚙️ Configuration
|
|
39
|
+
|
|
40
|
+
TermiCode requires a free Groq API key to operate.
|
|
41
|
+
|
|
42
|
+
1. Get a free API key at [console.groq.com/keys](https://console.groq.com/keys).
|
|
43
|
+
2. Create a `.env` file in the directory where you plan to run TermiCode, and add:
|
|
44
|
+
```env
|
|
45
|
+
GROQ_API_KEY=your_api_key_here
|
|
46
|
+
```
|
|
47
|
+
*(Alternatively, you can export `GROQ_API_KEY` as a system environment variable in your terminal).*
|
|
48
|
+
|
|
49
|
+
## 💻 Usage
|
|
50
|
+
|
|
51
|
+
Navigate to any project directory in your terminal and simply type:
|
|
52
|
+
```bash
|
|
53
|
+
termicode
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This starts the interactive AI shell.
|
|
57
|
+
Type `/help` to see available slash commands:
|
|
58
|
+
- `/map` - Print the current project structure tree.
|
|
59
|
+
- `/clear` - Clear the terminal screen.
|
|
60
|
+
- `/reset` - Wipe the agent's short-term memory and start fresh.
|
|
61
|
+
- `/exit` - Save session and exit.
|
|
62
|
+
|
|
63
|
+
**Example Prompts:**
|
|
64
|
+
- *"Refactor my calculate_tax function in utils.py to handle edge cases."*
|
|
65
|
+
- *"Search the codebase for 'DATABASE_URL' and tell me where it's used."*
|
|
66
|
+
- *"Run the pytest suite and fix any failing tests."*
|
|
67
|
+
|
|
68
|
+
## 🛠️ Developer Setup (Local Building)
|
|
69
|
+
|
|
70
|
+
If you want to contribute or build TermiCode locally from the source code:
|
|
71
|
+
|
|
72
|
+
1. **Clone the repository**
|
|
73
|
+
```bash
|
|
74
|
+
git clone https://github.com/yourusername/termicode.git
|
|
75
|
+
cd termicode
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
2. **Create a virtual environment**
|
|
79
|
+
```bash
|
|
80
|
+
python -m venv .venv
|
|
81
|
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
3. **Install in editable mode with dev dependencies**
|
|
85
|
+
```bash
|
|
86
|
+
pip install -e .[dev]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
4. **Run the CLI locally**
|
|
90
|
+
```bash
|
|
91
|
+
termicode
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 📄 License
|
|
95
|
+
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "termicode-ai"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Groq-powered AI coding assistant with streaming responses, cost tracking, and zero-configuration setup"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.8"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Parth Pathak"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["ai", "coding-assistant", "groq", "llama", "cli"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.8",
|
|
22
|
+
"Programming Language :: Python :: 3.9",
|
|
23
|
+
"Programming Language :: Python :: 3.10",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
"Programming Language :: Python :: 3.12",
|
|
26
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
dependencies = [
|
|
30
|
+
"groq>=0.5.0",
|
|
31
|
+
"python-dotenv>=1.0.0",
|
|
32
|
+
"rich>=13.0.0",
|
|
33
|
+
"ddgs>=4.0.0",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.optional-dependencies]
|
|
37
|
+
dev = [
|
|
38
|
+
"pytest>=7.0.0",
|
|
39
|
+
"black>=23.0.0",
|
|
40
|
+
"flake8>=6.0.0",
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
[project.scripts]
|
|
44
|
+
termicode = "termicode.cli:main"
|
|
45
|
+
|
|
46
|
+
[project.urls]
|
|
47
|
+
Homepage = "https://github.com/yourusername/termicode"
|
|
48
|
+
Repository = "https://github.com/yourusername/termicode"
|
|
49
|
+
Issues = "https://github.com/yourusername/termicode/issues"
|
|
50
|
+
|
|
51
|
+
[tool.setuptools.packages.find]
|
|
52
|
+
where = ["."]
|
|
53
|
+
include = ["termicode*"]
|
|
54
|
+
|
|
55
|
+
[tool.setuptools.package-data]
|
|
56
|
+
termicode = ["*.md"]
|
|
File without changes
|