@kolisachint/hoocode-agent 0.1.4 → 0.2.1

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 (134) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +1 -1
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/config.d.ts +6 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +8 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/core/agent-session.d.ts.map +1 -1
  10. package/dist/core/agent-session.js +1 -1
  11. package/dist/core/agent-session.js.map +1 -1
  12. package/dist/core/auth-storage.d.ts +1 -1
  13. package/dist/core/auth-storage.d.ts.map +1 -1
  14. package/dist/core/auth-storage.js +1 -1
  15. package/dist/core/auth-storage.js.map +1 -1
  16. package/dist/core/bash-executor.d.ts.map +1 -1
  17. package/dist/core/bash-executor.js +1 -1
  18. package/dist/core/bash-executor.js.map +1 -1
  19. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  20. package/dist/core/compaction/branch-summarization.js +1 -1
  21. package/dist/core/compaction/branch-summarization.js.map +1 -1
  22. package/dist/core/compaction/compaction.d.ts.map +1 -1
  23. package/dist/core/compaction/compaction.js +1 -1
  24. package/dist/core/compaction/compaction.js.map +1 -1
  25. package/dist/core/extensions/runner.d.ts.map +1 -1
  26. package/dist/core/extensions/runner.js +1 -1
  27. package/dist/core/extensions/runner.js.map +1 -1
  28. package/dist/core/package-manager.d.ts.map +1 -1
  29. package/dist/core/package-manager.js +4 -4
  30. package/dist/core/package-manager.js.map +1 -1
  31. package/dist/core/sdk.d.ts +1 -1
  32. package/dist/core/sdk.d.ts.map +1 -1
  33. package/dist/core/sdk.js.map +1 -1
  34. package/dist/core/session-manager.d.ts +2 -2
  35. package/dist/core/session-manager.d.ts.map +1 -1
  36. package/dist/core/session-manager.js.map +1 -1
  37. package/dist/core/system-prompt.d.ts.map +1 -1
  38. package/dist/core/system-prompt.js +5 -5
  39. package/dist/core/system-prompt.js.map +1 -1
  40. package/dist/core/tools/bash.d.ts +2 -2
  41. package/dist/core/tools/bash.d.ts.map +1 -1
  42. package/dist/core/tools/bash.js +3 -3
  43. package/dist/core/tools/bash.js.map +1 -1
  44. package/dist/core/tools/index.d.ts +1 -0
  45. package/dist/core/tools/index.d.ts.map +1 -1
  46. package/dist/core/tools/index.js +1 -0
  47. package/dist/core/tools/index.js.map +1 -1
  48. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  49. package/dist/core/tools/output-accumulator.js +1 -1
  50. package/dist/core/tools/output-accumulator.js.map +1 -1
  51. package/dist/core/tools/path-utils.d.ts +10 -0
  52. package/dist/core/tools/path-utils.d.ts.map +1 -1
  53. package/dist/core/tools/path-utils.js +28 -1
  54. package/dist/core/tools/path-utils.js.map +1 -1
  55. package/dist/extensions/core/hoo-core.d.ts.map +1 -1
  56. package/dist/extensions/core/hoo-core.js +50 -4
  57. package/dist/extensions/core/hoo-core.js.map +1 -1
  58. package/dist/init.d.ts.map +1 -1
  59. package/dist/init.js +4 -3
  60. package/dist/init.js.map +1 -1
  61. package/dist/migrations.d.ts.map +1 -1
  62. package/dist/migrations.js +1 -1
  63. package/dist/migrations.js.map +1 -1
  64. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  65. package/dist/modes/interactive/components/config-selector.js +1 -1
  66. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  67. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  68. package/dist/modes/interactive/components/extension-editor.js +1 -1
  69. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  70. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  71. package/dist/modes/interactive/interactive-mode.js +1 -1
  72. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  73. package/dist/modes/print-mode.d.ts +2 -2
  74. package/dist/modes/print-mode.d.ts.map +1 -1
  75. package/dist/modes/print-mode.js +2 -2
  76. package/dist/modes/print-mode.js.map +1 -1
  77. package/dist/package-manager-cli.d.ts.map +1 -1
  78. package/dist/package-manager-cli.js +12 -9
  79. package/dist/package-manager-cli.js.map +1 -1
  80. package/dist/utils/clipboard-image.d.ts.map +1 -1
  81. package/dist/utils/clipboard-image.js +1 -1
  82. package/dist/utils/clipboard-image.js.map +1 -1
  83. package/docs/compaction.md +9 -9
  84. package/docs/custom-provider.md +4 -4
  85. package/docs/development.md +6 -6
  86. package/docs/extensions.md +21 -21
  87. package/docs/index.md +9 -9
  88. package/docs/json.md +3 -3
  89. package/docs/keybindings.md +5 -5
  90. package/docs/models.md +6 -6
  91. package/docs/packages.md +37 -37
  92. package/docs/prompt-templates.md +4 -4
  93. package/docs/providers.md +12 -44
  94. package/docs/quickstart.md +28 -28
  95. package/docs/rpc.md +10 -10
  96. package/docs/sdk.md +13 -13
  97. package/docs/session-format.md +7 -7
  98. package/docs/sessions.md +11 -11
  99. package/docs/settings.md +14 -14
  100. package/docs/shell-aliases.md +2 -2
  101. package/docs/skills.md +10 -10
  102. package/docs/terminal-setup.md +7 -7
  103. package/docs/termux.md +6 -6
  104. package/docs/themes.md +9 -9
  105. package/docs/tmux.md +3 -3
  106. package/docs/tui.md +3 -3
  107. package/docs/usage.md +47 -47
  108. package/docs/windows.md +2 -2
  109. package/examples/README.md +1 -1
  110. package/examples/extensions/README.md +5 -5
  111. package/examples/extensions/claude-rules.ts +1 -1
  112. package/examples/extensions/commands.ts +1 -1
  113. package/examples/extensions/custom-header.ts +1 -1
  114. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  115. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  116. package/examples/extensions/doom-overlay/README.md +3 -3
  117. package/examples/extensions/pirate.ts +1 -1
  118. package/examples/extensions/preset.ts +4 -4
  119. package/examples/extensions/prompt-customizer.ts +1 -1
  120. package/examples/extensions/sandbox/index.ts +3 -3
  121. package/examples/extensions/sandbox/package.json +1 -1
  122. package/examples/extensions/subagent/README.md +13 -13
  123. package/examples/extensions/subagent/agents.ts +1 -1
  124. package/examples/extensions/subagent/index.ts +1 -1
  125. package/examples/extensions/tools.ts +1 -1
  126. package/examples/extensions/with-deps/package.json +1 -1
  127. package/examples/sdk/04-skills.ts +1 -1
  128. package/examples/sdk/06-extensions.ts +1 -1
  129. package/examples/sdk/08-prompt-templates.ts +1 -1
  130. package/examples/sdk/README.md +2 -2
  131. package/package.json +1 -1
  132. package/examples/extensions/custom-provider-anthropic/package-lock.json +0 -24
  133. package/examples/extensions/sandbox/package-lock.json +0 -92
  134. package/examples/extensions/with-deps/package-lock.json +0 -31
package/docs/sessions.md CHANGED
@@ -1,17 +1,17 @@
1
1
  # Sessions
2
2
 
3
- Pi saves conversations as sessions so you can continue work, branch from earlier turns, and revisit previous paths.
3
+ HooCode saves conversations as sessions so you can continue work, branch from earlier turns, and revisit previous paths.
4
4
 
5
5
  ## Session Storage
6
6
 
7
- Sessions auto-save to `~/.pi/agent/sessions/`, organized by working directory. Each session is a JSONL file with a tree structure.
7
+ Sessions auto-save to `~/.hoocode/agent/sessions/`, organized by working directory. Each session is a JSONL file with a tree structure.
8
8
 
9
9
  ```bash
10
- pi -c # Continue most recent session
11
- pi -r # Browse and select from past sessions
12
- pi --no-session # Ephemeral mode; do not save
13
- pi --session <path|id> # Use a specific session file or partial session ID
14
- pi --fork <path|id> # Fork a session file or partial session ID into a new session
10
+ hoocode -c # Continue most recent session
11
+ hoocode -r # Browse and select from past sessions
12
+ hoocode --no-session # Ephemeral mode; do not save
13
+ hoocode --session <path|id> # Use a specific session file or partial session ID
14
+ hoocode --fork <path|id> # Fork a session file or partial session ID into a new session
15
15
  ```
16
16
 
17
17
  Use `/session` in interactive mode to see the current session file, session ID, message count, tokens, and cost.
@@ -35,7 +35,7 @@ For the JSONL file format and SessionManager API, see [Session Format](session-f
35
35
 
36
36
  ## Resuming and Deleting Sessions
37
37
 
38
- `/resume` opens an interactive session picker for the current project. `pi -r` opens the same picker at startup.
38
+ `/resume` opens an interactive session picker for the current project. `hoocode -r` opens the same picker at startup.
39
39
 
40
40
  In the picker you can:
41
41
 
@@ -46,7 +46,7 @@ In the picker you can:
46
46
  - rename with Ctrl+R
47
47
  - delete with Ctrl+D, then confirm
48
48
 
49
- When available, pi uses the `trash` CLI for deletion instead of permanently removing files.
49
+ When available, hoocode uses the `trash` CLI for deletion instead of permanently removing files.
50
50
 
51
51
  ## Naming Sessions
52
52
 
@@ -56,7 +56,7 @@ Use `/name <name>` to set a human-readable session name:
56
56
  /name Refactor auth module
57
57
  ```
58
58
 
59
- Named sessions are easier to find in `/resume` and `pi -r`.
59
+ Named sessions are easier to find in `/resume` and `hoocode -r`.
60
60
 
61
61
  ## Branching with `/tree`
62
62
 
@@ -120,7 +120,7 @@ Use `/tree` when you want to keep alternatives together. Use `/fork` or `/clone`
120
120
 
121
121
  ## Branch Summaries
122
122
 
123
- When `/tree` switches away from one branch to another, pi can summarize the abandoned branch and attach that summary at the new position. This preserves important context from the path you left without replaying the whole branch.
123
+ When `/tree` switches away from one branch to another, hoocode can summarize the abandoned branch and attach that summary at the new position. This preserves important context from the path you left without replaying the whole branch.
124
124
 
125
125
  When prompted, choose one of:
126
126
 
package/docs/settings.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Settings
2
2
 
3
- Pi uses JSON settings files with project settings overriding global settings.
3
+ HooCode uses JSON settings files with project settings overriding global settings.
4
4
 
5
5
  | Location | Scope |
6
6
  |----------|-------|
7
- | `~/.pi/agent/settings.json` | Global (all projects) |
8
- | `.pi/settings.json` | Project (current directory) |
7
+ | `~/.hoocode/agent/settings.json` | Global (all projects) |
8
+ | `.hoocode/settings.json` | Project (current directory) |
9
9
 
10
10
  Edit directly or use `/settings` for common options.
11
11
 
@@ -50,9 +50,9 @@ Edit directly or use `/settings` for common options.
50
50
 
51
51
  ### Telemetry and update checks
52
52
 
53
- `enableInstallTelemetry` only controls the anonymous install/update ping to `https://pi.dev/api/report-install`. Opting out of telemetry does not disable update checks; Pi can still fetch `https://pi.dev/api/latest-version` to look for the latest version.
53
+ `enableInstallTelemetry` only controls the anonymous install/update ping to `https://hoocode.dev/api/report-install`. Opting out of telemetry does not disable update checks; HooCode can still fetch `https://hoocode.dev/api/latest-version` to look for the latest version.
54
54
 
55
- Set `PI_SKIP_VERSION_CHECK=1` to disable the Pi version update check. Use `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
55
+ Set `HOOCODE_SKIP_VERSION_CHECK=1` to disable the HooCode version update check. Use `--offline` or `HOOCODE_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.
56
56
 
57
57
  ### Warnings
58
58
 
@@ -164,10 +164,10 @@ Normally the package manager's global modules location is queried using `root -g
164
164
  | `sessionDir` | string | - | Directory where session files are stored. Accepts absolute or relative paths, plus `~`. |
165
165
 
166
166
  ```json
167
- { "sessionDir": ".pi/sessions" }
167
+ { "sessionDir": ".hoocode/sessions" }
168
168
  ```
169
169
 
170
- When multiple sources specify a session directory, precedence is `--session-dir`, `PI_CODING_AGENT_SESSION_DIR`, then `sessionDir` in settings.json.
170
+ When multiple sources specify a session directory, precedence is `--session-dir`, `HOOCODE_CODING_AGENT_SESSION_DIR`, then `sessionDir` in settings.json.
171
171
 
172
172
  ### Model Cycling
173
173
 
@@ -191,7 +191,7 @@ When multiple sources specify a session directory, precedence is `--session-dir`
191
191
 
192
192
  These settings define where to load extensions, skills, prompts, and themes from.
193
193
 
194
- Paths in `~/.pi/agent/settings.json` resolve relative to `~/.pi/agent`. Paths in `.pi/settings.json` resolve relative to `.pi`. Absolute paths and `~` are supported.
194
+ Paths in `~/.hoocode/agent/settings.json` resolve relative to `~/.hoocode/agent`. Paths in `.hoocode/settings.json` resolve relative to `.hoocode`. Absolute paths and `~` are supported.
195
195
 
196
196
  | Setting | Type | Default | Description |
197
197
  |---------|------|---------|-------------|
@@ -210,7 +210,7 @@ String form loads all resources from a package:
210
210
 
211
211
  ```json
212
212
  {
213
- "packages": ["pi-skills", "@org/my-extension"]
213
+ "packages": ["hoocode-skills", "@org/my-extension"]
214
214
  }
215
215
  ```
216
216
 
@@ -220,7 +220,7 @@ Object form filters which resources to load:
220
220
  {
221
221
  "packages": [
222
222
  {
223
- "source": "pi-skills",
223
+ "source": "hoocode-skills",
224
224
  "skills": ["brave-search", "transcribe"],
225
225
  "extensions": []
226
226
  }
@@ -251,22 +251,22 @@ See [packages.md](packages.md) for package management details.
251
251
  "warnings": {
252
252
  "anthropicExtraUsage": true
253
253
  },
254
- "packages": ["pi-skills"]
254
+ "packages": ["hoocode-skills"]
255
255
  }
256
256
  ```
257
257
 
258
258
  ## Project Overrides
259
259
 
260
- Project settings (`.pi/settings.json`) override global settings. Nested objects are merged:
260
+ Project settings (`.hoocode/settings.json`) override global settings. Nested objects are merged:
261
261
 
262
262
  ```json
263
- // ~/.pi/agent/settings.json (global)
263
+ // ~/.hoocode/agent/settings.json (global)
264
264
  {
265
265
  "theme": "dark",
266
266
  "compaction": { "enabled": true, "reserveTokens": 16384 }
267
267
  }
268
268
 
269
- // .pi/settings.json (project)
269
+ // .hoocode/settings.json (project)
270
270
  {
271
271
  "compaction": { "reserveTokens": 8192 }
272
272
  }
@@ -1,8 +1,8 @@
1
1
  # Shell Aliases
2
2
 
3
- Pi runs bash in non-interactive mode (`bash -c`), which doesn't expand aliases by default.
3
+ HooCode runs bash in non-interactive mode (`bash -c`), which doesn't expand aliases by default.
4
4
 
5
- To enable your shell aliases, add to `~/.pi/agent/settings.json`:
5
+ To enable your shell aliases, add to `~/.hoocode/agent/settings.json`:
6
6
 
7
7
  ```json
8
8
  {
package/docs/skills.md CHANGED
@@ -1,10 +1,10 @@
1
- > pi can create skills. Ask it to build one for your use case.
1
+ > hoocode can create skills. Ask it to build one for your use case.
2
2
 
3
3
  # Skills
4
4
 
5
5
  Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
6
6
 
7
- Pi implements the [Agent Skills standard](https://agentskills.io/specification), warning about violations but remaining lenient.
7
+ HooCode implements the [Agent Skills standard](https://agentskills.io/specification), warning about violations but remaining lenient.
8
8
 
9
9
  ## Table of Contents
10
10
 
@@ -21,20 +21,20 @@ Pi implements the [Agent Skills standard](https://agentskills.io/specification),
21
21
 
22
22
  > **Security:** Skills can instruct the model to perform any action and may include executable code the model invokes. Review skill content before use.
23
23
 
24
- Pi loads skills from:
24
+ HooCode loads skills from:
25
25
 
26
26
  - Global:
27
- - `~/.pi/agent/skills/`
27
+ - `~/.hoocode/agent/skills/`
28
28
  - `~/.agents/skills/`
29
29
  - Project:
30
- - `.pi/skills/`
30
+ - `.hoocode/skills/`
31
31
  - `.agents/skills/` in `cwd` and ancestor directories (up to git repo root, or filesystem root when not in a repo)
32
32
  - Packages: `skills/` directories or `pi.skills` entries in `package.json`
33
33
  - Settings: `skills` array with files or directories
34
34
  - CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
35
35
 
36
36
  Discovery rules:
37
- - In `~/.pi/agent/skills/` and `.pi/skills/`, direct root `.md` files are discovered as individual skills
37
+ - In `~/.hoocode/agent/skills/` and `.hoocode/skills/`, direct root `.md` files are discovered as individual skills
38
38
  - In all skill locations, directories containing `SKILL.md` are discovered recursively
39
39
  - In `~/.agents/skills/` and project `.agents/skills/`, root `.md` files are ignored
40
40
 
@@ -53,7 +53,7 @@ To use skills from Claude Code or OpenAI Codex, add their directories to setting
53
53
  }
54
54
  ```
55
55
 
56
- For project-level Claude Code skills, add to `.pi/settings.json`:
56
+ For project-level Claude Code skills, add to `.hoocode/settings.json`:
57
57
 
58
58
  ```json
59
59
  {
@@ -63,7 +63,7 @@ For project-level Claude Code skills, add to `.pi/settings.json`:
63
63
 
64
64
  ## How Skills Work
65
65
 
66
- 1. At startup, pi scans skill locations and extracts names and descriptions
66
+ 1. At startup, hoocode scans skill locations and extracts names and descriptions
67
67
  2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
68
68
  3. When a task matches, the agent uses `read` to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
69
69
  4. The agent follows the instructions, using relative paths to reference scripts and assets
@@ -175,7 +175,7 @@ description: Helps with PDFs.
175
175
 
176
176
  ## Validation
177
177
 
178
- Pi validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
178
+ HooCode validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
179
179
 
180
180
  - Name doesn't match parent directory
181
181
  - Name exceeds 64 characters or contains invalid characters
@@ -229,4 +229,4 @@ cd /path/to/brave-search && npm install
229
229
  ## Skill Repositories
230
230
 
231
231
  - [Anthropic Skills](https://github.com/anthropics/skills) - Document processing (docx, pdf, pptx, xlsx), web development
232
- - [Pi Skills](https://github.com/badlogic/pi-skills) - Web search, browser automation, Google APIs, transcription
232
+ - [HooCode Skills](https://github.com/badlogic/pi-skills) - Web search, browser automation, Google APIs, transcription
@@ -1,6 +1,6 @@
1
1
  # Terminal Setup
2
2
 
3
- Pi uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
3
+ HooCode uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
4
4
 
5
5
  ## Kitty, iTerm2
6
6
 
@@ -20,11 +20,11 @@ Older Claude Code versions may have added this Ghostty mapping:
20
20
  keybind = shift+enter=text:\n
21
21
  ```
22
22
 
23
- That mapping sends a raw linefeed byte. Inside pi, that is indistinguishable from `Ctrl+J`, so tmux and pi no longer see a real `shift+enter` key event.
23
+ That mapping sends a raw linefeed byte. Inside hoocode, that is indistinguishable from `Ctrl+J`, so tmux and hoocode no longer see a real `shift+enter` key event.
24
24
 
25
25
  If Claude Code 2.x or newer is the only reason you added that mapping, you can remove it, unless you want to use Claude Code in tmux, where it still requires that Ghostty mapping.
26
26
 
27
- If you want `Shift+Enter` to keep working in tmux via that remap, add `ctrl+j` to your pi `newLine` keybinding in `~/.pi/agent/keybindings.json`:
27
+ If you want `Shift+Enter` to keep working in tmux via that remap, add `ctrl+j` to your hoocode `newLine` keybinding in `~/.hoocode/agent/keybindings.json`:
28
28
 
29
29
  ```json
30
30
  {
@@ -63,7 +63,7 @@ Add to `keybindings.json` to enable `Shift+Enter` for multi-line input:
63
63
 
64
64
  ## Windows Terminal
65
65
 
66
- Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward the modified Enter keys pi uses:
66
+ Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward the modified Enter keys hoocode uses:
67
67
 
68
68
  ```json
69
69
  {
@@ -81,8 +81,8 @@ Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward
81
81
  ```
82
82
 
83
83
  - `Shift+Enter` inserts a new line.
84
- - Windows Terminal binds `Alt+Enter` to fullscreen by default. That prevents pi from receiving `Alt+Enter` for follow-up queueing.
85
- - Remapping `Alt+Enter` to `sendInput` forwards the real key chord to pi instead.
84
+ - Windows Terminal binds `Alt+Enter` to fullscreen by default. That prevents hoocode from receiving `Alt+Enter` for follow-up queueing.
85
+ - Remapping `Alt+Enter` to `sendInput` forwards the real key chord to hoocode instead.
86
86
 
87
87
  If you already have an `actions` array, add the objects to it. If the old fullscreen behavior persists, fully close and reopen Windows Terminal.
88
88
 
@@ -101,6 +101,6 @@ For the best experience, use a terminal that supports the Kitty keyboard protoco
101
101
 
102
102
  The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
103
103
 
104
- If you want the hardware cursor visible, set `PI_HARDWARE_CURSOR=1` before running pi (disabled by default for compatibility).
104
+ If you want the hardware cursor visible, set `HOOCODE_HARDWARE_CURSOR=1` before running hoocode (disabled by default for compatibility).
105
105
 
106
106
  Consider using a dedicated terminal emulator for the best experience.
package/docs/termux.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Termux (Android) Setup
2
2
 
3
- Pi runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
3
+ HooCode runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
4
4
 
5
5
  ## Prerequisites
6
6
 
@@ -16,14 +16,14 @@ pkg update && pkg upgrade
16
16
  # Install dependencies
17
17
  pkg install nodejs termux-api git
18
18
 
19
- # Install pi
19
+ # Install hoocode
20
20
  npm install -g @kolisachint/hoocode-agent
21
21
 
22
22
  # Create config directory
23
- mkdir -p ~/.pi/agent
23
+ mkdir -p ~/.hoocode/agent
24
24
 
25
- # Run pi
26
- pi
25
+ # Run hoocode
26
+ hoocode
27
27
  ```
28
28
 
29
29
  ## Clipboard Support
@@ -34,7 +34,7 @@ Image clipboard is not supported on Termux (the `ctrl+v` image paste feature wil
34
34
 
35
35
  ## Example AGENTS.md for Termux
36
36
 
37
- Create `~/.pi/agent/AGENTS.md` to help the agent understand the Termux environment:
37
+ Create `~/.hoocode/agent/AGENTS.md` to help the agent understand the Termux environment:
38
38
 
39
39
  ```markdown
40
40
  # Agent Environment: Termux on Android
package/docs/themes.md CHANGED
@@ -1,4 +1,4 @@
1
- > pi can create themes. Ask it to build one for your setup.
1
+ > hoocode can create themes. Ask it to build one for your setup.
2
2
 
3
3
  # Themes
4
4
 
@@ -16,11 +16,11 @@ Themes are JSON files that define colors for the TUI.
16
16
 
17
17
  ## Locations
18
18
 
19
- Pi loads themes from:
19
+ HooCode loads themes from:
20
20
 
21
21
  - Built-in: `dark`, `light`
22
- - Global: `~/.pi/agent/themes/*.json`
23
- - Project: `.pi/themes/*.json`
22
+ - Global: `~/.hoocode/agent/themes/*.json`
23
+ - Project: `.hoocode/themes/*.json`
24
24
  - Packages: `themes/` directories or `pi.themes` entries in `package.json`
25
25
  - Settings: `themes` array with files or directories
26
26
  - CLI: `--theme <path>` (repeatable)
@@ -37,15 +37,15 @@ Select a theme via `/settings` or in `settings.json`:
37
37
  }
38
38
  ```
39
39
 
40
- On first run, pi detects your terminal background and defaults to `dark` or `light`.
40
+ On first run, hoocode detects your terminal background and defaults to `dark` or `light`.
41
41
 
42
42
  ## Creating a Custom Theme
43
43
 
44
44
  1. Create a theme file:
45
45
 
46
46
  ```bash
47
- mkdir -p ~/.pi/agent/themes
48
- vim ~/.pi/agent/themes/my-theme.json
47
+ mkdir -p ~/.hoocode/agent/themes
48
+ vim ~/.hoocode/agent/themes/my-theme.json
49
49
  ```
50
50
 
51
51
  2. Define the theme with all required colors (see [Color Tokens](#color-tokens)):
@@ -116,7 +116,7 @@ vim ~/.pi/agent/themes/my-theme.json
116
116
 
117
117
  3. Select the theme via `/settings`.
118
118
 
119
- **Hot reload:** When you edit the currently active custom theme file, pi reloads it automatically for immediate visual feedback.
119
+ **Hot reload:** When you edit the currently active custom theme file, hoocode reloads it automatically for immediate visual feedback.
120
120
 
121
121
  ## Theme Format
122
122
 
@@ -268,7 +268,7 @@ Four formats are supported:
268
268
 
269
269
  ### Terminal Compatibility
270
270
 
271
- Pi uses 24-bit RGB colors. Most modern terminals support this (iTerm2, Kitty, WezTerm, Windows Terminal, VS Code). For older terminals with only 256-color support, pi falls back to the nearest approximation.
271
+ HooCode uses 24-bit RGB colors. Most modern terminals support this (iTerm2, Kitty, WezTerm, Windows Terminal, VS Code). For older terminals with only 256-color support, hoocode falls back to the nearest approximation.
272
272
 
273
273
  Check truecolor support:
274
274
 
package/docs/tmux.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # tmux Setup
2
2
 
3
- Pi works inside tmux, but tmux strips modifier information from certain keys by default. Without configuration, `Shift+Enter` and `Ctrl+Enter` are usually indistinguishable from plain `Enter`.
3
+ HooCode works inside tmux, but tmux strips modifier information from certain keys by default. Without configuration, `Shift+Enter` and `Ctrl+Enter` are usually indistinguishable from plain `Enter`.
4
4
 
5
5
  ## Recommended Configuration
6
6
 
@@ -18,7 +18,7 @@ tmux kill-server
18
18
  tmux
19
19
  ```
20
20
 
21
- Pi requests extended key reporting automatically when Kitty keyboard protocol is not available. With `extended-keys-format csi-u`, tmux forwards modified keys in CSI-u format, which is the most reliable configuration.
21
+ HooCode requests extended key reporting automatically when Kitty keyboard protocol is not available. With `extended-keys-format csi-u`, tmux forwards modified keys in CSI-u format, which is the most reliable configuration.
22
22
 
23
23
  ## Why `csi-u` Is Recommended
24
24
 
@@ -40,7 +40,7 @@ With `extended-keys-format csi-u`, the same keys are forwarded as:
40
40
  - `Ctrl+D` → `\x1b[100;5u`
41
41
  - `Ctrl+Enter` → `\x1b[13;5u`
42
42
 
43
- Pi supports both formats, but `csi-u` is the recommended tmux setup.
43
+ HooCode supports both formats, but `csi-u` is the recommended tmux setup.
44
44
 
45
45
  ## What This Fixes
46
46
 
package/docs/tui.md CHANGED
@@ -1,4 +1,4 @@
1
- > pi can create TUI components. Ask it to build one for your use case.
1
+ > hoocode can create TUI components. Ask it to build one for your use case.
2
2
 
3
3
  # TUI Components
4
4
 
@@ -737,7 +737,7 @@ ctx.ui.setStatus("my-ext", undefined);
737
737
 
738
738
  ### Pattern 4b: Working Indicator Customization
739
739
 
740
- Customize the inline working indicator shown while pi is streaming a response.
740
+ Customize the inline working indicator shown while hoocode is streaming a response.
741
741
 
742
742
  ```typescript
743
743
  // Static indicator
@@ -757,7 +757,7 @@ ctx.ui.setWorkingIndicator({
757
757
  // Hide the indicator entirely
758
758
  ctx.ui.setWorkingIndicator({ frames: [] });
759
759
 
760
- // Restore pi's default spinner
760
+ // Restore hoocode's default spinner
761
761
  ctx.ui.setWorkingIndicator();
762
762
  ```
763
763
 
package/docs/usage.md CHANGED
@@ -1,4 +1,4 @@
1
- # Using Pi
1
+ # Using HooCode
2
2
 
3
3
  This page collects day-to-day usage details that do not fit on the quickstart page.
4
4
 
@@ -53,7 +53,7 @@ Type `/` in the editor to open command completion. Extensions can register custo
53
53
  | `/reload` | Reload keybindings, extensions, skills, prompts, and context files |
54
54
  | `/hotkeys` | Show all keyboard shortcuts |
55
55
  | `/changelog` | Display version history |
56
- | `/quit` | Quit pi |
56
+ | `/quit` | Quit hoocode |
57
57
 
58
58
  ## Message Queue
59
59
 
@@ -64,20 +64,20 @@ You can submit messages while the agent is still working:
64
64
  - **Escape** aborts and restores queued messages to the editor.
65
65
  - **Alt+Up** retrieves queued messages back to the editor.
66
66
 
67
- On Windows Terminal, Alt+Enter is fullscreen by default. Remap it as described in [Terminal setup](terminal-setup.md) if you want pi to receive the shortcut.
67
+ On Windows Terminal, Alt+Enter is fullscreen by default. Remap it as described in [Terminal setup](terminal-setup.md) if you want hoocode to receive the shortcut.
68
68
 
69
69
  Configure delivery in [Settings](settings.md) with `steeringMode` and `followUpMode`.
70
70
 
71
71
  ## Sessions
72
72
 
73
- Sessions are saved automatically to `~/.pi/agent/sessions/`, organized by working directory.
73
+ Sessions are saved automatically to `~/.hoocode/agent/sessions/`, organized by working directory.
74
74
 
75
75
  ```bash
76
- pi -c # Continue most recent session
77
- pi -r # Browse and select a session
78
- pi --no-session # Ephemeral mode; do not save
79
- pi --session <path|id> # Use a specific session file or session ID
80
- pi --fork <path|id> # Fork a session into a new session file
76
+ hoocode -c # Continue most recent session
77
+ hoocode -r # Browse and select a session
78
+ hoocode --no-session # Ephemeral mode; do not save
79
+ hoocode --session <path|id> # Use a specific session file or session ID
80
+ hoocode --fork <path|id> # Fork a session into a new session file
81
81
  ```
82
82
 
83
83
  Useful session commands:
@@ -92,9 +92,9 @@ See [Sessions](sessions.md) and [Compaction](compaction.md) for details.
92
92
 
93
93
  ## Context Files
94
94
 
95
- Pi loads `AGENTS.md` or `CLAUDE.md` at startup from:
95
+ HooCode loads `AGENTS.md` or `CLAUDE.md` at startup from:
96
96
 
97
- - `~/.pi/agent/AGENTS.md` for global instructions
97
+ - `~/.hoocode/agent/AGENTS.md` for global instructions
98
98
  - parent directories, walking up from the current working directory
99
99
  - the current directory
100
100
 
@@ -104,8 +104,8 @@ Use context files for project conventions, commands, safety rules, and preferenc
104
104
 
105
105
  Replace the default system prompt with:
106
106
 
107
- - `.pi/SYSTEM.md` for a project
108
- - `~/.pi/agent/SYSTEM.md` globally
107
+ - `.hoocode/SYSTEM.md` for a project
108
+ - `~/.hoocode/agent/SYSTEM.md` globally
109
109
 
110
110
  Append to the default prompt without replacing it with `APPEND_SYSTEM.md` in either location.
111
111
 
@@ -115,29 +115,29 @@ Use `/export [file]` to write a session to HTML.
115
115
 
116
116
  Use `/share` to upload a private GitHub gist with a shareable HTML link.
117
117
 
118
- If you use pi for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). It publishes sessions to Hugging Face datasets.
118
+ If you use hoocode for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). It publishes sessions to Hugging Face datasets.
119
119
 
120
120
  ## CLI Reference
121
121
 
122
122
  ```bash
123
- pi [options] [@files...] [messages...]
123
+ hoocode [options] [@files...] [messages...]
124
124
  ```
125
125
 
126
126
  ### Package Commands
127
127
 
128
128
  ```bash
129
- pi install <source> [-l] # Install package, -l for project-local
130
- pi remove <source> [-l] # Remove package
131
- pi uninstall <source> [-l] # Alias for remove
132
- pi update [source|self|pi] # Update pi and packages; skips pinned packages
133
- pi update --extensions # Update packages only
134
- pi update --self # Update pi only
135
- pi update --extension <src> # Update one package
136
- pi list # List installed packages
137
- pi config # Enable/disable package resources
129
+ hoocode install <source> [-l] # Install package, -l for project-local
130
+ hoocode remove <source> [-l] # Remove package
131
+ hoocode uninstall <source> [-l] # Alias for remove
132
+ hoocode update [source|self|hoocode] # Update hoocode and packages; skips pinned packages
133
+ hoocode update --extensions # Update packages only
134
+ hoocode update --self # Update hoocode only
135
+ hoocode update --extension <src> # Update one package
136
+ hoocode list # List installed packages
137
+ hoocode config # Enable/disable package resources
138
138
  ```
139
139
 
140
- See [Pi Packages](packages.md) for package sources and security notes.
140
+ See [HooCode Packages](packages.md) for package sources and security notes.
141
141
 
142
142
  ### Modes
143
143
 
@@ -149,10 +149,10 @@ See [Pi Packages](packages.md) for package sources and security notes.
149
149
  | `--mode rpc` | RPC mode over stdin/stdout; see [RPC mode](rpc.md) |
150
150
  | `--export <in> [out]` | Export a session to HTML |
151
151
 
152
- In print mode, pi also reads piped stdin and merges it into the initial prompt:
152
+ In print mode, hoocode also reads piped stdin and merges it into the initial prompt:
153
153
 
154
154
  ```bash
155
- cat README.md | pi -p "Summarize this text"
155
+ cat README.md | hoocode -p "Summarize this text"
156
156
  ```
157
157
 
158
158
  ### Model Options
@@ -204,7 +204,7 @@ Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
204
204
  Combine `--no-*` with explicit flags to load exactly what you need, ignoring settings. Example:
205
205
 
206
206
  ```bash
207
- pi --no-extensions -e ./my-extension.ts
207
+ hoocode --no-extensions -e ./my-extension.ts
208
208
  ```
209
209
 
210
210
  ### Other Options
@@ -222,55 +222,55 @@ pi --no-extensions -e ./my-extension.ts
222
222
  Prefix files with `@` to include them in the message:
223
223
 
224
224
  ```bash
225
- pi @prompt.md "Answer this"
226
- pi -p @screenshot.png "What's in this image?"
227
- pi @code.ts @test.ts "Review these files"
225
+ hoocode @prompt.md "Answer this"
226
+ hoocode -p @screenshot.png "What's in this image?"
227
+ hoocode @code.ts @test.ts "Review these files"
228
228
  ```
229
229
 
230
230
  ### Examples
231
231
 
232
232
  ```bash
233
233
  # Interactive with initial prompt
234
- pi "List all .ts files in src/"
234
+ hoocode "List all .ts files in src/"
235
235
 
236
236
  # Non-interactive
237
- pi -p "Summarize this codebase"
237
+ hoocode -p "Summarize this codebase"
238
238
 
239
239
  # Non-interactive with piped stdin
240
- cat README.md | pi -p "Summarize this text"
240
+ cat README.md | hoocode -p "Summarize this text"
241
241
 
242
242
  # Different model
243
- pi --provider openai --model gpt-4o "Help me refactor"
243
+ hoocode --provider openai --model gpt-4o "Help me refactor"
244
244
 
245
245
  # Model with provider prefix
246
- pi --model openai/gpt-4o "Help me refactor"
246
+ hoocode --model openai/gpt-4o "Help me refactor"
247
247
 
248
248
  # Model with thinking level shorthand
249
- pi --model sonnet:high "Solve this complex problem"
249
+ hoocode --model sonnet:high "Solve this complex problem"
250
250
 
251
251
  # Limit model cycling
252
- pi --models "claude-*,gpt-4o"
252
+ hoocode --models "claude-*,gpt-4o"
253
253
 
254
254
  # Read-only mode
255
- pi --tools read,grep,find,ls -p "Review the code"
255
+ hoocode --tools read,grep,find,ls -p "Review the code"
256
256
  ```
257
257
 
258
258
  ### Environment Variables
259
259
 
260
260
  | Variable | Description |
261
261
  |----------|-------------|
262
- | `PI_CODING_AGENT_DIR` | Override config directory; default is `~/.pi/agent` |
263
- | `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory; overridden by `--session-dir` |
264
- | `PI_PACKAGE_DIR` | Override package directory, useful for Nix/Guix store paths |
265
- | `PI_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
266
- | `PI_SKIP_VERSION_CHECK` | Skip the Pi version update check at startup. This prevents the `pi.dev` latest-version request |
267
- | `PI_TELEMETRY` | Override install/update telemetry: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
268
- | `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
262
+ | `HOOCODE_AGENT_DIR` | Override config directory; default is `~/.hoocode/agent` |
263
+ | `HOOCODE_AGENT_SESSION_DIR` | Override session storage directory; overridden by `--session-dir` |
264
+ | `HOOCODE_PACKAGE_DIR` | Override package directory, useful for Nix/Guix store paths |
265
+ | `HOOCODE_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |
266
+ | `HOOCODE_SKIP_VERSION_CHECK` | Skip the hoocode version update check at startup |
267
+ | `HOOCODE_TELEMETRY` | Override install/update telemetry: `1`/`true`/`yes` or `0`/`false`/`no`. This does not disable update checks |
268
+ | `HOOCODE_CACHE_RETENTION` | Set to `long` for extended prompt cache where supported |
269
269
  | `VISUAL`, `EDITOR` | External editor for Ctrl+G |
270
270
 
271
271
  ## Design Principles
272
272
 
273
- Pi keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
273
+ HooCode keeps the core small and pushes workflow-specific behavior into extensions, skills, prompt templates, and packages.
274
274
 
275
275
  It intentionally does not include built-in MCP, sub-agents, permission popups, plan mode, to-dos, or background bash. You can build or install those workflows as extensions or packages, or use external tools such as containers and tmux.
276
276
 
package/docs/windows.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Windows Setup
2
2
 
3
- Pi requires a bash shell on Windows. Checked locations (in order):
3
+ HooCode requires a bash shell on Windows. Checked locations (in order):
4
4
 
5
- 1. Custom path from `~/.pi/agent/settings.json`
5
+ 1. Custom path from `~/.hoocode/agent/settings.json`
6
6
  2. Git Bash (`C:\Program Files\Git\bin\bash.exe`)
7
7
  3. `bash.exe` on PATH (Cygwin, MSYS2, WSL)
8
8
 
@@ -1,6 +1,6 @@
1
1
  # Examples
2
2
 
3
- Example code for pi-coding-agent SDK and extensions.
3
+ Example code for @kolisachint/hoocode-agent SDK and extensions.
4
4
 
5
5
  ## Directories
6
6