karnel-termux 4.17.6 → 4.17.8

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.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://github.com/israelmarques1024-dotcom/karnel-termux">
11
- <img src="https://img.shields.io/badge/version-4.17.6-0078D4?style=for-the-badge" alt="Version">
11
+ <img src="https://img.shields.io/badge/version-4.17.8-0078D4?style=for-the-badge" alt="Version">
12
12
  </a>
13
13
  <a href="https://www.npmjs.com/package/karnel-termux">
14
14
  <img src="https://img.shields.io/npm/v/karnel-termux?style=for-the-badge&logo=npm&color=cb3837" alt="npm">
@@ -25,9 +25,6 @@
25
25
  <a href="https://karneltermux.vercel.app">
26
26
  <img src="https://img.shields.io/badge/Site-karneltermux.vercel.app-0078D4?style=for-the-badge" alt="Website">
27
27
  </a>
28
- <a href="https://www.youtube.com/@capideb">
29
- <img src="https://img.shields.io/badge/YouTube-Capi.deb-FF0000?style=for-the-badge&logo=youtube&logoColor=white" alt="YouTube — Capi.deb">
30
- </a>
31
28
  </p>
32
29
 
33
30
  ---
@@ -38,7 +35,7 @@ Created by **Israel Marques**.
38
35
 
39
36
  Core agent contributions by **devcorex**.
40
37
 
41
- - **43 AI tools** — Claude, Gemini, OpenCode, Cactus, Hugging Face, Ollama, KeelCode, Goose, Factory Droid and more
38
+ - **45 AI tools** — Claude, Gemini, OpenCode, Cactus, Hugging Face, Ollama, KeelCode, Goose, Factory Droid and more
42
39
  - **8 languages** — Node.js, Python, Go, Rust, C/C++, PHP, Perl, Bun
43
40
  - **5 databases** — PostgreSQL, MariaDB, SQLite, MongoDB, Redis
44
41
  - **22 dev tools** — gh, curl, fzf, bat, lsd, jq, tmux, openssh, snyk and more
@@ -64,7 +61,7 @@ Core agent contributions by **devcorex**.
64
61
  ### Via checksummed GitHub release (recommended)
65
62
 
66
63
  ```bash
67
- version=4.17.6
64
+ version=4.17.8
68
65
  tmpdir=$(mktemp -d) && trap 'rm -rf "$tmpdir"' EXIT
69
66
  base="https://github.com/israelmarques1024-dotcom/karnel-termux/releases/download/v$version"
70
67
  curl -fsSL "$base/karnel-termux-install.sh" -o "$tmpdir/karnel-termux-install.sh"
@@ -115,6 +112,7 @@ aliases, or options; use `karnel help` and the CLI reference for the full set.
115
112
  | `karnel brain` | Second brain — memories and search |
116
113
  | `karnel env` | Manage environment variables |
117
114
  | `karnel voice` | Voice commands for AI agents |
115
+ | `karnel agent` | Local AI assistant — chat (`ask`) and task agent (`run`) |
118
116
  | `karnel start editor` | Start code-server (VS Code in browser) |
119
117
  | `karnel pg` | PostgreSQL manager |
120
118
  | `karnel init <template>` | Initialize projects with templates |
@@ -129,7 +127,7 @@ aliases, or options; use `karnel help` and the CLI reference for the full set.
129
127
  |--------|-------------|--------------|
130
128
  | `lang` | Node.js, Python, Go, Rust, C/C++, PHP, Perl, Bun | `karnel install lang` |
131
129
  | `db` | PostgreSQL, MariaDB, SQLite, MongoDB, Redis | `karnel install db` |
132
- | `ai` | 43 AI tools, agents, and local inference clients | `karnel install ai` |
130
+ | `ai` | 45 AI tools, agents, and local inference clients | `karnel install ai` |
133
131
  | `editor` | code-server (VS Code in browser), Neovim, NvChad | `karnel install editor` |
134
132
  | `dev` | gh, curl, fzf, bat, lsd, jq and more | `karnel install dev` |
135
133
  | `npm` | TypeScript, NestJS CLI, Prettier and more | `karnel install npm` |
@@ -273,7 +271,7 @@ See the bundled reference with `karnel show osint --robin`.
273
271
 
274
272
  ---
275
273
 
276
- ## AI Tools (43)
274
+ ## AI Tools (45)
277
275
 
278
276
  ```bash
279
277
  karnel install ai # Install all
@@ -328,7 +326,9 @@ karnel install ai --opencode --ollama # Install specific agents
328
326
  | **Supercode CLI** | `--supercode-cli` | Supercode CLI — official npm package |
329
327
  | **Puter CLI** | `--puter` | Puter CLI for sites and workers |
330
328
  | **KeelCode** | `--keelcode` | Hosted coding-agent CLI |
331
-
329
+ | **Cactus Needle** | `--cactus-needle` | Lightweight Cactus inference helper |
330
+ | **Walkie Agent** | `--walkie` | Voice-first Walkie AI agent |
331
+
332
332
  </details>
333
333
 
334
334
  ---
@@ -357,7 +357,7 @@ definitions across 68 distinct tool labels. It detects subprojects, executes
357
357
  checks in the matching project or subproject directory, preserves command exit status, and writes
358
358
  timestamped text reports under `$KARNEL_DATA/doctor_code_reports/`.
359
359
 
360
- Read the **[complete Doctor reference](docs/doctor/README.md)** for modes,
360
+ Read the **[complete Doctor reference](docs/doctor/index.md)** for modes,
361
361
  supported ecosystems, tool coverage, JSON schema, reports, and auto-fix safety.
362
362
 
363
363
  ---
@@ -513,11 +513,11 @@ Documentation loads from https://karneltermux.vercel.app.
513
513
 
514
514
  ## Documentation
515
515
 
516
- - [Documentation index](docs/README.md)
517
- - [CLI reference](docs/cli/README.md)
518
- - [Doctor reference](docs/doctor/README.md)
519
- - [Troubleshooting](docs/troubleshooting.md)
520
- - [Architecture](docs/ARCHITECTURE.md)
516
+ - [Documentation index](docs/index.md)
517
+ - [CLI reference](docs/cli/index.md)
518
+ - [Doctor reference](docs/doctor/index.md)
519
+ - [Troubleshooting](docs/troubleshooting/index.md)
520
+ - [Architecture](docs/ARCHITECTURE/index.md)
521
521
  - [Documentation changelog](docs/CHANGELOG.md)
522
522
  - [Official website](https://karneltermux.vercel.app)
523
523
 
@@ -564,7 +564,7 @@ karnel/
564
564
  │ │ └── karnel.sh # Main CLI (with TUI)
565
565
  │ ├── modules/ # Module orchestrators
566
566
  │ ├── tools/ # Tool installers
567
- │ │ ├── ai/ # 43 AI tools
567
+ │ │ ├── ai/ # 45 AI tools
568
568
  │ │ ├── lang/ # 8 languages
569
569
  │ │ ├── db/ # 5 databases
570
570
  │ │ ├── dev/ # 22 dev tools
@@ -27,7 +27,7 @@ karnel-termux/
27
27
  │ │ ├── dev.sh # Dev tools installer
28
28
  │ │ └── ...
29
29
  │ ├── tools/ # Individual tool installers
30
- │ │ ├── ai/ # 43 AI tools
30
+ │ │ ├── ai/ # 45 AI tools
31
31
  │ │ ├── lang/ # 8 languages
32
32
  │ │ ├── db/ # 5 databases
33
33
  │ │ ├── dev/ # 22 dev tools
@@ -139,4 +139,4 @@ _tool_postinstall() { ... } # Post-installation setup
139
139
 
140
140
  ## Doctor Subsystem Architecture
141
141
 
142
- See [Doctor System](./doctor/) for the complete breakdown of the doctor code analysis engine.
142
+ See [Doctor System](../doctor/) for the complete breakdown of the doctor code analysis engine.
package/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Documentation Changelog
2
2
 
3
+ ## 4.17.7
4
+
5
+ - Documentation site overhauled: valid `_config.yml`, cayman-compatible custom
6
+ stylesheet that imports the full theme, a workflow that builds Jekyll before
7
+ deploying to GitHub Pages, and tool counts reconciled with the actual
8
+ `karnel/tools/*` and `karnel/tools/ai/*` directories (45 AI tools, 3 editors,
9
+ 8 languages, 5 databases, 22 dev tools, 11 npm packages, 10 shell plugins,
10
+ 4 UI components, 4 deploy CLIs, 6 games, 2 network tools, 12 utility tools,
11
+ 30 security tools, 1 automation tool).
12
+
3
13
  ## 4.16.1 - 2026-08-22
4
14
 
5
15
  - `karnel agent ask/run`: when the model endpoint is unreachable and Cactus is
package/docs/_config.yml CHANGED
@@ -1,7 +1,15 @@
1
1
  title: Karnel Termux
2
- description: Modular Dev Environment for Termux — install languages, databases, AI agents, editors, and more with one command.
2
+ description: >-
3
+ Modular Dev Environment for Termux — install languages, databases, AI agents,
4
+ editors, and more with one command.
5
+ author: Israel Marques
6
+ lang: en-US
3
7
  theme: jekyll-theme-cayman
4
8
  markdown: kramdown
9
+ logo: /assets/images/karnel-logo.png
10
+ custom_css: /assets/css/style.css
11
+ baseurl: /karnel-termux
12
+ show_downloads: false
5
13
  exclude:
6
14
  - vendor
7
15
  - Gemfile
@@ -0,0 +1,237 @@
1
+ ---
2
+ ---
3
+
4
+ @import "jekyll-theme-cayman";
5
+
6
+ /* Karnel Termux — custom styling layered on top of jekyll-theme-cayman */
7
+
8
+ :root {
9
+ --karnel-bg: #0d1117;
10
+ --karnel-panel: #161b22;
11
+ --karnel-border: #30363d;
12
+ --karnel-accent: #2f81f7;
13
+ --karnel-accent-2: #0078d4;
14
+ --karnel-text: #c9d1d9;
15
+ --karnel-muted: #8b949e;
16
+ --karnel-code-bg: #161b22;
17
+ }
18
+
19
+ html {
20
+ scroll-behavior: smooth;
21
+ }
22
+
23
+ body {
24
+ font-size: 16px;
25
+ line-height: 1.6;
26
+ color: #24292f;
27
+ }
28
+
29
+ /* Logo (added in page content; cayman's default.html does not render site.logo) */
30
+ .karnel-logo {
31
+ display: block;
32
+ margin: 0 auto 1.25rem;
33
+ max-width: 220px;
34
+ height: auto;
35
+ border-radius: 14px;
36
+ box-shadow: 0 6px 22px rgba(0, 0, 0, 0.18);
37
+ }
38
+
39
+ @media (prefers-color-scheme: dark) {
40
+ body {
41
+ background: var(--karnel-bg);
42
+ color: var(--karnel-text);
43
+ }
44
+ .page-header {
45
+ background-image: linear-gradient(120deg, #0078d4, #2f81f7);
46
+ }
47
+ .main-content h1,
48
+ .main-content h2,
49
+ .main-content h3,
50
+ .main-content h4 {
51
+ color: #e6edf3;
52
+ border-bottom-color: var(--karnel-border);
53
+ }
54
+ .main-content a {
55
+ color: var(--karnel-accent);
56
+ }
57
+ .main-content code {
58
+ color: #e6edf3;
59
+ }
60
+ }
61
+
62
+ .page-header {
63
+ padding: 2.5rem 1rem;
64
+ }
65
+
66
+ .page-header .project-tagline {
67
+ opacity: 0.95;
68
+ font-size: 1.1rem;
69
+ }
70
+
71
+ /* Landing navigation */
72
+ .karnel-nav {
73
+ display: flex;
74
+ flex-wrap: wrap;
75
+ gap: 0.6rem;
76
+ margin: 1.5rem 0 2rem;
77
+ padding: 0;
78
+ list-style: none;
79
+ }
80
+
81
+ .karnel-nav li {
82
+ margin: 0;
83
+ }
84
+
85
+ .karnel-nav a {
86
+ display: inline-block;
87
+ padding: 0.5rem 1rem;
88
+ border: 1px solid var(--karnel-accent-2, #0078d4);
89
+ border-radius: 999px;
90
+ text-decoration: none;
91
+ font-weight: 600;
92
+ font-size: 0.92rem;
93
+ color: #fff;
94
+ background: rgba(0, 120, 212, 0.12);
95
+ transition: background 0.15s ease, transform 0.15s ease;
96
+ }
97
+
98
+ .karnel-nav a:hover {
99
+ background: rgba(0, 120, 212, 0.28);
100
+ transform: translateY(-1px);
101
+ }
102
+
103
+ @media (prefers-color-scheme: dark) {
104
+ .karnel-nav a {
105
+ color: #c9d1d9;
106
+ border-color: var(--karnel-border);
107
+ }
108
+ }
109
+
110
+ /* Tables */
111
+ .main-content table {
112
+ display: table;
113
+ width: 100%;
114
+ border-collapse: collapse;
115
+ font-size: 0.95rem;
116
+ margin: 1.5rem 0;
117
+ }
118
+
119
+ .main-content th,
120
+ .main-content td {
121
+ border: 1px solid var(--karnel-border, #d0d7de);
122
+ padding: 0.55rem 0.75rem;
123
+ text-align: left;
124
+ }
125
+
126
+ .main-content thead th {
127
+ background: #f3f5f8;
128
+ font-weight: 700;
129
+ }
130
+
131
+ @media (prefers-color-scheme: dark) {
132
+ .main-content th,
133
+ .main-content td {
134
+ border-color: var(--karnel-border);
135
+ }
136
+ .main-content thead th {
137
+ background: var(--karnel-panel);
138
+ color: #e6edf3;
139
+ }
140
+ .main-content tbody tr:nth-child(2n) {
141
+ background: rgba(255, 255, 255, 0.03);
142
+ }
143
+ }
144
+
145
+ /* Code blocks */
146
+ .main-content pre {
147
+ border-radius: 8px;
148
+ padding: 1rem 1.1rem;
149
+ font-size: 0.9rem;
150
+ line-height: 1.5;
151
+ overflow: auto;
152
+ }
153
+
154
+ .main-content code {
155
+ font-size: 0.88em;
156
+ }
157
+
158
+ /* Inline code should not be wrapped in its own block styling */
159
+ .main-content p code,
160
+ .main-content li code,
161
+ .main-content td code {
162
+ background: rgba(120, 120, 120, 0.12);
163
+ padding: 0.12em 0.4em;
164
+ border-radius: 4px;
165
+ }
166
+
167
+ /* Blockquotes */
168
+ .main-content blockquote {
169
+ border-left: 4px solid var(--karnel-accent-2, #0078d4);
170
+ background: rgba(0, 120, 212, 0.06);
171
+ padding: 0.75rem 1rem;
172
+ color: inherit;
173
+ border-radius: 0 6px 6px 0;
174
+ }
175
+
176
+ /* Admonition callouts */
177
+ .karnel-note {
178
+ border: 1px solid var(--karnel-accent-2, #0078d4);
179
+ border-left-width: 4px;
180
+ border-radius: 8px;
181
+ padding: 0.75rem 1rem;
182
+ margin: 1.25rem 0;
183
+ background: rgba(0, 120, 212, 0.06);
184
+ }
185
+
186
+ /* Section spacing */
187
+ .main-content h2 {
188
+ margin-top: 2.5rem;
189
+ padding-bottom: 0.4rem;
190
+ border-bottom: 1px solid #e1e4e8;
191
+ }
192
+
193
+ .main-content h3 {
194
+ margin-top: 1.75rem;
195
+ }
196
+
197
+ /* Lists of links on the index page */
198
+ .karnel-links {
199
+ display: grid;
200
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
201
+ gap: 0.75rem;
202
+ margin: 1.5rem 0;
203
+ padding: 0;
204
+ list-style: none;
205
+ }
206
+
207
+ .karnel-links a {
208
+ display: block;
209
+ padding: 0.9rem 1rem;
210
+ border: 1px solid #d0d7de;
211
+ border-radius: 10px;
212
+ text-decoration: none;
213
+ font-weight: 600;
214
+ color: #24292f;
215
+ background: #fff;
216
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
217
+ }
218
+
219
+ .karnel-links a:hover {
220
+ border-color: var(--karnel-accent-2, #0078d4);
221
+ box-shadow: 0 2px 10px rgba(0, 120, 212, 0.15);
222
+ }
223
+
224
+ @media (prefers-color-scheme: dark) {
225
+ .karnel-links a {
226
+ background: var(--karnel-panel);
227
+ border-color: var(--karnel-border);
228
+ color: #e6edf3;
229
+ }
230
+ }
231
+
232
+ /* Footer credit spacing */
233
+ .site-footer {
234
+ margin-top: 2.5rem;
235
+ border-top: 1px solid #e1e4e8;
236
+ padding-top: 1rem;
237
+ }
package/docs/cli/index.md CHANGED
@@ -23,7 +23,7 @@ karnel install <module> --tool1 --tool2 # Install specific tools only
23
23
  |-----------|-------------|
24
24
  | `lang` | Node.js, Python, Go, Rust, C/C++, PHP, Perl, Bun |
25
25
  | `db` | PostgreSQL, MariaDB, SQLite, MongoDB, Redis |
26
- | `ai` | 43 AI tools (OpenCode, Cactus, Hugging Face, Claude Code, KeelCode, Goose, Factory Droid, Ollama, etc.) |
26
+ | `ai` | 45 AI tools (OpenCode, Cactus, Hugging Face, Claude Code, KeelCode, Goose, Factory Droid, Ollama, etc.) |
27
27
  | `editor` | code-server (VS Code in browser), Neovim, NvChad |
28
28
  | `dev` | gh, curl, fzf, bat, lsd, jq, tmux, openssh, snyk (22 tools) |
29
29
  | `npm` | TypeScript, NestJS CLI, Prettier, Vercel CLI, etc. |
@@ -43,7 +43,7 @@ karnel install <module> --tool1 --tool2 # Install specific tools only
43
43
 
44
44
  | Module | Flags |
45
45
  |-----------|-------|
46
- | `ai` | `--qwen-code`, `--gemini-cli`, `--claude-code`, `--mistral-vibe`, `--openclaude`, `--openclaw`, `--ollama`, `--codex`, `--opencode`, `--mimocode`, `--engram`, `--codegraph`, `--pi`, `--antigravity-cli`, `--minimax-cli`, `--gentle-ai`, `--gga`, `--hermes-agent`, `--kimi-code`, `--command-code`, `--codebuff`, `--freebuff`, `--kilocode-cli`, `--kiro`, `--crush`, `--cline`, `--odysseus`, `--kimchi-code`, `--omni-route`, `--ctx7`, `--openspec`, `--supercode-cli`, `--puter`, `--keelcode`, `--copilot-termux`, `--qoder`, `--ampcode`, `--cursor-cli`, `--oh-my-pi`, `--goose`, `--droid`, `--cactus`, `--hugging-face` |
46
+ | `ai` | `--qwen-code`, `--gemini-cli`, `--claude-code`, `--mistral-vibe`, `--openclaude`, `--openclaw`, `--ollama`, `--codex`, `--opencode`, `--mimocode`, `--engram`, `--codegraph`, `--pi`, `--antigravity-cli`, `--minimax-cli`, `--gentle-ai`, `--gga`, `--hermes-agent`, `--kimi-code`, `--command-code`, `--codebuff`, `--freebuff`, `--kilocode-cli`, `--kiro`, `--crush`, `--cline`, `--odysseus`, `--kimchi-code`, `--omni-route`, `--ctx7`, `--openspec`, `--supercode-cli`, `--puter`, `--keelcode`, `--copilot-termux`, `--qoder`, `--ampcode`, `--cursor-cli`, `--oh-my-pi`, `--goose`, `--droid`, `--cactus`, `--cactus-needle`, `--walkie`, `--hugging-face` |
47
47
  | `db` | `--postgresql`, `--mariadb`, `--sqlite`, `--mongodb`, `--redis` |
48
48
  | `dev` | `--gh`, `--wget`, `--curl`, `--lsd`, `--bat`, `--proot`, `--ncurses`, `--tmate`, `--openssh`, `--tmux`, `--cloudflared`, `--translate`, `--html2text`, `--jq`, `--bc`, `--tree`, `--fzf`, `--imagemagick`, `--shfmt`, `--make`, `--udocker`, `--snyk` |
49
49
  | `lang` | `--bun`, `--nodejs`, `--python`, `--perl`, `--php`, `--rust`, `--clang`, `--golang` |
@@ -136,7 +136,7 @@ binary/command name, and current install status.
136
136
  |-----------|-------|
137
137
  | `lang` | 8 languages |
138
138
  | `db` | 5 databases |
139
- | `ai` | 43 AI tools |
139
+ | `ai` | 45 AI tools |
140
140
  | `editor` | 3 editor components |
141
141
  | `dev` | 22 development tools |
142
142
  | `npm` | 11 npm global modules |
@@ -340,7 +340,7 @@ karnel robin doctor --network
340
340
  karnel robin purge-data --yes
341
341
  ```
342
342
 
343
- See the [Robin reference](../../karnel/tools/osint/robin/README.md) for detailed
343
+ See the [Robin reference](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/osint/robin/README.md) for detailed
344
344
  lifecycle, data locations, and troubleshooting.
345
345
 
346
346
  ---
@@ -512,6 +512,45 @@ karnel ia routes
512
512
 
513
513
  ---
514
514
 
515
+ ## agent — Local AI assistant
516
+
517
+ ```bash
518
+ karnel agent <ask|run|config> [options]
519
+ ```
520
+
521
+ | Subcommand | Description |
522
+ |------------|-------------|
523
+ | `ask` | Streamed AI chat assistant (markdown TUI). With no prompt, opens an interactive chat. |
524
+ | `run` | Task agent: the LLM answers in a plan/build/execute loop and can run shell commands. |
525
+ | `config` | Show or set the assistant configuration. |
526
+
527
+ ### Options (ask / run)
528
+
529
+ | Flag | Description |
530
+ |------|-------------|
531
+ | `-p`, `--prompt <text>` | Task or question (omit for interactive mode) |
532
+ | `-m`, `--model <name>` | Model id (default from config) |
533
+ | `-u`, `--endpoint <url>` | OpenAI-compatible endpoint (default from config) |
534
+ | `-t`, `--temperature <n>` | Sampling temperature |
535
+ | `--max-tokens <n>` | Maximum output tokens |
536
+ | `-n`, `--max-iterations <n>` | Agent loop iteration limit (`run`) |
537
+ | `-y`, `--yes` | Auto-approve commands, skip the y/N prompt (`run`) |
538
+ | `-w`, `--workspace <dir>` | Working directory for the task agent (`run`) |
539
+
540
+ ```bash
541
+ karnel agent ask -p "Explain rsync"
542
+ karnel agent ask # interactive chat
543
+ karnel agent run -p "create a backup script"
544
+ karnel agent run -p "..." -m gemma-4-e2b-it-cq4 -u http://127.0.0.1:8000/v1
545
+ karnel agent config # show current settings
546
+ karnel agent config model gpt-4o # set the default model id
547
+ ```
548
+
549
+ `karnel agent ask` connects to the configured OpenAI-compatible endpoint; if it is
550
+ unreachable and Cactus is not installed, it offers to install Cactus on the spot.
551
+
552
+ ---
553
+
515
554
  ## init — Project configuration
516
555
 
517
556
  ```bash
package/docs/index.md CHANGED
@@ -1,38 +1,45 @@
1
1
  # Karnel Termux Documentation
2
2
 
3
+ <img class="karnel-logo" src="{{ '/assets/images/karnel-logo.png' | relative_url }}" alt="Karnel Termux">
4
+
3
5
  > Modular Dev Environment for Termux — install languages, databases, AI agents, editors, and more with one command
4
6
 
5
- ## Quick Links
7
+ Navigate the docs:
6
8
 
7
- - [CLI Commands](./cli/) — All `karnel` subcommands
8
- - [Doctor System](./doctor/) — Environment diagnosis and code analysis
9
- - [Troubleshooting](./troubleshooting/) — Common issues and fixes
10
- - [Architecture Overview](./ARCHITECTURE/)
11
- - [Bug Fixes & Changelog](./CHANGELOG.md)
12
- - [Published Documentation Site](https://israelmarques1024-dotcom.github.io/karnel-termux/)
9
+ <ul class="karnel-nav">
10
+ <li><a href="./cli/">CLI Commands</a></li>
11
+ <li><a href="./doctor/">Doctor System</a></li>
12
+ <li><a href="./troubleshooting/">Troubleshooting</a></li>
13
+ <li><a href="./ARCHITECTURE/">Architecture</a></li>
14
+ <li><a href="./CHANGELOG.md">Changelog</a></li>
15
+ <li><a href="https://israelmarques1024-dotcom.github.io/karnel-termux/">Live Site</a></li>
16
+ </ul>
13
17
 
14
18
  ## What is Karnel?
15
19
 
16
20
  Karnel Termux transforms your Android device into a complete development workstation.
17
- With a single CLI (`karnel`), you can install and manage 43 AI tools, 8 languages,
18
- 5 databases, 22 dev tools, 11 npm packages, 10 shell plugins, 4 UI components,
19
- 4 deploy CLIs, 6 games, 2 network tools, 12 utility tools, 30 security tools,
20
- responsible OSINT, a second brain, voice commands, and reviewed plugins — all
21
- from modules: `ai`, `auto`, `db`, `deploy`, `dev`, `editor`, `games`, `lang`,
22
- `network`, `npm`, `osint`, `security`, `shell`, `ui`, `utils`, `voice`, `plugin`.
21
+ With a single CLI (`karnel`), you can install and manage 45 AI tools, 3 editors,
22
+ 8 languages, 5 databases, 22 dev tools, 11 npm packages, 10 shell plugins,
23
+ 4 UI components, 4 deploy CLIs, 6 games, 2 network tools, 12 utility tools,
24
+ 30 security tools, 1 automation tool, responsible OSINT, a second brain,
25
+ voice commands, and reviewed plugins — all from modules: `ai`, `auto`, `db`,
26
+ `deploy`, `dev`, `editor`, `games`, `lang`, `network`, `npm`, `osint`,
27
+ `security`, `shell`, `ui`, `utils`, `voice`, `plugin`.
23
28
 
24
29
  ## Sections
25
30
 
26
- - **[CLI Commands](./cli/)** — Full reference for every `karnel` subcommand
27
- - **[Doctor System](./doctor/)**How `karnel doctor` works, code analysis engine, environment checks
28
- - **[Robin OSINT](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/osint/robin/README.md)**Responsible use, lifecycle, data locations, and troubleshooting
29
- - **[Network Tools](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/network/dark/README.md)**dark, dedsec-network
30
- - **[KeelCode](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/ai/keelcode/README.md)**Hosted coding-agent CLI: `karnel install ai --keelcode`
31
- - **[SuperFile](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/utils/superfile/README.md)**Terminal file manager: `karnel install utils --superfile`
32
- - **[Utility Scripts](https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/utils/fconv/README.md)**fconv, notes, treex, SuperFile, passman, applaunch, splash, httptmux, zork, qrcode and more
33
- - **[Supabase CLI](./cli/#supabase--remote-project-helpers)**`karnel supabase` remote-project helpers
34
- - **[Architecture](./ARCHITECTURE/)**Project structure, module system, import mechanism
35
- - **[Changelog](./CHANGELOG.md)**Version history, bug fixes, known issues
31
+ <div class="karnel-links">
32
+ <a href="./cli/">CLI Commands full reference for every <code>karnel</code> subcommand</a>
33
+ <a href="./doctor/">Doctor System environment checks and the code-analysis engine</a>
34
+ <a href="https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/osint/robin/README.md">Robin OSINT responsible use, lifecycle, data locations</a>
35
+ <a href="https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/network/dark/README.md">Network Tools dark, dedsec-network</a>
36
+ <a href="https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/ai/keelcode/README.md">KeelCodehosted coding-agent CLI</a>
37
+ <a href="https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/utils/superfile/README.md">SuperFileterminal file manager</a>
38
+ <a href="https://github.com/israelmarques1024-dotcom/karnel-termux/blob/main/karnel/tools/utils/fconv/README.md">Utility Scripts fconv, notes, treex, and more</a>
39
+ <a href="./cli/#supabase--remote-project-helpers">Supabase CLI remote-project helpers</a>
40
+ <a href="./ARCHITECTURE/">Architectureproject structure and module system</a>
41
+ <a href="./CHANGELOG.md">Changelog — version history and fixes</a>
42
+ </div>
36
43
 
37
44
  ## Credits
38
45
 
@@ -1 +1 @@
1
- 0b701b2757116687f7022e331187baa382cf63a9
1
+ ad787cd9d5efa67b498b0b1dc5e00203553b32e7
@@ -448,7 +448,7 @@ agent_repl_handle() {
448
448
  ;;
449
449
  /model*)
450
450
  local m="${line#/model }"
451
- m="${m#/model}"
451
+ [[ "$m" == "$line" ]] && m=""
452
452
  m=$(echo "$m" | xargs)
453
453
  if [[ -z "$m" ]]; then
454
454
  log_info "Available models:"
@@ -462,7 +462,7 @@ agent_repl_handle() {
462
462
  ;;
463
463
  /endpoint*)
464
464
  local e="${line#/endpoint }"
465
- e="${e#/endpoint}"
465
+ [[ "$e" == "$line" ]] && e=""
466
466
  e=$(echo "$e" | xargs)
467
467
  if [[ -z "$e" ]]; then agent_read_input "Endpoint URL (e.g. http://127.0.0.1:8000/v1)" e; fi
468
468
  if [[ -z "$e" ]]; then return 0; fi
@@ -472,7 +472,7 @@ agent_repl_handle() {
472
472
  ;;
473
473
  /temp*)
474
474
  local t="${line#/temp }"
475
- t="${t#/temp}"
475
+ [[ "$t" == "$line" ]] && t=""
476
476
  t=$(echo "$t" | xargs)
477
477
  if [[ -z "$t" ]]; then agent_read_input "Temperature (0-2)" t; fi
478
478
  if [[ -n "$t" ]]; then AGENT_TEMPERATURE="$t"; log_success "Temperature → ${D_CYAN}$AGENT_TEMPERATURE${D_NC}"; fi
@@ -480,7 +480,7 @@ agent_repl_handle() {
480
480
  ;;
481
481
  /max*)
482
482
  local mx="${line#/max }"
483
- mx="${mx#/max}"
483
+ [[ "$mx" == "$line" ]] && mx=""
484
484
  mx=$(echo "$mx" | xargs)
485
485
  if [[ -z "$mx" ]]; then agent_read_input "Max tokens" mx; fi
486
486
  if [[ -n "$mx" ]]; then AGENT_MAX_TOKENS="$mx"; log_success "Max tokens → ${D_CYAN}$AGENT_MAX_TOKENS${D_NC}"; fi
@@ -488,9 +488,8 @@ agent_repl_handle() {
488
488
  ;;
489
489
  /workspace*)
490
490
  local ws="${line#/workspace }"
491
- ws="${ws#/workspace}"
491
+ [[ "$ws" == "$line" ]] && ws=""
492
492
  ws=$(echo "$ws" | xargs)
493
- if [[ -z "$ws" ]]; then agent_read_input "Workspace directory (absolute path)" ws; fi
494
493
  if [[ -n "$ws" ]]; then
495
494
  mkdir -p "$ws"
496
495
  AGENT_WORKSPACE="$ws"
@@ -163,8 +163,9 @@ _brain_remove_related() {
163
163
  head -n $((frontmatter_end - 1)) "$file" >"$tmp"
164
164
  local escaped
165
165
  escaped=$(_brain_slug_escape "$slug")
166
- sed -i "s/related: \[\(.*\)$escaped\(.*\)\]/related: [\1\2]/" "$tmp"
167
- sed -i 's/related: \[, */related: [/; s/, *, */, /g; s/related: \[ *\]//' "$tmp"
166
+ # Only touch the `related:` line, and only strip the slug as a discrete
167
+ # comma-separated token (never as a substring inside another slug).
168
+ sed -i "/^related:/ s/, ${escaped}//g; s/${escaped}, //g; s/\[${escaped}\]/[]/g; s/\[, /[/g; s/, \]/]/g" "$tmp"
168
169
  tail -n +$((frontmatter_end)) "$file" >>"$tmp"
169
170
  mv "$tmp" "$file"
170
171
  }
@@ -443,7 +444,7 @@ brain_save() {
443
444
  done
444
445
  $already || related_slugs+=("$match_slug")
445
446
  fi
446
- done < <(_brain_rg -i "tags:.*$tag" || true)
447
+ done < <(_brain_rg -l -i "tags:.*$tag" || true)
447
448
  done
448
449
  IFS=$' \t\n'
449
450
 
@@ -1296,11 +1297,12 @@ brain_delete() {
1296
1297
  fi
1297
1298
 
1298
1299
  # Remove relations from related files
1299
- local file_slug
1300
+ local file_slug escaped_slug
1300
1301
  file_slug=$(basename "$file" .md)
1302
+ escaped_slug=$(_brain_slug_escape "$file_slug")
1301
1303
  while IFS= read -r rfile; do
1302
1304
  _brain_remove_related "$rfile" "$file_slug"
1303
- done < <(_brain_rg "$file_slug" || true)
1305
+ done < <(_brain_rg -l "related:.*${escaped_slug}" || true)
1304
1306
 
1305
1307
  if [[ "$file" != "$BRAIN_DIR"/* ]]; then
1306
1308
  log_error "Refusing to delete file outside brain directory"
@@ -3,13 +3,15 @@
3
3
  import "@/utils/log"
4
4
  import "@/utils/colors"
5
5
 
6
- # ── Detect rc file: zsh > bash ─────────────────────────────
6
+ # ── Detect rc file based on the ACTIVE shell (not just presence) ──
7
7
  _env_rc_file() {
8
- if [[ -f "$HOME/.zshrc" ]]; then
9
- echo "$HOME/.zshrc"
10
- else
11
- echo "$HOME/.bashrc"
12
- fi
8
+ local shell_name
9
+ shell_name=$(basename "${SHELL:-${0:-bash}}" 2>/dev/null)
10
+ shell_name="${shell_name#-}" # strip leading '-' from login-shell names (e.g. -bash)
11
+ case "$shell_name" in
12
+ zsh) echo "$HOME/.zshrc" ;;
13
+ *) echo "$HOME/.bashrc" ;;
14
+ esac
13
15
  }
14
16
 
15
17
  # ── Validate variable name ─────────────────────────────────