neuroncli 2.3.0__tar.gz → 3.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.
Files changed (31) hide show
  1. neuroncli-3.1.0/PKG-INFO +132 -0
  2. neuroncli-3.1.0/README.md +107 -0
  3. neuroncli-3.1.0/neuroncli/bin/neuron.exe +0 -0
  4. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/cli.py +43 -0
  5. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/openrouter_client.py +231 -220
  6. neuroncli-3.1.0/neuroncli/repo_map.py +212 -0
  7. neuroncli-3.1.0/neuroncli/validators.py +169 -0
  8. neuroncli-3.1.0/neuroncli.egg-info/PKG-INFO +132 -0
  9. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli.egg-info/SOURCES.txt +3 -0
  10. {neuroncli-2.3.0 → neuroncli-3.1.0}/pyproject.toml +6 -3
  11. neuroncli-2.3.0/PKG-INFO +0 -161
  12. neuroncli-2.3.0/README.md +0 -136
  13. neuroncli-2.3.0/neuroncli.egg-info/PKG-INFO +0 -161
  14. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/__init__.py +0 -0
  15. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/__main__.py +0 -0
  16. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/agent.py +0 -0
  17. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/auth.py +0 -0
  18. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/config.py +0 -0
  19. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/git_integration.py +0 -0
  20. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/ollama_client.py +0 -0
  21. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/prompts.py +0 -0
  22. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/provider.py +0 -0
  23. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/session.py +0 -0
  24. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/tools.py +0 -0
  25. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli/ui.py +0 -0
  26. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli.egg-info/dependency_links.txt +0 -0
  27. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli.egg-info/entry_points.txt +0 -0
  28. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli.egg-info/requires.txt +0 -0
  29. {neuroncli-2.3.0 → neuroncli-3.1.0}/neuroncli.egg-info/top_level.txt +0 -0
  30. {neuroncli-2.3.0 → neuroncli-3.1.0}/setup.cfg +0 -0
  31. {neuroncli-2.3.0 → neuroncli-3.1.0}/tests/test_agent.py +0 -0
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.4
2
+ Name: neuroncli
3
+ Version: 3.1.0
4
+ Summary: AI Coding Agent — Free Claude Code alternative. Native Rust binary with plan mode, shell escapes, and Azure AI + OpenRouter support.
5
+ Author-email: Rahul S <rahultech72216@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://zero-x.live
8
+ Project-URL: Repository, https://github.com/RAHUL-DevelopeRR/neuroncli
9
+ Project-URL: Issues, https://github.com/RAHUL-DevelopeRR/neuroncli/issues
10
+ Keywords: ai,coding,agent,cli,llm,claude-code,rust,code-assistant,neuron
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Topic :: Software Development
15
+ Classifier: Topic :: Software Development :: Code Generators
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Operating System :: OS Independent
22
+ Requires-Python: >=3.10
23
+ Description-Content-Type: text/markdown
24
+ Requires-Dist: requests>=2.28.0
25
+
26
+ # NeuronCLI
27
+
28
+ **Free AI Coding Agent** — Claude Code alternative. Native Rust binary with Azure AI + OpenRouter support.
29
+
30
+ > Built by [zero-x Corporation](https://zero-x.live)
31
+
32
+ ---
33
+
34
+ ## Install
35
+
36
+ ```bash
37
+ # Windows / macOS / Cloud VMs
38
+ pip install neuroncli
39
+
40
+ # Debian / Ubuntu (Python 3.11+)
41
+ pip install neuroncli --break-system-packages
42
+
43
+ # Or use pipx (recommended for Debian)
44
+ pipx install neuroncli
45
+ ```
46
+
47
+ > **v3.0.0** ships a native Rust binary (14MB) for maximum performance.
48
+ > On systems without the binary, the Python implementation runs as fallback.
49
+
50
+ ## Quick Start
51
+
52
+ ```bash
53
+ # Start interactive REPL
54
+ neuron
55
+
56
+ # One-shot task
57
+ neuron "fix the bug in main.py"
58
+
59
+ # Plan mode — architecture first, execute later
60
+ neuron --plan "add authentication to this API"
61
+
62
+ # YOLO mode — no permission prompts
63
+ neuron --yolo "refactor src/ to use async"
64
+ ```
65
+
66
+ ## Zero Setup — First Run
67
+
68
+ 1. Type `neuron` in any project directory
69
+ 2. Browser opens to **OpenRouter** login (free account)
70
+ 3. API key auto-provisioned + encrypted in `~/.neuroncli/vault.enc`
71
+ 4. **Done.** No manual config, no copy-paste.
72
+
73
+ ## Features
74
+
75
+ | Feature | Description |
76
+ |---------|-------------|
77
+ | **Native Rust Binary** | 14MB single binary, instant startup |
78
+ | **Plan Mode** | `/plan` generates architecture plans, `/plan off` to execute |
79
+ | **? Shortcuts Panel** | Press `?` for Claude Code-style two-column cheatsheet |
80
+ | **Shell Escape** | `!git status`, `!ls` — run commands without burning tokens |
81
+ | **Dynamic Prompt** | Shows current mode: `>`, `[plan] >`, `[edit] >`, `[auto] >` |
82
+ | **Azure AI Foundry** | GPT-5.5 primary (44K tokens/day free quota) |
83
+ | **OpenRouter Fallback** | Free-tier model when Azure quota is exhausted |
84
+ | **Directory Trust** | Interactive security prompt on first use per directory |
85
+ | **Session Persistence** | Resume previous conversations with `/resume` |
86
+ | **Git Auto-Commit** | Every AI edit is auto-committed |
87
+ | **Context Compression** | `/compact` prevents context bloat |
88
+ | **NEURON.md** | Project context file (like Claude's CLAUDE.md) |
89
+
90
+ ## Shortcuts (press `?` in REPL)
91
+
92
+ | Key | Action | Key | Action |
93
+ |-----|--------|-----|--------|
94
+ | `?` | Shortcuts panel | `/help` | Full command list |
95
+ | `!cmd` | Shell command | `/plan` | Toggle plan mode |
96
+ | `Up/Down` | History | `/compact` | Compress context |
97
+ | `Ctrl+C` | Cancel | `/clear` | Reset session |
98
+ | `Ctrl+D` | Exit | `/model` | Switch model |
99
+
100
+ ## Plan Mode
101
+
102
+ ```
103
+ > /plan ← Enter plan mode
104
+ [plan] > add user authentication ← Agent generates architecture plan
105
+ [plan] > /plan off ← Exit plan mode
106
+ > execute the plan ← Agent implements with full access
107
+ ```
108
+
109
+ ## CLI Flags
110
+
111
+ | Flag | Description |
112
+ |------|-------------|
113
+ | `--yolo` | Skip all permission prompts |
114
+ | `--plan` | Plan mode — reason before coding |
115
+ | `--model`, `-m` | Model to use |
116
+ | `--provider`, `-p` | `openrouter` or `ollama` |
117
+ | `--dir`, `-d` | Working directory |
118
+ | `--no-stream` | Disable token streaming |
119
+
120
+ ## Requirements
121
+
122
+ - **Windows:** Works out of the box (native Rust binary)
123
+ - **Linux/macOS:** Python 3.10+ (Python fallback), or install Rust binary separately
124
+ - Internet connection for Azure AI / OpenRouter
125
+
126
+ ## License
127
+
128
+ MIT — free to use, modify, and distribute commercially.
129
+
130
+ ---
131
+
132
+ *By [zero-x Corporation](https://zero-x.live) — Tamil Nadu, India*
@@ -0,0 +1,107 @@
1
+ # NeuronCLI
2
+
3
+ **Free AI Coding Agent** — Claude Code alternative. Native Rust binary with Azure AI + OpenRouter support.
4
+
5
+ > Built by [zero-x Corporation](https://zero-x.live)
6
+
7
+ ---
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ # Windows / macOS / Cloud VMs
13
+ pip install neuroncli
14
+
15
+ # Debian / Ubuntu (Python 3.11+)
16
+ pip install neuroncli --break-system-packages
17
+
18
+ # Or use pipx (recommended for Debian)
19
+ pipx install neuroncli
20
+ ```
21
+
22
+ > **v3.0.0** ships a native Rust binary (14MB) for maximum performance.
23
+ > On systems without the binary, the Python implementation runs as fallback.
24
+
25
+ ## Quick Start
26
+
27
+ ```bash
28
+ # Start interactive REPL
29
+ neuron
30
+
31
+ # One-shot task
32
+ neuron "fix the bug in main.py"
33
+
34
+ # Plan mode — architecture first, execute later
35
+ neuron --plan "add authentication to this API"
36
+
37
+ # YOLO mode — no permission prompts
38
+ neuron --yolo "refactor src/ to use async"
39
+ ```
40
+
41
+ ## Zero Setup — First Run
42
+
43
+ 1. Type `neuron` in any project directory
44
+ 2. Browser opens to **OpenRouter** login (free account)
45
+ 3. API key auto-provisioned + encrypted in `~/.neuroncli/vault.enc`
46
+ 4. **Done.** No manual config, no copy-paste.
47
+
48
+ ## Features
49
+
50
+ | Feature | Description |
51
+ |---------|-------------|
52
+ | **Native Rust Binary** | 14MB single binary, instant startup |
53
+ | **Plan Mode** | `/plan` generates architecture plans, `/plan off` to execute |
54
+ | **? Shortcuts Panel** | Press `?` for Claude Code-style two-column cheatsheet |
55
+ | **Shell Escape** | `!git status`, `!ls` — run commands without burning tokens |
56
+ | **Dynamic Prompt** | Shows current mode: `>`, `[plan] >`, `[edit] >`, `[auto] >` |
57
+ | **Azure AI Foundry** | GPT-5.5 primary (44K tokens/day free quota) |
58
+ | **OpenRouter Fallback** | Free-tier model when Azure quota is exhausted |
59
+ | **Directory Trust** | Interactive security prompt on first use per directory |
60
+ | **Session Persistence** | Resume previous conversations with `/resume` |
61
+ | **Git Auto-Commit** | Every AI edit is auto-committed |
62
+ | **Context Compression** | `/compact` prevents context bloat |
63
+ | **NEURON.md** | Project context file (like Claude's CLAUDE.md) |
64
+
65
+ ## Shortcuts (press `?` in REPL)
66
+
67
+ | Key | Action | Key | Action |
68
+ |-----|--------|-----|--------|
69
+ | `?` | Shortcuts panel | `/help` | Full command list |
70
+ | `!cmd` | Shell command | `/plan` | Toggle plan mode |
71
+ | `Up/Down` | History | `/compact` | Compress context |
72
+ | `Ctrl+C` | Cancel | `/clear` | Reset session |
73
+ | `Ctrl+D` | Exit | `/model` | Switch model |
74
+
75
+ ## Plan Mode
76
+
77
+ ```
78
+ > /plan ← Enter plan mode
79
+ [plan] > add user authentication ← Agent generates architecture plan
80
+ [plan] > /plan off ← Exit plan mode
81
+ > execute the plan ← Agent implements with full access
82
+ ```
83
+
84
+ ## CLI Flags
85
+
86
+ | Flag | Description |
87
+ |------|-------------|
88
+ | `--yolo` | Skip all permission prompts |
89
+ | `--plan` | Plan mode — reason before coding |
90
+ | `--model`, `-m` | Model to use |
91
+ | `--provider`, `-p` | `openrouter` or `ollama` |
92
+ | `--dir`, `-d` | Working directory |
93
+ | `--no-stream` | Disable token streaming |
94
+
95
+ ## Requirements
96
+
97
+ - **Windows:** Works out of the box (native Rust binary)
98
+ - **Linux/macOS:** Python 3.10+ (Python fallback), or install Rust binary separately
99
+ - Internet connection for Azure AI / OpenRouter
100
+
101
+ ## License
102
+
103
+ MIT — free to use, modify, and distribute commercially.
104
+
105
+ ---
106
+
107
+ *By [zero-x Corporation](https://zero-x.live) — Tamil Nadu, India*
Binary file
@@ -353,6 +353,19 @@ def main(argv: list[str] | None = None) -> int:
353
353
  except Exception:
354
354
  pass
355
355
 
356
+ # ── Try native Rust binary first ─────────────────────────
357
+
358
+ native = _find_native_binary()
359
+ if native:
360
+ import subprocess
361
+ args_list = argv if argv is not None else sys.argv[1:]
362
+ try:
363
+ result = subprocess.run([native] + args_list)
364
+ return result.returncode
365
+ except (OSError, FileNotFoundError):
366
+ pass # Fall through to Python implementation
367
+
368
+ # ── Python fallback ──────────────────────────────────────
356
369
  parser = build_parser()
357
370
  args = parser.parse_args(argv)
358
371
 
@@ -405,5 +418,35 @@ def main(argv: list[str] | None = None) -> int:
405
418
  return 0
406
419
 
407
420
 
421
+ def _find_native_binary() -> str | None:
422
+ """Locate the native Rust binary — bundled in package or in PATH."""
423
+ import shutil
424
+
425
+ # Check bundled binary in package
426
+ pkg_dir = os.path.dirname(os.path.abspath(__file__))
427
+ ext = ".exe" if sys.platform == "win32" else ""
428
+ bundled = os.path.join(pkg_dir, "bin", f"neuron{ext}")
429
+ if os.path.isfile(bundled) and os.access(bundled, os.X_OK):
430
+ return bundled
431
+
432
+ # Check PATH (but not ourselves — avoid infinite recursion)
433
+ path_binary = shutil.which(f"neuron{ext}")
434
+ if path_binary:
435
+ # Verify it's the Rust binary by checking --version output
436
+ import subprocess
437
+ try:
438
+ result = subprocess.run(
439
+ [path_binary, "--version"],
440
+ capture_output=True, text=True, timeout=3
441
+ )
442
+ if "NeuronCLI" in result.stdout:
443
+ return path_binary
444
+ except (OSError, subprocess.TimeoutExpired):
445
+ pass
446
+
447
+ return None
448
+
449
+
408
450
  if __name__ == "__main__":
409
451
  raise SystemExit(main())
452
+