codespy-ai 0.1.0__tar.gz → 0.1.1__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 (67) hide show
  1. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/PKG-INFO +64 -4
  2. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/README.md +63 -3
  3. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/pyproject.toml +1 -1
  4. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/LICENSE +0 -0
  5. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/__init__.py +0 -0
  6. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/__init__.py +0 -0
  7. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/cost_tracker.py +0 -0
  8. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/dspy_config.py +0 -0
  9. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/__init__.py +0 -0
  10. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/models.py +0 -0
  11. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/__init__.py +0 -0
  12. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/bug_detector.py +0 -0
  13. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/deduplicator.py +0 -0
  14. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/doc_reviewer.py +0 -0
  15. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/domain_expert.py +0 -0
  16. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/helpers.py +0 -0
  17. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/scope_identifier.py +0 -0
  18. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/modules/security_auditor.py +0 -0
  19. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/reporters/__init__.py +0 -0
  20. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/reporters/base.py +0 -0
  21. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/reporters/github_pr.py +0 -0
  22. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/reporters/stdout.py +0 -0
  23. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/agents/reviewer/reviewer.py +0 -0
  24. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/cli.py +0 -0
  25. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/config.py +0 -0
  26. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/config_dspy.py +0 -0
  27. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/config_git.py +0 -0
  28. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/config_io.py +0 -0
  29. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/config_llm.py +0 -0
  30. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/__init__.py +0 -0
  31. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/cyber/__init__.py +0 -0
  32. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/cyber/osv/__init__.py +0 -0
  33. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/cyber/osv/client.py +0 -0
  34. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/cyber/osv/models.py +0 -0
  35. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/cyber/osv/server.py +0 -0
  36. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/filesystem/__init__.py +0 -0
  37. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/filesystem/client.py +0 -0
  38. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/filesystem/models.py +0 -0
  39. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/filesystem/server.py +0 -0
  40. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/github/__init__.py +0 -0
  41. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/github/client.py +0 -0
  42. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/github/models.py +0 -0
  43. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/github/server.py +0 -0
  44. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/mcp_utils.py +0 -0
  45. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/__init__.py +0 -0
  46. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/ripgrep/__init__.py +0 -0
  47. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/ripgrep/client.py +0 -0
  48. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/ripgrep/server.py +0 -0
  49. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/__init__.py +0 -0
  50. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/base_extractor.py +0 -0
  51. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/__init__.py +0 -0
  52. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/go.py +0 -0
  53. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/java.py +0 -0
  54. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/javascript.py +0 -0
  55. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/kotlin.py +0 -0
  56. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/objc.py +0 -0
  57. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/python.py +0 -0
  58. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/rust.py +0 -0
  59. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/swift.py +0 -0
  60. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/extractors/terraform.py +0 -0
  61. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/models.py +0 -0
  62. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/parser.py +0 -0
  63. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/parsers/treesitter/server.py +0 -0
  64. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/web/__init__.py +0 -0
  65. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/web/client.py +0 -0
  66. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/web/models.py +0 -0
  67. {codespy_ai-0.1.0 → codespy_ai-0.1.1}/src/codespy/tools/web/server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codespy-ai
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Code review agent powered by DSPy
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -52,7 +52,7 @@ Description-Content-Type: text/markdown
52
52
  <img src="assets/codespy-logo.png" alt="CodeSpy logo">
53
53
  </p>
54
54
 
55
- <h1 align="center">CodeSpy</h1>
55
+ <h1 align="center">Code<a href="https://github.com/khezen/codespy">Spy</a></h1>
56
56
 
57
57
  <p align="center">
58
58
  <strong>Automated code reviews for teams who care about correctness.</strong>
@@ -113,6 +113,7 @@ Built for **engineering teams that care about correctness, security, and control
113
113
  - 💰 **Cost Tracking** - Track LLM calls, tokens, and costs per review
114
114
  - 🤖 **Model Agnostic** - Works with OpenAI, AWS Bedrock, Anthropic, Ollama, and more via LiteLLM
115
115
  - 🐳 **Docker Ready** - Run locally or in the cloud with Docker
116
+ - 🔌 **GitHub Action** - One-line integration for automatic PR reviews
116
117
 
117
118
  ---
118
119
 
@@ -124,6 +125,13 @@ Built for **engineering teams that care about correctness, security, and control
124
125
  pip install codespy-ai
125
126
  ```
126
127
 
128
+ ### Using Homebrew (macOS/Linux)
129
+
130
+ ```bash
131
+ brew tap khezen/codespy
132
+ brew install codespy
133
+ ```
134
+
127
135
  ### Using Docker
128
136
 
129
137
  ```bash
@@ -221,6 +229,59 @@ docker run --rm \
221
229
  ghcr.io/khezen/codespy:0.1.0 review https://github.com/owner/repo/pull/123
222
230
  ```
223
231
 
232
+ ### GitHub Action
233
+
234
+ Add CodeSpy to your repository for automatic PR reviews:
235
+
236
+ ```yaml
237
+ # .github/workflows/codespy-review.yml
238
+ name: CodeSpy Code Review
239
+
240
+ on:
241
+ pull_request:
242
+ types: [opened, synchronize, reopened]
243
+
244
+ jobs:
245
+ review:
246
+ runs-on: ubuntu-latest
247
+ permissions:
248
+ contents: read
249
+ pull-requests: write
250
+
251
+ steps:
252
+ - name: Run CodeSpy Review
253
+ uses: khezen/codespy@v1
254
+ with:
255
+ model: 'claude-sonnet-4-5-20250929'
256
+ anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
257
+ ```
258
+
259
+ **Available Providers:**
260
+
261
+ ```yaml
262
+ # OpenAI
263
+ - uses: khezen/codespy@v1
264
+ with:
265
+ model: 'gpt-5'
266
+ openai-api-key: ${{ secrets.OPENAI_API_KEY }}
267
+
268
+ # AWS Bedrock
269
+ - uses: khezen/codespy@v1
270
+ with:
271
+ model: 'bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0'
272
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
273
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
274
+ aws-region: 'us-east-1'
275
+
276
+ # Google Gemini
277
+ - uses: khezen/codespy@v1
278
+ with:
279
+ model: 'gemini/gemini-2.5-pro'
280
+ gemini-api-key: ${{ secrets.GEMINI_API_KEY }}
281
+ ```
282
+
283
+ See [`.github/workflows/codespy-review.yml.example`](.github/workflows/codespy-review.yml.example) for more examples.
284
+
224
285
  ---
225
286
 
226
287
  ## Configuration
@@ -234,9 +295,8 @@ Priority: Environment Variables > YAML Config > Defaults
234
295
  ### Setup
235
296
 
236
297
  ```bash
237
- # Copy the example files
298
+ # Copy the example file
238
299
  cp .env.example .env
239
- cp codespy.example.yaml codespy.yaml # Optional, for advanced config
240
300
  ```
241
301
 
242
302
  ### GitHub Token
@@ -2,7 +2,7 @@
2
2
  <img src="assets/codespy-logo.png" alt="CodeSpy logo">
3
3
  </p>
4
4
 
5
- <h1 align="center">CodeSpy</h1>
5
+ <h1 align="center">Code<a href="https://github.com/khezen/codespy">Spy</a></h1>
6
6
 
7
7
  <p align="center">
8
8
  <strong>Automated code reviews for teams who care about correctness.</strong>
@@ -63,6 +63,7 @@ Built for **engineering teams that care about correctness, security, and control
63
63
  - 💰 **Cost Tracking** - Track LLM calls, tokens, and costs per review
64
64
  - 🤖 **Model Agnostic** - Works with OpenAI, AWS Bedrock, Anthropic, Ollama, and more via LiteLLM
65
65
  - 🐳 **Docker Ready** - Run locally or in the cloud with Docker
66
+ - 🔌 **GitHub Action** - One-line integration for automatic PR reviews
66
67
 
67
68
  ---
68
69
 
@@ -74,6 +75,13 @@ Built for **engineering teams that care about correctness, security, and control
74
75
  pip install codespy-ai
75
76
  ```
76
77
 
78
+ ### Using Homebrew (macOS/Linux)
79
+
80
+ ```bash
81
+ brew tap khezen/codespy
82
+ brew install codespy
83
+ ```
84
+
77
85
  ### Using Docker
78
86
 
79
87
  ```bash
@@ -171,6 +179,59 @@ docker run --rm \
171
179
  ghcr.io/khezen/codespy:0.1.0 review https://github.com/owner/repo/pull/123
172
180
  ```
173
181
 
182
+ ### GitHub Action
183
+
184
+ Add CodeSpy to your repository for automatic PR reviews:
185
+
186
+ ```yaml
187
+ # .github/workflows/codespy-review.yml
188
+ name: CodeSpy Code Review
189
+
190
+ on:
191
+ pull_request:
192
+ types: [opened, synchronize, reopened]
193
+
194
+ jobs:
195
+ review:
196
+ runs-on: ubuntu-latest
197
+ permissions:
198
+ contents: read
199
+ pull-requests: write
200
+
201
+ steps:
202
+ - name: Run CodeSpy Review
203
+ uses: khezen/codespy@v1
204
+ with:
205
+ model: 'claude-sonnet-4-5-20250929'
206
+ anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
207
+ ```
208
+
209
+ **Available Providers:**
210
+
211
+ ```yaml
212
+ # OpenAI
213
+ - uses: khezen/codespy@v1
214
+ with:
215
+ model: 'gpt-5'
216
+ openai-api-key: ${{ secrets.OPENAI_API_KEY }}
217
+
218
+ # AWS Bedrock
219
+ - uses: khezen/codespy@v1
220
+ with:
221
+ model: 'bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0'
222
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
223
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
224
+ aws-region: 'us-east-1'
225
+
226
+ # Google Gemini
227
+ - uses: khezen/codespy@v1
228
+ with:
229
+ model: 'gemini/gemini-2.5-pro'
230
+ gemini-api-key: ${{ secrets.GEMINI_API_KEY }}
231
+ ```
232
+
233
+ See [`.github/workflows/codespy-review.yml.example`](.github/workflows/codespy-review.yml.example) for more examples.
234
+
174
235
  ---
175
236
 
176
237
  ## Configuration
@@ -184,9 +245,8 @@ Priority: Environment Variables > YAML Config > Defaults
184
245
  ### Setup
185
246
 
186
247
  ```bash
187
- # Copy the example files
248
+ # Copy the example file
188
249
  cp .env.example .env
189
- cp codespy.example.yaml codespy.yaml # Optional, for advanced config
190
250
  ```
191
251
 
192
252
  ### GitHub Token
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codespy-ai"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "Code review agent powered by DSPy"
5
5
  readme = "README.md"
6
6
  license = "MIT"
File without changes