nimcode 0.5.2__tar.gz → 0.5.4__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 (48) hide show
  1. {nimcode-0.5.2 → nimcode-0.5.4}/PKG-INFO +8 -2
  2. {nimcode-0.5.2 → nimcode-0.5.4}/README.md +7 -1
  3. nimcode-0.5.4/src/nimcode/__version__.py +1 -0
  4. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/agent.py +9 -8
  5. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/repl.py +6 -6
  6. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/tools.py +6 -1
  7. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/PKG-INFO +8 -2
  8. nimcode-0.5.2/src/nimcode/__version__.py +0 -1
  9. {nimcode-0.5.2 → nimcode-0.5.4}/setup.cfg +0 -0
  10. {nimcode-0.5.2 → nimcode-0.5.4}/setup.py +0 -0
  11. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/__init__.py +0 -0
  12. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/cli.py +0 -0
  13. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/config.py +0 -0
  14. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/lenient_parser.py +0 -0
  15. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/mcp_client.py +0 -0
  16. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/memory.py +0 -0
  17. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/model_registry.py +0 -0
  18. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/nim_client.py +0 -0
  19. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/permissions.py +0 -0
  20. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/plugin_manager.py +0 -0
  21. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/rag.py +0 -0
  22. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/repo_map.py +0 -0
  23. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/updater.py +0 -0
  24. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode/watcher.py +0 -0
  25. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/SOURCES.txt +0 -0
  26. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/dependency_links.txt +0 -0
  27. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/entry_points.txt +0 -0
  28. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/requires.txt +0 -0
  29. {nimcode-0.5.2 → nimcode-0.5.4}/src/nimcode.egg-info/top_level.txt +0 -0
  30. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_agent.py +0 -0
  31. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_cli.py +0 -0
  32. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_config.py +0 -0
  33. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_lenient_parser.py +0 -0
  34. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_mcp_client.py +0 -0
  35. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_memory.py +0 -0
  36. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_model_registry.py +0 -0
  37. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_nim_client.py +0 -0
  38. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_permissions.py +0 -0
  39. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_plan_injection.py +0 -0
  40. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_plugin_manager.py +0 -0
  41. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_repl.py +0 -0
  42. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_repl_extra.py +0 -0
  43. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_repl_fixes.py +0 -0
  44. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_repl_trust.py +0 -0
  45. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_repo_map.py +0 -0
  46. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_tools.py +0 -0
  47. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_updater.py +0 -0
  48. {nimcode-0.5.2 → nimcode-0.5.4}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nimcode
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: A standalone, robust coding agent for NVIDIA NIM models.
5
5
  Home-page: https://github.com/Batunash/nimcode
6
6
  Author: Autonomous Agent
@@ -193,7 +193,13 @@ NimCode's behavior can be fully customized through `~/.nimcode/settings.json` (g
193
193
 
194
194
  ## 📋 Changelog
195
195
 
196
- ### v0.5.2 (Latest)
196
+ ### v0.5.4 (Latest)
197
+ - 🐛 **Bug Fix**: Fixed a bug where the `Read` tool would crash with a `TypeError` if an LLM provided the `offset` and `limit` arguments as strings (e.g. `'1'`) instead of integers.
198
+
199
+ ### v0.5.3
200
+ - 🧭 **Phase/Task Plan Architecture**: `/plan` mode now forces the AI to output plans with meticulous Phase -> Task -> Checklist hierarchy (inspired by Claude Code), fixing superficial plan generation.
201
+
202
+ ### v0.5.2
197
203
  - 🧠 **Autonomous Marathon Runner**: Capable of running non-stop for 5-6 hours without drifting from the main plan.
198
204
  - 🧪 **Native TestRunner**: NimCode can now run your test suites (`pytest`, `npm test`, `go test`) and self-heal its code until the tests pass.
199
205
  - 🗺️ **Semantic AST Explorer**: `GetCodeOutline` tool added for instant navigation within large files (functions/classes with line numbers) instead of reading thousands of lines.
@@ -172,7 +172,13 @@ NimCode's behavior can be fully customized through `~/.nimcode/settings.json` (g
172
172
 
173
173
  ## 📋 Changelog
174
174
 
175
- ### v0.5.2 (Latest)
175
+ ### v0.5.4 (Latest)
176
+ - 🐛 **Bug Fix**: Fixed a bug where the `Read` tool would crash with a `TypeError` if an LLM provided the `offset` and `limit` arguments as strings (e.g. `'1'`) instead of integers.
177
+
178
+ ### v0.5.3
179
+ - 🧭 **Phase/Task Plan Architecture**: `/plan` mode now forces the AI to output plans with meticulous Phase -> Task -> Checklist hierarchy (inspired by Claude Code), fixing superficial plan generation.
180
+
181
+ ### v0.5.2
176
182
  - 🧠 **Autonomous Marathon Runner**: Capable of running non-stop for 5-6 hours without drifting from the main plan.
177
183
  - 🧪 **Native TestRunner**: NimCode can now run your test suites (`pytest`, `npm test`, `go test`) and self-heal its code until the tests pass.
178
184
  - 🗺️ **Semantic AST Explorer**: `GetCodeOutline` tool added for instant navigation within large files (functions/classes with line numbers) instead of reading thousands of lines.
@@ -0,0 +1 @@
1
+ __version__ = "0.5.4"
@@ -61,16 +61,17 @@ PLANNING MODE INSTRUCTIONS:
61
61
  When in /plan mode or asked to create a plan:
62
62
  1. FIRST: Read the project structure using Glob and Read tools. Understand what already exists.
63
63
  2. SECOND: Analyze the codebase — read key files, understand the architecture, dependencies, and patterns.
64
- 3. THIRD: Write a DETAILED, ACTIONABLE plan that references actual files and code in the project.
65
- 4. Your plan must include:
66
- - Specific files to create/modify (with full paths)
67
- - Actual code snippets or pseudocode for each change
68
- - Dependencies to install
69
- - Testing strategy
70
- - Step-by-step execution order
64
+ 3. THIRD: Write an EXTREMELY DETAILED, EXHAUSTIVE, ACTIONABLE plan that references actual files and code in the project.
65
+ 4. Your plan MUST be structured into PHASES and TASKS:
66
+ - Break the project down into logical PHASES (e.g., Phase 1: Database Setup, Phase 2: Core API, Phase 3: Frontend).
67
+ - Under EACH Phase, create a massive list of highly specific TASKS.
68
+ - Under EACH Task, create a checklist of micro-steps (`- [ ]`) containing:
69
+ * Specific files to create/modify (with full paths)
70
+ * Actual code snippets, function signatures, or exact DB schemas
71
+ * Testing strategy (exact test file names and commands)
71
72
  5. NEVER write generic project management templates (stakeholders, timelines, resources).
72
73
  6. NEVER use placeholders like [Insert Date] or [Insert Dependencies].
73
- 7. A good plan is one that another developer could follow to implement the feature without asking questions.
74
+ 7. NEVER be brief. Err on the side of writing too much detail. A good plan is a complete technical specification and a giant task checklist that another developer could blindly follow to implement the feature step-by-step.
74
75
 
75
76
  CODE EXECUTION INSTRUCTIONS:
76
77
  When asked to "execute", "implement", or "build" something:
@@ -444,17 +444,17 @@ class NimcodeREPL:
444
444
  " - Write the plan directly to '.nimcode/plans/<name_timestamp>.md'.\n"
445
445
  " - Use this strict technical structure: # Title, ## Context, ## Root Cause Analysis, ## Execution Plan (file-by-file with line numbers/snippets), ## Verification.\n"
446
446
  "3. IF it is a 'From-Scratch / Major Architecture' task:\n"
447
- " - Work AUTONOMOUSLY in a loop using your file-writing tools to generate a SINGLE, EXTREMELY DETAILED master plan file (e.g. '.nimcode/plans/<name>.md').\n"
448
- " - Step A (Drafting): Write the initial outline to the file (High-level Phase names). Do NOT write code, pseudocode, or DB schemas.\n"
449
- " - Step B (Iterative Expansion): Read the file, expand ONLY Phase 1 with extremely detailed 'Tasks', 'Acceptance Criteria', and 'Implementation Guidelines'. Overwrite the file with the updated content.\n"
450
- " - Step C: Repeat Step B for Phase 2, Phase 3, etc., updating the same single file until all phases are fully detailed in Project Manager style.\n"
451
- " - Step D: After all phases are detailed, overwrite '.nimcode/active_plan.txt' with the master plan's path.\n"
447
+ " - Generate a SINGLE, EXTREMELY DETAILED master plan file (e.g. '.nimcode/plans/<name>.md').\n"
448
+ " - Structure the plan meticulously into PHASES (e.g., Phase 1: Database Setup, Phase 2: Core API).\n"
449
+ " - Under EVERY Phase, create a massive list of highly specific TASKS.\n"
450
+ " - Each Task MUST contain a checklist of micro-steps with exact file paths and logic (e.g., `- [ ] Create src/api/user.py with X, Y, Z functions`).\n"
451
+ " - Write the entire exhaustive plan into the file using your file-writing tools.\n"
452
452
  "4. General Rules:\n"
453
453
  " - STRICT FIDELITY: You MUST absolutely respect the languages, frameworks, endpoints, tables, and features mentioned in the user's project files or SDD. Do NOT default to Python/Pytest if another language is specified. Do NOT omit database tables. Do NOT generalize specific endpoints into 'REST API'.\n"
454
454
  " - BUSINESS LOGIC: Do not ignore 'non-technical' sections like Monetization, ASO, or Affiliate integrations. They MUST be included as explicit tasks.\n"
455
455
  " - Quote real names, modules, and requirements. Do not invent generic projects.\n"
456
456
  " - NEVER output a generic software-lifecycle template (Phase1: MVP / Design / Development) unless instructed. Focus on code, DB schemas, and technical choices.\n"
457
- " - After writing any plan file, overwrite '.nimcode/active_plan.txt' with the file's path."
457
+ " - After writing any plan file, ALWAYS overwrite '.nimcode/active_plan.txt' with the file's path."
458
458
  )})
459
459
  continue
460
460
  elif user_input.strip().startswith("/teleport"):
@@ -399,6 +399,12 @@ class ToolRegistry:
399
399
 
400
400
  @staticmethod
401
401
  def _execute_read(file_path: str, cwd: str, offset: int = 1, limit: int = 0) -> str:
402
+ try:
403
+ offset = max(1, int(offset))
404
+ limit = max(0, int(limit))
405
+ except ValueError:
406
+ return "Error executing Read: 'offset' and 'limit' must be integers."
407
+
402
408
  full_path = os.path.join(cwd, file_path)
403
409
  if not os.path.exists(full_path):
404
410
  raise ToolError(f"File not found: {file_path}")
@@ -417,7 +423,6 @@ class ToolRegistry:
417
423
  all_lines = f.readlines()
418
424
 
419
425
  total = len(all_lines)
420
- offset = max(1, int(offset))
421
426
 
422
427
  # No limit → whole file (and cache it).
423
428
  if limit == 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nimcode
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: A standalone, robust coding agent for NVIDIA NIM models.
5
5
  Home-page: https://github.com/Batunash/nimcode
6
6
  Author: Autonomous Agent
@@ -193,7 +193,13 @@ NimCode's behavior can be fully customized through `~/.nimcode/settings.json` (g
193
193
 
194
194
  ## 📋 Changelog
195
195
 
196
- ### v0.5.2 (Latest)
196
+ ### v0.5.4 (Latest)
197
+ - 🐛 **Bug Fix**: Fixed a bug where the `Read` tool would crash with a `TypeError` if an LLM provided the `offset` and `limit` arguments as strings (e.g. `'1'`) instead of integers.
198
+
199
+ ### v0.5.3
200
+ - 🧭 **Phase/Task Plan Architecture**: `/plan` mode now forces the AI to output plans with meticulous Phase -> Task -> Checklist hierarchy (inspired by Claude Code), fixing superficial plan generation.
201
+
202
+ ### v0.5.2
197
203
  - 🧠 **Autonomous Marathon Runner**: Capable of running non-stop for 5-6 hours without drifting from the main plan.
198
204
  - 🧪 **Native TestRunner**: NimCode can now run your test suites (`pytest`, `npm test`, `go test`) and self-heal its code until the tests pass.
199
205
  - 🗺️ **Semantic AST Explorer**: `GetCodeOutline` tool added for instant navigation within large files (functions/classes with line numbers) instead of reading thousands of lines.
@@ -1 +0,0 @@
1
- __version__ = "0.5.2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes