diff --git a/.husky/pre-commit b/.husky/pre-commit
deleted file mode 100755
index bbfe364c0..000000000
--- a/.husky/pre-commit
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# Run lint-staged (formats only staged files, no re-staging race condition)
-echo "Running lint-staged..."
-bunx lint-staged
-if [ $? -ne 0 ]; then
- echo "❌ lint-staged failed. Please fix the errors before committing."
- exit 1
-fi
-
-# Run type checking
-echo "Running type checks..."
-bun --cwd=packages/coding-agent run check && bun --cwd=packages/web-ui run check
-if [ $? -ne 0 ]; then
- echo "❌ Type checks failed. Please fix the errors before committing."
- exit 1
-fi
-
-echo "✅ All pre-commit checks passed!"
diff --git a/README.md b/README.md
index b7f6eec96..a243088e9 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
@@ -19,13 +19,12 @@
Fork of badlogic/pi-mono by @mariozechner
----
-## Fork Enhancements
+## + LSP Integration (Language Server Protocol)
-Features added on top of upstream pi:
-
-### LSP Integration (Language Server Protocol)
+
+
+
Full IDE-like code intelligence with automatic formatting and diagnostics:
@@ -36,7 +35,11 @@ Full IDE-like code intelligence with automatic formatting and diagnostics:
- **Local binary resolution**: Auto-discovers project-local LSP servers in `node_modules/.bin/`, `.venv/bin/`, etc.
- Hover docs, symbol references, code actions, workspace-wide symbol search
-### Task Tool (Subagent System)
+## + Task Tool (Subagent System)
+
+
+
+
Parallel execution framework with specialized agents and real-time streaming:
@@ -47,7 +50,11 @@ Parallel execution framework with specialized agents and real-time streaming:
- User-level (`~/.pi/agent/agents/`) and project-level (`.pi/agents/`) custom agents
- Concurrency-limited batch execution with progress tracking
-### Model Roles
+## + Model Roles
+
+
+
+
Configure different models for different purposes with automatic discovery:
@@ -57,22 +64,22 @@ Configure different models for different purposes with automatic discovery:
- CLI args (`--smol`, `--slow`) and env vars (`PI_SMOL_MODEL`, `PI_SLOW_MODEL`)
- Configure via `/model` selector with keybindings (Enter=default, S=smol, L=slow)
-### Ask Tool (Interactive Questioning)
+## + Ask Tool (Interactive Questioning)
+
+
+
+
Structured user interaction with typed options:
- **Multiple choice questions**: Present options with descriptions for user selection
- **Multi-select support**: Allow multiple answers when choices aren't mutually exclusive
-### Edit Fuzzy Matching
+## + Interactive Code Review
-Handles whitespace and indentation variance automatically:
-
-- High-confidence fuzzy matching for `oldText` in edit operations
-- Fixes the #1 pain point: edits failing due to invisible whitespace differences
-- Configurable via `edit.fuzzyMatch` setting (enabled by default)
-
-### Interactive Code Review
+
+
+
Structured code review with priority-based findings:
@@ -81,7 +88,11 @@ Structured code review with priority-based findings:
- **Verdict rendering**: `submit_review` aggregates findings into approve/request-changes/comment
- Combined result tree showing verdict and all findings
-### Custom TypeScript Slash Commands
+## + Custom TypeScript Slash Commands
+
+
+
+
Programmable commands with full API access:
@@ -91,7 +102,11 @@ Programmable commands with full API access:
- Return string to send as LLM prompt, or void for fire-and-forget actions
- Also loads from Claude Code directories (`~/.claude/commands/`, `.claude/commands/`)
-### MCP & Plugin System
+## + MCP & Plugin System
+
+
+
+
Full Model Context Protocol support with external tool integration:
@@ -100,7 +115,19 @@ Full Model Context Protocol support with external tool integration:
- Hot-loadable plugins from `~/.pi/plugins/` with npm/bun integration
- Automatic Exa MCP server filtering with API key extraction
-### TUI Overhaul
+## + Web Search & Fetch
+
+
+
+
+
+Multi-provider search and full-page scraping:
+
+- Anthropic, Perplexity, and Exa search integration with caching
+- HTML-to-markdown conversion with link preservation
+- JavaScript rendering support, image handling
+
+## + TUI Overhaul
Modern terminal interface with smart session management:
@@ -111,15 +138,15 @@ Modern terminal interface with smart session management:
- **Hotkeys**: `?` displays shortcuts when editor empty
- **Emergency terminal restore**: Crash handlers prevent terminal corruption
-### Web Search & Fetch
+## + Edit Fuzzy Matching
-Multi-provider search and full-page scraping:
+Handles whitespace and indentation variance automatically:
-- Anthropic, Perplexity, and Exa search integration with caching
-- HTML-to-markdown conversion with link preservation
-- JavaScript rendering support, image handling
+- High-confidence fuzzy matching for `oldText` in edit operations
+- Fixes the #1 pain point: edits failing due to invisible whitespace differences
+- Configurable via `edit.fuzzyMatch` setting (enabled by default)
-### ... and many more
+## ... and many more
- **Git context**: System prompt includes branch, status, recent commits
- **Bun runtime**: Native TypeScript execution, faster startup, all packages migrated
diff --git a/assets/arxiv.webp b/assets/arxiv.webp
new file mode 100644
index 000000000..6fd610288
Binary files /dev/null and b/assets/arxiv.webp differ
diff --git a/assets/ask.webp b/assets/ask.webp
new file mode 100644
index 000000000..f988a0ba0
Binary files /dev/null and b/assets/ask.webp differ
diff --git a/assets/banner.png b/assets/hero.png
similarity index 100%
rename from assets/banner.png
rename to assets/hero.png
diff --git a/assets/lspv.webp b/assets/lspv.webp
new file mode 100644
index 000000000..94b2d2b77
Binary files /dev/null and b/assets/lspv.webp differ
diff --git a/assets/models.webp b/assets/models.webp
new file mode 100644
index 000000000..e57a8e1b6
Binary files /dev/null and b/assets/models.webp differ
diff --git a/assets/perplexity.webp b/assets/perplexity.webp
new file mode 100644
index 000000000..ebeb05e35
Binary files /dev/null and b/assets/perplexity.webp differ
diff --git a/assets/review.webp b/assets/review.webp
new file mode 100644
index 000000000..57200043d
Binary files /dev/null and b/assets/review.webp differ
diff --git a/assets/slash.webp b/assets/slash.webp
new file mode 100644
index 000000000..1b2239b25
Binary files /dev/null and b/assets/slash.webp differ
diff --git a/assets/task.webp b/assets/task.webp
new file mode 100644
index 000000000..42c6c5c90
Binary files /dev/null and b/assets/task.webp differ
diff --git a/package.json b/package.json
index 32a9a5363..9d4b448d9 100644
--- a/package.json
+++ b/package.json
@@ -22,8 +22,7 @@
"publish:dry": "bun run prepublishOnly && npm publish -ws --access public --dry-run",
"release:patch": "bun scripts/release.mjs patch",
"release:minor": "bun scripts/release.mjs minor",
- "release:major": "bun scripts/release.mjs major",
- "prepare": "husky"
+ "release:major": "bun scripts/release.mjs major"
},
"devDependencies": {
"@biomejs/biome": "2.3.10",
@@ -32,7 +31,6 @@
"@typescript/native-preview": "^7.0.0-dev.20260102.1",
"bun-types": "^1.3.5",
"concurrently": "^9.2.1",
- "husky": "^9.1.7",
"lint-staged": "^16.2.7"
},
"lint-staged": {