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 @@

- Pi Monorepo + Pi Monorepo

@@ -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) +

+ lsp +

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) + +

+ task +

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 + +

+ models +

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) + +

+ ask +

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 +

+ 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 + +

+ slash +

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 + +

+ perplexity +

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 + +

+ arxiv +

+ +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": {