rex-machine 0.2.0__tar.gz → 0.2.2__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 (32) hide show
  1. {rex_machine-0.2.0 → rex_machine-0.2.2}/PKG-INFO +5 -3
  2. {rex_machine-0.2.0 → rex_machine-0.2.2}/README.md +4 -2
  3. {rex_machine-0.2.0 → rex_machine-0.2.2}/pyproject.toml +1 -1
  4. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/__init__.py +1 -1
  5. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/code_pattern_analyzer.j2 +13 -4
  6. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/config_analyzer.j2 +13 -4
  7. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/doc_analyzer.j2 +11 -4
  8. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/structure_analyzer.j2 +10 -4
  9. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/synthesis.j2 +1 -1
  10. {rex_machine-0.2.0 → rex_machine-0.2.2}/.claude/settings.local.json +0 -0
  11. {rex_machine-0.2.0 → rex_machine-0.2.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  12. {rex_machine-0.2.0 → rex_machine-0.2.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  13. {rex_machine-0.2.0 → rex_machine-0.2.2}/.github/workflows/ci.yml +0 -0
  14. {rex_machine-0.2.0 → rex_machine-0.2.2}/.github/workflows/release.yml +0 -0
  15. {rex_machine-0.2.0 → rex_machine-0.2.2}/.gitignore +0 -0
  16. {rex_machine-0.2.0 → rex_machine-0.2.2}/CHANGELOG.md +0 -0
  17. {rex_machine-0.2.0 → rex_machine-0.2.2}/CLAUDE.md +0 -0
  18. {rex_machine-0.2.0 → rex_machine-0.2.2}/CONTRIBUTING.md +0 -0
  19. {rex_machine-0.2.0 → rex_machine-0.2.2}/LICENSE +0 -0
  20. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/__main__.py +0 -0
  21. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/agents.py +0 -0
  22. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/cli.py +0 -0
  23. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/config.py +0 -0
  24. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/models.py +0 -0
  25. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/py.typed +0 -0
  26. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/renderer.py +0 -0
  27. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/scanner.py +0 -0
  28. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/prompts/main.j2 +0 -0
  29. {rex_machine-0.2.0 → rex_machine-0.2.2}/src/rex_machine/templates/report.md.j2 +0 -0
  30. {rex_machine-0.2.0 → rex_machine-0.2.2}/tests/__init__.py +0 -0
  31. {rex_machine-0.2.0 → rex_machine-0.2.2}/tests/test_models.py +0 -0
  32. {rex_machine-0.2.0 → rex_machine-0.2.2}/tests/test_scanner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rex-machine
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Extract lessons learned (REX) from code repositories
5
5
  Project-URL: Homepage, https://github.com/NicoJuiced/rex-machine
6
6
  Project-URL: Repository, https://github.com/NicoJuiced/rex-machine
@@ -36,8 +36,6 @@ Description-Content-Type: text/markdown
36
36
 
37
37
  **Your codebase has lessons no one wrote down. This finds them.**
38
38
 
39
- [![Star History Chart](https://api.star-history.com/svg?repos=NicoJuiced/rex-machine&type=Date)](https://star-history.com/#NicoJuiced/rex-machine&Date)
40
-
41
39
  rex-machine scans any code repository and extracts structured technical lessons learned — what problems the team faced, what they tried, what worked. Claude navigates your repo autonomously (reading files, grepping, following imports) and produces a grounded report, not a vague summary.
42
40
 
43
41
  Works on any language, any framework, any repo size.
@@ -134,3 +132,7 @@ rex status # show current config
134
132
  ## License
135
133
 
136
134
  [Apache 2.0](LICENSE)
135
+
136
+ ## Star History
137
+
138
+ [![Star History Chart](https://api.star-history.com/svg?repos=NicoJuiced/rex-machine&type=Date)](https://star-history.com/#NicoJuiced/rex-machine&Date)
@@ -2,8 +2,6 @@
2
2
 
3
3
  **Your codebase has lessons no one wrote down. This finds them.**
4
4
 
5
- [![Star History Chart](https://api.star-history.com/svg?repos=NicoJuiced/rex-machine&type=Date)](https://star-history.com/#NicoJuiced/rex-machine&Date)
6
-
7
5
  rex-machine scans any code repository and extracts structured technical lessons learned — what problems the team faced, what they tried, what worked. Claude navigates your repo autonomously (reading files, grepping, following imports) and produces a grounded report, not a vague summary.
8
6
 
9
7
  Works on any language, any framework, any repo size.
@@ -100,3 +98,7 @@ rex status # show current config
100
98
  ## License
101
99
 
102
100
  [Apache 2.0](LICENSE)
101
+
102
+ ## Star History
103
+
104
+ [![Star History Chart](https://api.star-history.com/svg?repos=NicoJuiced/rex-machine&type=Date)](https://star-history.com/#NicoJuiced/rex-machine&Date)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "rex-machine"
7
- version = "0.2.0"
7
+ version = "0.2.2"
8
8
  description = "Extract lessons learned (REX) from code repositories"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """rex-machine - Extract lessons learned from code repositories."""
2
2
 
3
- __version__ = "0.2.0"
3
+ __version__ = "0.2.2"
@@ -13,12 +13,21 @@ Look for REX signals in:
13
13
  - Defensive programming: path validation, input sanitization, safety caps, timeout handling
14
14
  - Abstraction levels: is the code over-engineered or under-abstracted? Where was complexity invested?
15
15
 
16
- For each finding, cite specific files and line numbers. Distinguish between "this IS the pattern used" vs "this COULD be improved" — both can be REX.
17
-
18
16
  FORMAT YOUR OUTPUT AS A LIST OF FINDINGS. For each finding, use this structure:
19
17
 
20
18
  ### Finding: [short title]
21
19
  - **Problem/Context**: What challenge or decision was at stake
22
20
  - **What was done**: The approach taken (and alternatives if visible, including things that didn't work)
23
- - **Evidence**: Specific file paths and line numbers
24
- - **Lesson**: The takeaway for other teams
21
+ - **Code**: Copy the actual code lines that show the pattern. Include imports, function signatures, key parameters, the specific arguments used. For example:
22
+ ```python
23
+ # src/worker/main.py:160-175
24
+ async def _progress_callback(job_id: str, progress: float) -> bool:
25
+ async with async_session_maker() as session:
26
+ job = await session.get(OptimizationJob, job_id)
27
+ if job.status == JobStatus.CANCELLED:
28
+ return True # signal optimizer to stop
29
+ return False
30
+ ```
31
+ - **Lesson**: The takeaway for other teams
32
+
33
+ Always include real code from files you read — not paraphrases, not "see line 42". The reader should understand the pattern, the function names, the parameters, and the packages used without opening the repo.
@@ -13,12 +13,21 @@ Look for REX signals in:
13
13
  - Cross-platform concerns: does the config handle Windows/Linux/Mac differences?
14
14
  - Publishing / deployment: how is the package published? Manual or automated? What triggers a release?
15
15
 
16
- For each finding, cite specific files and line numbers. Configuration choices often reveal hard-won lessons about what went wrong in the past.
17
-
18
16
  FORMAT YOUR OUTPUT AS A LIST OF FINDINGS. For each finding, use this structure:
19
17
 
20
18
  ### Finding: [short title]
21
19
  - **Problem/Context**: What challenge or decision was at stake
22
20
  - **What was done**: The approach taken (and alternatives if visible)
23
- - **Evidence**: Specific file paths and line numbers
24
- - **Lesson**: The takeaway for other teams
21
+ - **Code**: Copy the actual config/code lines that show the pattern. Include the real values, parameters, package names. For example:
22
+ ```yaml
23
+ # .github/workflows/deploy.yml:18-25
24
+ - name: Build container
25
+ run: |
26
+ docker build --target production \
27
+ --build-arg PYTHON_VERSION=3.12 \
28
+ --cache-from type=gha \
29
+ -t {% raw %}${{ env.IMAGE }}:${{ github.sha }}{% endraw %} .
30
+ ```
31
+ - **Lesson**: The takeaway for other teams
32
+
33
+ Always include real config/code from files you read — not paraphrases. The reader should see the exact commands, package versions, and settings used.
@@ -12,12 +12,19 @@ Look for REX signals in:
12
12
  - API documentation: is the external API documented separately from implementation?
13
13
  - CHANGELOG/versioning: is there a changelog? Is it maintained?
14
14
 
15
- For each finding, cite specific files and line numbers. A gap in documentation is just as valuable as good documentation — both carry lessons.
16
-
17
15
  FORMAT YOUR OUTPUT AS A LIST OF FINDINGS. For each finding, use this structure:
18
16
 
19
17
  ### Finding: [short title]
20
18
  - **Problem/Context**: What challenge or decision was at stake
21
19
  - **What was done**: The approach taken (and alternatives if visible)
22
- - **Evidence**: Specific file paths and line numbers
23
- - **Lesson**: The takeaway for other teams
20
+ - **Code**: Copy the actual code or documentation lines that illustrate the finding. For example:
21
+ ```python
22
+ # src/core/optimizer.py:45-48
23
+ # We use DBSCAN instead of K-means here because the number of
24
+ # annotation clusters is unknown and annotations can have
25
+ # irregular shapes. eps=15 tuned on the validation set.
26
+ clusters = DBSCAN(eps=15, min_samples=3).fit_predict(coords)
27
+ ```
28
+ - **Lesson**: The takeaway for other teams
29
+
30
+ Always include real code or documentation excerpts — not paraphrases. The reader should see exactly what the codebase does.
@@ -11,12 +11,18 @@ Look for REX signals in:
11
11
  - Build system: why was this build tool chosen? Are there traces of a previous one?
12
12
  - Dependency structure: are deps well-organized? Pinned vs floating? Dev vs prod separation?
13
13
 
14
- For each finding, explain WHAT you observed, WHERE in the code (file paths + line numbers), and WHY it matters as a lesson learned.
15
-
16
14
  FORMAT YOUR OUTPUT AS A LIST OF FINDINGS. For each finding, use this structure:
17
15
 
18
16
  ### Finding: [short title]
19
17
  - **Problem/Context**: What challenge or decision was at stake
20
18
  - **What was done**: The approach taken (and alternatives if visible)
21
- - **Evidence**: Specific file paths and line numbers
22
- - **Lesson**: The takeaway for other teams
19
+ - **Code**: Copy the actual code lines that show the pattern. Include imports, function signatures, key parameters. For example:
20
+ ```python
21
+ # src/api/deps.py:12-18
22
+ async def get_db_session() -> AsyncGenerator[AsyncSession, None]:
23
+ async with async_session_maker() as session:
24
+ yield session
25
+ ```
26
+ - **Lesson**: The takeaway for other teams
27
+
28
+ Always include real code from files you read — not paraphrases, not line number references. The reader should understand the pattern without opening the repo.
@@ -24,7 +24,7 @@ For each REX item, fill ALL fields:
24
24
  - theme: short category (e.g., "Error Handling", "Testing", "Architecture")
25
25
  - context: where this applies in the codebase
26
26
  - problem: the challenge or decision that was at stake
27
- - approaches: at least one Approach with description, worked (true/false/null), and details with file evidence
27
+ - approaches: at least one Approach with description, worked (true/false/null), and details that INCLUDE the actual code snippets from the sub-agent reports. Copy the real code — function names, imports, parameters, specific arguments. The reader must understand the pattern without opening the repo.
28
28
  - learning: the takeaway
29
29
  - recommendation: actionable advice
30
30
  - confidence: based on evidence strength
File without changes
File without changes
File without changes
File without changes
File without changes