akitallm 1.1.1__tar.gz → 1.2.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.
Files changed (42) hide show
  1. akitallm-1.2.0/PKG-INFO +217 -0
  2. akitallm-1.2.0/README.md +182 -0
  3. akitallm-1.2.0/akita/__init__.py +1 -0
  4. {akitallm-1.1.1 → akitallm-1.2.0}/akita/cli/main.py +121 -52
  5. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/config.py +1 -0
  6. akitallm-1.2.0/akita/core/i18n.py +123 -0
  7. {akitallm-1.1.1 → akitallm-1.2.0}/akita/models/base.py +10 -4
  8. {akitallm-1.1.1 → akitallm-1.2.0}/akita/reasoning/engine.py +33 -2
  9. akitallm-1.2.0/akita/tools/diff.py +173 -0
  10. akitallm-1.2.0/akitallm.egg-info/PKG-INFO +217 -0
  11. {akitallm-1.1.1 → akitallm-1.2.0}/akitallm.egg-info/SOURCES.txt +3 -1
  12. {akitallm-1.1.1 → akitallm-1.2.0}/pyproject.toml +1 -1
  13. akitallm-1.2.0/tests/test_strict_guards.py +74 -0
  14. akitallm-1.1.1/PKG-INFO +0 -140
  15. akitallm-1.1.1/README.md +0 -105
  16. akitallm-1.1.1/akita/__init__.py +0 -1
  17. akitallm-1.1.1/akita/tools/diff.py +0 -116
  18. akitallm-1.1.1/akitallm.egg-info/PKG-INFO +0 -140
  19. {akitallm-1.1.1 → akitallm-1.2.0}/LICENSE +0 -0
  20. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/ast_utils.py +0 -0
  21. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/indexing.py +0 -0
  22. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/plugins.py +0 -0
  23. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/providers.py +0 -0
  24. {akitallm-1.1.1 → akitallm-1.2.0}/akita/core/trace.py +0 -0
  25. {akitallm-1.1.1 → akitallm-1.2.0}/akita/plugins/__init__.py +0 -0
  26. {akitallm-1.1.1 → akitallm-1.2.0}/akita/plugins/files.py +0 -0
  27. {akitallm-1.1.1 → akitallm-1.2.0}/akita/reasoning/session.py +0 -0
  28. {akitallm-1.1.1 → akitallm-1.2.0}/akita/schemas/review.py +0 -0
  29. {akitallm-1.1.1 → akitallm-1.2.0}/akita/tools/base.py +0 -0
  30. {akitallm-1.1.1 → akitallm-1.2.0}/akita/tools/context.py +0 -0
  31. {akitallm-1.1.1 → akitallm-1.2.0}/akita/tools/git.py +0 -0
  32. {akitallm-1.1.1 → akitallm-1.2.0}/akitallm.egg-info/dependency_links.txt +0 -0
  33. {akitallm-1.1.1 → akitallm-1.2.0}/akitallm.egg-info/entry_points.txt +0 -0
  34. {akitallm-1.1.1 → akitallm-1.2.0}/akitallm.egg-info/requires.txt +0 -0
  35. {akitallm-1.1.1 → akitallm-1.2.0}/akitallm.egg-info/top_level.txt +0 -0
  36. {akitallm-1.1.1 → akitallm-1.2.0}/setup.cfg +0 -0
  37. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_ast.py +0 -0
  38. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_basic.py +0 -0
  39. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_diff.py +0 -0
  40. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_interactive.py +0 -0
  41. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_plugins.py +0 -0
  42. {akitallm-1.1.1 → akitallm-1.2.0}/tests/test_review_mock.py +0 -0
@@ -0,0 +1,217 @@
1
+ Metadata-Version: 2.4
2
+ Name: akitallm
3
+ Version: 1.2.0
4
+ Summary: AkitaLLM: An open-source local-first AI system for programming.
5
+ Author: KerubinDev
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/KerubinDev/AkitaLLM
8
+ Project-URL: Repository, https://github.com/KerubinDev/AkitaLLM
9
+ Project-URL: Issues, https://github.com/KerubinDev/AkitaLLM/issues
10
+ Keywords: ai,cli,programming,local-first,llm
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Requires-Python: >=3.10
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: typer[all]
22
+ Requires-Dist: litellm
23
+ Requires-Dist: pydantic
24
+ Requires-Dist: rich
25
+ Requires-Dist: python-dotenv
26
+ Requires-Dist: pytest
27
+ Requires-Dist: pytest-mock
28
+ Requires-Dist: gitpython
29
+ Requires-Dist: tomli-w
30
+ Requires-Dist: tomli
31
+ Requires-Dist: whatthepatch>=1.0.5
32
+ Requires-Dist: tree-sitter>=0.21.3
33
+ Requires-Dist: tree-sitter-python>=0.21.0
34
+ Dynamic: license-file
35
+
36
+ # AkitaLLM
37
+
38
+ ![PyPI](https://img.shields.io/pypi/v/akitallm)
39
+ ![Python](https://img.shields.io/pypi/pyversions/akitallm)
40
+ ![License](https://img.shields.io/github/license/KerubinDev/AkitaLLM)
41
+ [![Tests](https://img.shields.io/github/actions/workflow/status/KerubinDev/AkitaLLM/tests.yml)](https://github.com/KerubinDev/AkitaLLM/actions)
42
+ ![Downloads](https://img.shields.io/pypi/dm/akitallm)
43
+
44
+
45
+ ```
46
+
47
+ Analyze → Plan → Execute → Validate
48
+
49
+ ````
50
+
51
+ **A deterministic, local-first AI orchestrator for software engineers.**
52
+
53
+ AkitaLLM is not a chat interface.
54
+ It is not autocomplete.
55
+ It is not “AI magic”.
56
+
57
+ It is an engineering tool.
58
+
59
+ ---
60
+
61
+ ## What AkitaLLM is (and what it is not)
62
+
63
+ AkitaLLM treats Large Language Models as **non-deterministic execution engines** that must operate inside a **strict, auditable pipeline**.
64
+
65
+ Instead of asking an AI *“please fix my code”*, you force it to:
66
+
67
+ 1. **Analyze** the real project structure
68
+ 2. **Plan** concrete technical steps
69
+ 3. **Execute** changes as reviewable diffs
70
+ 4. **Validate** results with real tooling
71
+
72
+ No hidden prompts.
73
+ No blind edits.
74
+ No guessing.
75
+
76
+ ---
77
+
78
+ ## Why this project exists
79
+
80
+ Most AI coding tools optimize for **speed of output**.
81
+
82
+ Software engineering optimizes for:
83
+ - correctness
84
+ - predictability
85
+ - debuggability
86
+ - long-term maintainability
87
+
88
+ That mismatch causes real problems:
89
+
90
+ - Code is generated without understanding the project
91
+ - Developers approve changes they don’t fully understand
92
+ - Bugs are pushed faster, not fewer
93
+
94
+ AkitaLLM exists to **slow AI down** and force it to behave like a junior engineer working under strict supervision.
95
+
96
+ ---
97
+
98
+ ## The core difference
99
+
100
+ | Aspect | Typical AI Tools | AkitaLLM |
101
+ |------|-----------------|----------|
102
+ | Interaction | Chat / Autocomplete | Structured pipeline |
103
+ | Control | Implicit | Explicit and reviewable |
104
+ | Output | Raw code | Unified diffs |
105
+ | Context | Prompt-limited | Project-aware |
106
+ | Validation | Manual | Automated |
107
+ | Philosophy | “Trust the model” | “Trust the process” |
108
+
109
+ ---
110
+
111
+ ## Design principles
112
+
113
+ **Local-first**
114
+ Your code stays on your machine. AkitaLLM runs locally and only sends what is strictly necessary to the model.
115
+
116
+ **No magic**
117
+ Every decision is logged. Every step is inspectable. Every change is explicit.
118
+
119
+ **Tool-driven**
120
+ The AI uses tools (AST parsing, tests, linters). It does not replace them.
121
+
122
+ **Human-in-the-loop**
123
+ Nothing is applied without your approval.
124
+
125
+ ---
126
+
127
+ ## What AkitaLLM can do today
128
+
129
+ - 🔍 **Structural code reviews**
130
+ Detect bugs, architectural risks, performance issues, and security problems.
131
+
132
+ - 🧭 **Technical planning**
133
+ Generate step-by-step implementation plans in Markdown.
134
+
135
+ - 🧩 **Diff-based solutions**
136
+ Propose changes as standard unified diffs — no direct file mutation.
137
+
138
+ - 🧪 **Local validation**
139
+ Run tests and tooling before applying changes.
140
+
141
+ - 🔌 **Extensible architecture**
142
+ Plugin system for custom tools and workflows.
143
+
144
+ - 🤖 **Model agnostic**
145
+ Works with OpenAI, Anthropic, Ollama, and any LiteLLM-compatible provider.
146
+
147
+ ---
148
+
149
+ ## Installation
150
+
151
+ ```bash
152
+ pip install akitallm
153
+ ````
154
+
155
+ Python 3.10+ required.
156
+
157
+ ---
158
+
159
+ ## Basic usage
160
+
161
+ ### Initialize / Review a project
162
+
163
+ ```bash
164
+ akita review .
165
+ ```
166
+
167
+ ### Generate a technical plan
168
+
169
+ ```bash
170
+ akita plan "Refactor authentication to use JWT with refresh tokens"
171
+ ```
172
+
173
+ ### Solve a concrete problem
174
+
175
+ ```bash
176
+ akita solve "Fix silent failures in the reasoning engine error handling"
177
+ ```
178
+
179
+ All commands follow the same pipeline:
180
+
181
+ ```
182
+ Analyze → Plan → Execute → Validate
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Extending AkitaLLM
188
+
189
+ AkitaLLM is designed to be extended by engineers.
190
+
191
+ * Custom tools
192
+ * Custom validators
193
+ * Custom reasoning steps
194
+
195
+ See the [Plugin Development Guide](PLUGINS.md).
196
+
197
+ ---
198
+
199
+ ## Contributing
200
+
201
+ AkitaLLM is not looking for volume.
202
+ It is looking for **engineering-quality contributions**.
203
+
204
+ If you care about:
205
+
206
+ * clean abstractions
207
+ * predictable systems
208
+ * readable diffs
209
+ * testable behavior
210
+
211
+ You’ll fit right in.
212
+
213
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
214
+
215
+ ---
216
+
217
+ > “Understanding the internals is the first step to excellence.”
@@ -0,0 +1,182 @@
1
+ # AkitaLLM
2
+
3
+ ![PyPI](https://img.shields.io/pypi/v/akitallm)
4
+ ![Python](https://img.shields.io/pypi/pyversions/akitallm)
5
+ ![License](https://img.shields.io/github/license/KerubinDev/AkitaLLM)
6
+ [![Tests](https://img.shields.io/github/actions/workflow/status/KerubinDev/AkitaLLM/tests.yml)](https://github.com/KerubinDev/AkitaLLM/actions)
7
+ ![Downloads](https://img.shields.io/pypi/dm/akitallm)
8
+
9
+
10
+ ```
11
+
12
+ Analyze → Plan → Execute → Validate
13
+
14
+ ````
15
+
16
+ **A deterministic, local-first AI orchestrator for software engineers.**
17
+
18
+ AkitaLLM is not a chat interface.
19
+ It is not autocomplete.
20
+ It is not “AI magic”.
21
+
22
+ It is an engineering tool.
23
+
24
+ ---
25
+
26
+ ## What AkitaLLM is (and what it is not)
27
+
28
+ AkitaLLM treats Large Language Models as **non-deterministic execution engines** that must operate inside a **strict, auditable pipeline**.
29
+
30
+ Instead of asking an AI *“please fix my code”*, you force it to:
31
+
32
+ 1. **Analyze** the real project structure
33
+ 2. **Plan** concrete technical steps
34
+ 3. **Execute** changes as reviewable diffs
35
+ 4. **Validate** results with real tooling
36
+
37
+ No hidden prompts.
38
+ No blind edits.
39
+ No guessing.
40
+
41
+ ---
42
+
43
+ ## Why this project exists
44
+
45
+ Most AI coding tools optimize for **speed of output**.
46
+
47
+ Software engineering optimizes for:
48
+ - correctness
49
+ - predictability
50
+ - debuggability
51
+ - long-term maintainability
52
+
53
+ That mismatch causes real problems:
54
+
55
+ - Code is generated without understanding the project
56
+ - Developers approve changes they don’t fully understand
57
+ - Bugs are pushed faster, not fewer
58
+
59
+ AkitaLLM exists to **slow AI down** and force it to behave like a junior engineer working under strict supervision.
60
+
61
+ ---
62
+
63
+ ## The core difference
64
+
65
+ | Aspect | Typical AI Tools | AkitaLLM |
66
+ |------|-----------------|----------|
67
+ | Interaction | Chat / Autocomplete | Structured pipeline |
68
+ | Control | Implicit | Explicit and reviewable |
69
+ | Output | Raw code | Unified diffs |
70
+ | Context | Prompt-limited | Project-aware |
71
+ | Validation | Manual | Automated |
72
+ | Philosophy | “Trust the model” | “Trust the process” |
73
+
74
+ ---
75
+
76
+ ## Design principles
77
+
78
+ **Local-first**
79
+ Your code stays on your machine. AkitaLLM runs locally and only sends what is strictly necessary to the model.
80
+
81
+ **No magic**
82
+ Every decision is logged. Every step is inspectable. Every change is explicit.
83
+
84
+ **Tool-driven**
85
+ The AI uses tools (AST parsing, tests, linters). It does not replace them.
86
+
87
+ **Human-in-the-loop**
88
+ Nothing is applied without your approval.
89
+
90
+ ---
91
+
92
+ ## What AkitaLLM can do today
93
+
94
+ - 🔍 **Structural code reviews**
95
+ Detect bugs, architectural risks, performance issues, and security problems.
96
+
97
+ - 🧭 **Technical planning**
98
+ Generate step-by-step implementation plans in Markdown.
99
+
100
+ - 🧩 **Diff-based solutions**
101
+ Propose changes as standard unified diffs — no direct file mutation.
102
+
103
+ - 🧪 **Local validation**
104
+ Run tests and tooling before applying changes.
105
+
106
+ - 🔌 **Extensible architecture**
107
+ Plugin system for custom tools and workflows.
108
+
109
+ - 🤖 **Model agnostic**
110
+ Works with OpenAI, Anthropic, Ollama, and any LiteLLM-compatible provider.
111
+
112
+ ---
113
+
114
+ ## Installation
115
+
116
+ ```bash
117
+ pip install akitallm
118
+ ````
119
+
120
+ Python 3.10+ required.
121
+
122
+ ---
123
+
124
+ ## Basic usage
125
+
126
+ ### Initialize / Review a project
127
+
128
+ ```bash
129
+ akita review .
130
+ ```
131
+
132
+ ### Generate a technical plan
133
+
134
+ ```bash
135
+ akita plan "Refactor authentication to use JWT with refresh tokens"
136
+ ```
137
+
138
+ ### Solve a concrete problem
139
+
140
+ ```bash
141
+ akita solve "Fix silent failures in the reasoning engine error handling"
142
+ ```
143
+
144
+ All commands follow the same pipeline:
145
+
146
+ ```
147
+ Analyze → Plan → Execute → Validate
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Extending AkitaLLM
153
+
154
+ AkitaLLM is designed to be extended by engineers.
155
+
156
+ * Custom tools
157
+ * Custom validators
158
+ * Custom reasoning steps
159
+
160
+ See the [Plugin Development Guide](PLUGINS.md).
161
+
162
+ ---
163
+
164
+ ## Contributing
165
+
166
+ AkitaLLM is not looking for volume.
167
+ It is looking for **engineering-quality contributions**.
168
+
169
+ If you care about:
170
+
171
+ * clean abstractions
172
+ * predictable systems
173
+ * readable diffs
174
+ * testable behavior
175
+
176
+ You’ll fit right in.
177
+
178
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
179
+
180
+ ---
181
+
182
+ > “Understanding the internals is the first step to excellence.”
@@ -0,0 +1 @@
1
+ __version__ = "1.2.0"