From 6887c1e58f27b2177b27e36a891fcebfd8244a9d Mon Sep 17 00:00:00 2001 From: GaganSD Date: Fri, 30 Oct 2026 23:24:18 +0530 Subject: [PATCH 1/2] docs: distinguish Pi extensions from Herdr mods --- README.md | 68 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 760f0cea..f57ee004 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ -

Coding Agent Tools For Herdr and Pi

+

Extensions for Pi · Mods for Herdr

CI Status @@ -32,17 +32,20 @@ --- -A monorepo of modular extensions engineered specifically for the Pi coding agent. Each package adheres to strict context-efficiency principles, zero-bloat architecture, and native Pi integration. Detailed subagent delegation benchmarks live in [`benchmarks/README.md`](./benchmarks/README.md). +A monorepo of **Pi coding-agent extensions** and **Herdr mods**. Each integrates natively with its host, with minimal overhead and focused functionality. Pi extensions and Herdr mods are installed separately. + +- [Pi extensions](#pi-extensions): terminal UI, subagent delegation, web search, interactive interviews, and permission controls. +- [Herdr mods](#herdr-mods): a local-first token-usage dashboard for Pi, Codex, Claude Code, and OpenCode sessions. ## Design Principles -- **Minimal by Design** — Engineered for zero-context bloat and preserve the agent's context window. Prompts and schemas stay minimal while benchmaxxing every tool for effectiveness. -- **Keyless by Default** — Essential utilities like public web and code retrieval work instantly out of the box. -- **Pi-Native** — Built strictly around Pi's extension lifecycle, tools, custom slash commands, themes, and configuration store. +- **Minimal by Design** — Focused tools with minimal overhead. Pi prompts and schemas stay small to preserve the agent's context window. +- **Keyless by Default** — Public web and code retrieval work without API keys; Insights reads local session data without an account. +- **Native Integration** — Pi extensions use Pi's extension lifecycle, tools, slash commands, and themes. Herdr mods use Herdr's native mod system. --- -## Packages +## Pi extensions | Package | Description | Install | | :--- | :--- | :--- | @@ -52,20 +55,11 @@ A monorepo of modular extensions engineered specifically for the Pi coding agent | [pi-ask](./pi-ask/) | Structured interactive TUI interviews for human-in-the-loop decisions. | `pi install npm:@gagansd/pi-ask` | | [pi-automode](./pi-automode/) (beta) | Permission gate for Pi: risky calls stop for a local decision, protected paths block, exact rules cut repeated asks. | `pi install npm:@gagansd/pi-automode` | ---- - -## Herdr mods +### Install Pi extensions -[Insights](./herdr-insights/) is a native token-usage dashboard for -[Herdr](https://herdr.dev), with model rankings, usage trends, and an activity -heatmap. It reads local Pi, Codex, Claude Code, and OpenCode sessions. Install it -separately from the Pi extensions; see its [README](./herdr-insights/README.md). +#### All-in-one (local checkout) -## Installation - -### All-in-One Suite (Monorepo) - -Point Pi to a clone of this repository to register all 5 extensions, skills, and Slate themes simultaneously: +Requires Node.js `>=22.19.0` and Pi `>=1.0.0`. Point Pi to a clone of this repository to register all five Pi extensions, skills, and Slate themes. This does **not** install Herdr mods: ```bash git clone https://github.com/GaganSD/pi-extensions.git @@ -75,7 +69,7 @@ pi install . Then reload Pi with `/reload`. -### Standalone (NPM) +#### Individual extensions (npm) Install individual extensions directly: @@ -89,8 +83,30 @@ pi install npm:@gagansd/pi-automode # Permission gate (opt-in, off by default) --- +## Herdr mods + +| Mod | Description | Install | +| :--- | :--- | :--- | +| [Insights](./herdr-insights/) | Local-first token-usage dashboard with model rankings, usage trends, and an activity heatmap. Reads Pi, Codex, Claude Code, and OpenCode sessions. | From a checkout: `npm run install:local --prefix herdr-insights -- --open` | + +### Install Insights + +Requires [Herdr](https://herdr.dev) and **Node.js 22.15+**. No dependencies or account needed. From this repository's root: + +```bash +npm run install:local --prefix herdr-insights -- --open +``` + +The installer validates the mod with `herdr-app check` and opens an **Insights** tab. It installs only `mods/insights/` under `~/.config/herdr-app`, leaving layouts, keys, and terminals unchanged. No Pi extension installation is required. + +See the [Insights README](./herdr-insights/README.md) for standalone checkout instructions, settings, privacy details, and uninstallation, or [RECIPE.md](./herdr-insights/RECIPE.md) for the mod specification. + +--- + ## Development & Building +### Pi extensions + **Prerequisites**: Node.js `>=22.19.0`, npm `>=10.0.0`, Pi `>=1.0.0`. ```bash @@ -104,7 +120,16 @@ npm run build --prefix pi-slate # or pi-subagents, pi-web-search, pi-ask, After `pi install .`, local edits apply on `/reload`. -### Token counter +### Herdr mods + +Insights uses Node.js `22.15+`; its native validation requires Herdr. Run its checks separately from the root Pi extension suite: + +```bash +npm test --prefix herdr-insights +npm run check --prefix herdr-insights +``` + +### Shared token counter After installing root development dependencies, count literal text locally (no API calls): @@ -127,7 +152,7 @@ individual extensions. --- -## Benchmarks & Performance +## Pi Subagent Benchmarks & Performance `@gagansd/pi-subagents` is continuously benchmarked against standard delegation alternatives on dynamic multi-step workflows (parallel join, bounded repair, conditional fanout): @@ -151,6 +176,7 @@ pi-extensions/ ├── pi-web-search/ # Multi-provider web & code search with classifier ├── pi-ask/ # Structured TUI interview & clarification modal ├── pi-automode/ # Parent-session permission gate with verified launcher +├── herdr-insights/ # Native Herdr mod: local coding-agent token-usage dashboard ├── benchmarks/ # Multi-model workflow benchmarking suite ├── docs/ # Architecture, CI/CD, and release guides └── scripts/ # Build, test, security scanning, and release tools From f1c6eb3a135a0f9558c258fd41a38fed8b236fee Mon Sep 17 00:00:00 2001 From: GaganSD Date: Fri, 30 Oct 2026 23:32:17 +0530 Subject: [PATCH 2/2] chore: rename repository to coding-agent-toolkit and refresh agent index --- .github/workflows/release-prepare.yml | 2 +- .gitleaks.toml | 2 +- README.md | 12 ++++++------ docs/ci-cd.md | 9 ++++++++- herdr-insights/README.md | 6 +++--- llms.txt | 18 +++++++++++++----- package-lock.json | 4 ++-- package.json | 6 +++--- pi-ask/README.md | 6 +++--- pi-ask/package.json | 4 ++-- pi-automode/IMPLEMENTATION.md | 2 +- pi-automode/docs/launch-decisions.md | 2 +- pi-automode/docs/specification.md | 6 +++--- pi-automode/docs/verification.md | 2 +- pi-automode/package.json | 4 ++-- pi-slate/README.md | 18 +++++++++--------- pi-slate/package.json | 6 +++--- pi-slate/tests/package.test.mjs | 2 +- pi-subagents/README.md | 4 ++-- pi-subagents/package.json | 4 ++-- pi-web-search/package.json | 4 ++-- scripts/dependency-check.mjs | 2 +- scripts/quickstart-ci.mjs | 2 +- scripts/release.mjs | 2 +- scripts/tests/quickstart-ci.test.mjs | 4 ++-- 25 files changed, 74 insertions(+), 59 deletions(-) diff --git a/.github/workflows/release-prepare.yml b/.github/workflows/release-prepare.yml index e7d481d8..4428af3f 100644 --- a/.github/workflows/release-prepare.yml +++ b/.github/workflows/release-prepare.yml @@ -35,7 +35,7 @@ jobs: GH_TOKEN: ${{ github.token }} run: | [[ "$SOURCE" =~ ^[a-f0-9]{40}$ ]] - [[ "$SOURCE" == "$(gh api repos/GaganSD/pi-extensions/commits/main --jq .sha)" ]] + [[ "$SOURCE" == "$(gh api repos/GaganSD/coding-agent-toolkit/commits/main --jq .sha)" ]] - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: ${{ inputs.source_sha }} diff --git a/.gitleaks.toml b/.gitleaks.toml index da43abe1..41922933 100644 --- a/.gitleaks.toml +++ b/.gitleaks.toml @@ -1,3 +1,3 @@ -title = "pi-extensions secrets" +title = "coding-agent-toolkit secrets" [extend] useDefault = true diff --git a/README.md b/README.md index f57ee004..1a8cfd5b 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@

Extensions for Pi · Mods for Herdr

- CI Status - Quickstart CI Status + CI Status + Quickstart CI Status Security: Snyk - Vulnerabilities: 0 + Vulnerabilities: 0
Pi >= 1.0.0 License: MIT @@ -62,8 +62,8 @@ A monorepo of **Pi coding-agent extensions** and **Herdr mods**. Each integrates Requires Node.js `>=22.19.0` and Pi `>=1.0.0`. Point Pi to a clone of this repository to register all five Pi extensions, skills, and Slate themes. This does **not** install Herdr mods: ```bash -git clone https://github.com/GaganSD/pi-extensions.git -cd pi-extensions +git clone https://github.com/GaganSD/coding-agent-toolkit.git +cd coding-agent-toolkit pi install . ``` @@ -170,7 +170,7 @@ See [`benchmarks/README.md`](./benchmarks/README.md) for full benchmark methodol ## Repository Structure ```text -pi-extensions/ +coding-agent-toolkit/ ├── pi-slate/ # Minimal TUI, custom surfaces, diff viewers & themes ├── pi-subagents/ # High-efficiency subagent delegation harness ├── pi-web-search/ # Multi-provider web & code search with classifier diff --git a/docs/ci-cd.md b/docs/ci-cd.md index 34b4b5ad..83ff6305 100644 --- a/docs/ci-cd.md +++ b/docs/ci-cd.md @@ -174,7 +174,7 @@ Complete these steps before the first release: `@gagansd/pi-subagents`, `@gagansd/pi-web-search`, and `@gagansd/pi-automode`, configure: - GitHub owner: `GaganSD` - - Repository: `pi-extensions` + - Repository: `coding-agent-toolkit` - Workflow filename: `publish.yml` (not the full path) - Environment: `npm` - Allow direct `npm publish` @@ -189,6 +189,13 @@ Complete these steps before the first release: They protect supported credential formats before GitHub accepts a push; the Actions scanner is not a replacement. +### Repository rename follow-up + +After a GitHub repository rename, update each npm package's trusted publisher to +`GaganSD/coding-agent-toolkit` before publishing. GitHub URL redirects do not +update npm's external trust configuration. Also verify the release GitHub App's +repository access and any external Snyk integration after the rename. + ## Snyk dependency scan Snyk runs inside the `Package / ` matrix job in `ci.yml`, after the diff --git a/herdr-insights/README.md b/herdr-insights/README.md index 83b4f8c7..f05cb00f 100644 --- a/herdr-insights/README.md +++ b/herdr-insights/README.md @@ -16,13 +16,13 @@ Requires Herdr and **Node.js 22.15+**. No dependencies or account needed. Ask your agent: -> Read https://github.com/GaganSD/pi-extensions/tree/main/herdr-insights and install the Insights mod following its RECIPE.md and my Herdr AGENTS.md. +> Read https://github.com/GaganSD/coding-agent-toolkit/tree/main/herdr-insights and install the Insights mod following its RECIPE.md and my Herdr AGENTS.md. Or install from a checkout: ```sh -git clone https://github.com/GaganSD/pi-extensions.git -cd pi-extensions +git clone https://github.com/GaganSD/coding-agent-toolkit.git +cd coding-agent-toolkit npm run install:local --prefix herdr-insights -- --open ``` diff --git a/llms.txt b/llms.txt index 0f4c0f3f..208d30e7 100644 --- a/llms.txt +++ b/llms.txt @@ -1,12 +1,12 @@ -# Pi extensions +# Coding Agent Toolkit -> Extensions for the Pi coding agent: Slate (terminal UI), Ask (structured interviews), Automode (permission gate), Subagents (delegation), and Web Search (cited public retrieval). +> Extensions for the Pi coding agent and native mods for Herdr. Pi extensions include Slate (terminal UI), Ask (structured interviews), Automode (permission gate), Subagents (delegation), and Web Search (cited public retrieval). The Insights mod provides a local-first Herdr token-usage dashboard for Pi, Codex, Claude Code, and OpenCode sessions. -Packages live at the repository root, not under `packages/`. Install each package separately. All five are published on npm. +Packages and mods live at the repository root, not under `packages/`. Pi extensions and Herdr mods are installed separately. All five Pi extensions are published on npm; install them individually with `pi install npm:` or together with `pi install .` from a checkout. Neither method installs Herdr mods. ## Documentation -- [Root README](README.md): package index, install, development +- [Root README](README.md): separate Pi extension and Herdr mod indexes, installation, development - [Slate README](pi-slate/README.md): TUI setup, commands, themes, composer keys - [Ask README](pi-ask/README.md): `ask_user` contract, commands, TUI-only behavior - [Automode README](pi-automode/README.md): permission gate, commands, rules, verified launcher, classifier review @@ -14,7 +14,7 @@ Packages live at the repository root, not under `packages/`. Install each packag - [Web Search README](pi-web-search/README.md): tools, native Parallel MCP, optional Pi-hosted Jev classifier, config, credentials, limits - [Web Search research](pi-web-search/docs/research.md): opt-in multi_search and Jev -## Packages +## Pi extensions - [Root manifest](package.json): collection extensions, skills, and themes - [Slate package](pi-slate/package.json): `npm:pi-slate` @@ -23,6 +23,14 @@ Packages live at the repository root, not under `packages/`. Install each packag - [Subagents package](pi-subagents/package.json): `npm:@gagansd/pi-subagents` - [Web Search package](pi-web-search/package.json): `npm:@gagansd/pi-web-search` +## Herdr mods + +- [Insights README](herdr-insights/README.md): installation, settings, privacy, development, uninstallation +- [Insights recipe](herdr-insights/RECIPE.md): native mod specification, architecture, rebuild requirements +- [Insights manifest](herdr-insights/package.json): local install, uninstall, test, and check scripts; not published on npm + +Insights requires Herdr and Node.js 22.15+. From a checkout, run `npm run install:local --prefix herdr-insights -- --open`. The installer validates and opens the mod without changing layouts, keys, or terminals. Session data stays local; no account or API key is required. Run Insights tests separately with `npm test --prefix herdr-insights` and native checks with `npm run check --prefix herdr-insights`. + ## Agent indexes - [Web Search llms.txt](pi-web-search/llms.txt): search navigation and source contracts diff --git a/package-lock.json b/package-lock.json index 9c6d46b1..ecd7062f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,10 +1,10 @@ { - "name": "pi-extensions", + "name": "coding-agent-toolkit", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "pi-extensions", + "name": "coding-agent-toolkit", "license": "MIT", "devDependencies": { "@eslint/js": "10.0.1", diff --git a/package.json b/package.json index aa46390d..aca0b235 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "pi-extensions", + "name": "coding-agent-toolkit", "private": true, - "description": "Monorepo of Pi extensions I use and build, including keyless public web/code search through native Pi MCP.", + "description": "Pi coding-agent extensions and native Herdr mods, including keyless web/code search and local token-usage insights.", "license": "MIT", "author": "Gagan Devagiri", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git" + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git" }, "scripts": { "test": "npm test --prefix pi-slate && npm test --prefix pi-ask && npm test --prefix pi-web-search && npm test --prefix pi-subagents && npm test --prefix pi-automode", diff --git a/pi-ask/README.md b/pi-ask/README.md index 734cf371..3ebb6407 100644 --- a/pi-ask/README.md +++ b/pi-ask/README.md @@ -4,11 +4,11 @@ Gives your agent a way to interview you in a structured form — brainstorming, One skill (~20-token description), built for context minimisation. -![Multi-select](https://raw.githubusercontent.com/GaganSD/pi-extensions/main/pi-ask/assets/multi.png) +![Multi-select](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/main/pi-ask/assets/multi.png) -![Single-select](https://raw.githubusercontent.com/GaganSD/pi-extensions/main/pi-ask/assets/single.png) +![Single-select](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/main/pi-ask/assets/single.png) -![Text](https://raw.githubusercontent.com/GaganSD/pi-extensions/main/pi-ask/assets/text.png) +![Text](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/main/pi-ask/assets/text.png) ## Install diff --git a/pi-ask/package.json b/pi-ask/package.json index 74574c98..6ea8874f 100644 --- a/pi-ask/package.json +++ b/pi-ask/package.json @@ -14,10 +14,10 @@ "terminal-ui", "tui" ], - "homepage": "https://github.com/GaganSD/pi-extensions/tree/main/pi-ask", + "homepage": "https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-ask", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git", + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git", "directory": "pi-ask" }, "files": [ diff --git a/pi-automode/IMPLEMENTATION.md b/pi-automode/IMPLEMENTATION.md index 7aa20197..d2de2cdf 100644 --- a/pi-automode/IMPLEMENTATION.md +++ b/pi-automode/IMPLEMENTATION.md @@ -1,7 +1,7 @@ # Implementation plan > **Build record.** The package lives in -> [`pi-extensions/pi-automode`](https://github.com/GaganSD/pi-extensions/tree/main/pi-automode) +> [`coding-agent-toolkit/pi-automode`](https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-automode) > and is published as `@gagansd/pi-automode` (MIT). ## Scope being built diff --git a/pi-automode/docs/launch-decisions.md b/pi-automode/docs/launch-decisions.md index eaeb0184..4a5a58c1 100644 --- a/pi-automode/docs/launch-decisions.md +++ b/pi-automode/docs/launch-decisions.md @@ -92,7 +92,7 @@ remains unverified, not assumed. **Decision:** Publish name **`@gagansd/pi-automode`** (matching the `@gagansd/pi-ask`, `@gagansd/pi-subagents`, `@gagansd/pi-web-search` -convention). The package is published from `pi-extensions` under **MIT** as +convention). The package is published from `coding-agent-toolkit` under **MIT** as `0.1.0`. Publication covers the keyless/deterministic beta only: **semantic enforcement stays off** and Jev remains shadow-only until the risk-budget evidence in decision 3 exists. Publishing does not authorize a diff --git a/pi-automode/docs/specification.md b/pi-automode/docs/specification.md index 12a2e7b1..58d9b4bd 100644 --- a/pi-automode/docs/specification.md +++ b/pi-automode/docs/specification.md @@ -5,7 +5,7 @@ Let the agent do the work you authorized. Get interrupted when it needs more authority—not whenever it uses a tool. > **Archived product/UX specification · 2026-10-11.** -> This preserves the accepted proposal, including future capabilities and unachieved targets. The implementation now lives entirely in `pi-extensions/pi-automode/`. See the [package README](../README.md) and [implementation plan](../IMPLEMENTATION.md) for the actual beta scope, install instructions and settings. Calibrated semantic approval, nested/child/codemode coverage and measured interruption benefits are not shipped claims. +> This preserves the accepted proposal, including future capabilities and unachieved targets. The implementation now lives entirely in `coding-agent-toolkit/pi-automode/`. See the [package README](../README.md) and [implementation plan](../IMPLEMENTATION.md) for the actual beta scope, install instructions and settings. Calibrated semantic approval, nested/child/codemode coverage and measured interruption benefits are not shipped claims. > > **Jev first, through Pi’s native classifier support. Useful without a key. Local models are a separate, later alternative.** A permission reviewer, not a sandbox or a guarantee against damage. @@ -53,7 +53,7 @@ This is the **target experience**, not a claim that an installed extension alrea **After implementation**, from a checkout of the extension monorepo: ```sh -pi install /absolute/path/to/pi-extensions/pi-automode +pi install /absolute/path/to/coding-agent-toolkit/pi-automode ``` Then `/reload` and `/automode`. There is no setup command and no setup wizard: the panel opens showing the On/Off control, host check and current settings. The published npm name is **`@gagansd/pi-automode`**; the product/package directory is **pi-automode**. No install command in this document downloads an existing release. @@ -477,7 +477,7 @@ These do not block the document; they do block the corresponding release claim: Read on 2026-10-11. Public docs move; installed Pi was 1.1.0. Source inspection is not a runtime audit. No extension implementation, installation, Jev benchmark, training or cloud provisioning was performed for this plan. -1. **Monorepo philosophy:** [pi-extensions README / Design Principles](https://github.com/GaganSD/pi-extensions/tree/3ce0f05a2d3161e05a4f06c1956ae9479152bb0f#design-principles). Also inspected local `pi-web-search/src/jev/api.ts` for native classifier selection/validation and `pi-subagents/src/session.ts` for child isolation. +1. **Monorepo philosophy:** [Coding Agent Toolkit README / Design Principles](https://github.com/GaganSD/coding-agent-toolkit/tree/3ce0f05a2d3161e05a4f06c1956ae9479152bb0f#design-principles). Also inspected local `pi-web-search/src/jev/api.ts` for native classifier selection/validation and `pi-subagents/src/session.ts` for child isolation. 2. **Competitor:** [package listing](https://pi.dev/packages/pi-verdict), [pinned README](https://github.com/jesset/pi-verdict/blob/3744feb2a4e1a0d785d3ca2dccb1f20758854815/README.md), [native-classifier ADR](https://github.com/jesset/pi-verdict/blob/3744feb2a4e1a0d785d3ca2dccb1f20758854815/docs/adr/0005-native-classifier-migration.md), [nested-call ADR](https://github.com/jesset/pi-verdict/blob/3744feb2a4e1a0d785d3ca2dccb1f20758854815/docs/adr/0006-codemode-nested-calls-policy.md), [security principles](https://github.com/jesset/pi-verdict/blob/3744feb2a4e1a0d785d3ca2dccb1f20758854815/docs/security-principles.md). Source: `extensions/pi-verdict.ts`, especially `VERDICT_QUESTIONS`, `classifyNative` and `adjudicate`. 3. **Pi integration:** [extensions](https://pi.dev/docs/latest/extensions), [models](https://pi.dev/docs/latest/models), [codemode](https://pi.dev/docs/latest/codemode), [packages](https://pi.dev/docs/latest/packages), [security](https://pi.dev/docs/latest/security). Read installed docs and `examples/extensions/jev-router.ts`, `permission-gate.ts`; checked registry declarations, mutable tool events and direct codemode model calls. 4. **Original enforcement findings:** the local Pi coverage research (outside this repository). Rechecked the current child `noExtensions` setting, mutable tool input, shell spawn transformation and codemode registry-service paths. Full integration behavior remains untested. diff --git a/pi-automode/docs/verification.md b/pi-automode/docs/verification.md index d6484426..9186ba94 100644 --- a/pi-automode/docs/verification.md +++ b/pi-automode/docs/verification.md @@ -168,7 +168,7 @@ install it into or change the user's Pi configuration automatically. ## Repository checks (2026-10-16) The package lives in -[`pi-extensions/pi-automode`](https://github.com/GaganSD/pi-extensions/tree/main/pi-automode) +[`coding-agent-toolkit/pi-automode`](https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-automode) and is prepared for publication as `@gagansd/pi-automode` (MIT, `0.1.0`). Monorepo CI runs lint, typecheck, unit and integration suites, and a packed clean-consumer registration smoke for this package. diff --git a/pi-automode/package.json b/pi-automode/package.json index bbcc0f23..166d138d 100644 --- a/pi-automode/package.json +++ b/pi-automode/package.json @@ -15,10 +15,10 @@ "decision-model", "jev" ], - "homepage": "https://github.com/GaganSD/pi-extensions/tree/main/pi-automode", + "homepage": "https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-automode", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git", + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git", "directory": "pi-automode" }, "engines": { diff --git a/pi-slate/README.md b/pi-slate/README.md index 7724a8ee..8eb240e4 100644 --- a/pi-slate/README.md +++ b/pi-slate/README.md @@ -4,7 +4,7 @@ A minimal-TUI with rich-graphics support that adds zero-context bloat

-![Slate workspace](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-overview.png) +![Slate workspace](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-overview.png) ## Setup @@ -24,27 +24,27 @@ Slate renders cleanly into your terminal and stays customizable without adding n The header keeps the stock Pi data and builds on it. Fresh settings start focused (sidebar hidden); restore it with `/slate focused off`, or get the full workbench with `/slate surfaces full` then `/reload`. Below 100 columns or 30 rows, the rail hides and its facts move onto the prompt frame. -![Slate focused mode with the sidebar hidden](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-focused.png) +![Slate focused mode with the sidebar hidden](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-focused.png) ### Working Indicator While the model runs, the composer edge shows a progress animation — `/slate progress` picks `waves` (default), `dna-helix`, `snake`, or `cylon-scanner`. -![Slate working indicator animation](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-working.gif) +![Slate working indicator animation](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-working.gif) ### Diff With `tool-cards` selected, `edit` and `write` results are syntax-highlighted in the transcript. -![Split YAML edit with word-level emphasis](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-diff-yaml.png) +![Split YAML edit with word-level emphasis](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-diff-yaml.png) -![Split Rust edit with syntax highlighting](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-diff-rust.png) +![Split Rust edit with syntax highlighting](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-diff-rust.png) ### Claude Code Tool Style Slate's default tool style renders compact `✓ Name (args)` calls grouped into `Done (…)` trees, with durations and edit counts. Set `"toolStyle": "default"` in `~/.pi/agent/pi-slate.json` and `/reload` to restore Pi's native cards. -![Slate Claude Code-style tool transcript with grouped calls, edit counts, and an intentional demo failure](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-claudecode-tools.png) +![Slate Claude Code-style tool transcript with grouped calls, edit counts, and an intentional demo failure](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-claudecode-tools.png) ### Rich Media Rendering @@ -52,13 +52,13 @@ Slate uses Kitty Graphics Protocol to display rich media inside your terminal. > Usage: Caret-peek over image tokens to display. `[image-N]` is a single object — the caret cannot enter it, and the whole token highlights. Open or copy from the image shelf, or double-click the image to open it. The peek leaves when the caret does. Task inspection never replaces the image. Pi-generated clipboard image paths are converted into `[image-N]` tokens. -![Chat with image tokens and the sidebar image preview](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-media.png) +![Chat with image tokens and the sidebar image preview](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-media.png) ### Session Dashboard The sidebar keeps session facts visible without sending them to a model: a live session title at the top in bold theme accent color (click to copy its full text), session id and PID on the next row (click to copy the full id), model, context meter with cost and rate, foldable MCP/Skills/Prompts lists, plus background tasks and an image shelf when nonempty. Long titles use a width-aware ellipsis; unnamed sessions leave that row blank. Set a name with Pi's `/name ` or a naming extension; Slate displays it and follows renames without generating titles. `/slate session` shows the full title and accounting; focused and compact modes move the facts onto the prompt frame. -![Slate session dashboard](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-session.png) +![Slate session dashboard](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-session.png) ### Background Tasks & Subagents @@ -93,7 +93,7 @@ With `editor` selected, `/prompts` opens a searchable picker of Pi's prompt temp `false` or `"none"` also mean none. -![Slate prompt template picker](https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-prompts.png) +![Slate prompt template picker](https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-prompts.png) ## Composer Keys diff --git a/pi-slate/package.json b/pi-slate/package.json index 68ed8df9..96fe8d96 100644 --- a/pi-slate/package.json +++ b/pi-slate/package.json @@ -16,10 +16,10 @@ "sidebar", "theme" ], - "homepage": "https://github.com/GaganSD/pi-extensions/tree/main/pi-slate", + "homepage": "https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-slate", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git", + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git", "directory": "pi-slate" }, "files": [ @@ -73,7 +73,7 @@ "themes": [ "./themes/*.json" ], - "image": "https://raw.githubusercontent.com/GaganSD/pi-extensions/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-overview.png" + "image": "https://raw.githubusercontent.com/GaganSD/coding-agent-toolkit/1e84be304270c8d859e04e7005dc3cf674fbd574/pi-slate/assets/slate-overview.png" }, "dependencies": { "diff": "^9.0.0", diff --git a/pi-slate/tests/package.test.mjs b/pi-slate/tests/package.test.mjs index 4ccf7a1c..384738a8 100644 --- a/pi-slate/tests/package.test.mjs +++ b/pi-slate/tests/package.test.mjs @@ -16,7 +16,7 @@ test("README screenshots use gallery-compatible Markdown and bundled assets", () assert.doesNotMatch(readme, /<img\b/i); const images = [...readme.matchAll(/!\[([^\]]+)\]\((https:\/\/[^)]+)\)/g)]; assert.ok(images.length >= 5); - const assetUrl = /^https:\/\/raw\.githubusercontent\.com\/GaganSD\/pi-extensions\/(main|[0-9a-f]{40})\/pi-slate\/assets\//; + const assetUrl = /^https:\/\/raw\.githubusercontent\.com\/GaganSD\/coding-agent-toolkit\/(main|[0-9a-f]{40})\/pi-slate\/assets\//; for (const [, alt, url] of images) { assert.ok(alt.length > 0); assert.ok(assetUrl.test(url), url); diff --git a/pi-subagents/README.md b/pi-subagents/README.md index e117972c..c2a36c26 100644 --- a/pi-subagents/README.md +++ b/pi-subagents/README.md @@ -6,7 +6,7 @@ Tiny yet powerful, benchmarked sub-agents for Pi <p align="center"> <a href="https://www.npmjs.com/package/@gagansd/pi-subagents"><img src="https://img.shields.io/npm/v/@gagansd/pi-subagents.svg" alt="npm" /></a> - <a href="https://github.com/GaganSD/pi-extensions/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT" /></a> + <a href="https://github.com/GaganSD/coding-agent-toolkit/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT" /></a> </p> ## Benchmark @@ -21,7 +21,7 @@ Tiny yet powerful, benchmarked sub-agents for Pi These frozen figures are from a prior measured campaign, not measurements or a rebenchmark of this new release's changed artifact. Both models ran through the same five dynamic workflow tasks using different subagents packages. See the -[benchmark methodology](https://github.com/GaganSD/pi-extensions/blob/main/benchmarks/README.md). +[benchmark methodology](https://github.com/GaganSD/coding-agent-toolkit/blob/main/benchmarks/README.md). ## Installation diff --git a/pi-subagents/package.json b/pi-subagents/package.json index 2045ca6d..ebe8f193 100644 --- a/pi-subagents/package.json +++ b/pi-subagents/package.json @@ -10,10 +10,10 @@ "pi", "subagents" ], - "homepage": "https://github.com/GaganSD/pi-extensions/tree/main/pi-subagents", + "homepage": "https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-subagents", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git", + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git", "directory": "pi-subagents" }, "exports": { diff --git a/pi-web-search/package.json b/pi-web-search/package.json index 8cb42d90..c5137914 100644 --- a/pi-web-search/package.json +++ b/pi-web-search/package.json @@ -17,10 +17,10 @@ "parallel", "jev" ], - "homepage": "https://github.com/GaganSD/pi-extensions/tree/main/pi-web-search", + "homepage": "https://github.com/GaganSD/coding-agent-toolkit/tree/main/pi-web-search", "repository": { "type": "git", - "url": "git+https://github.com/GaganSD/pi-extensions.git", + "url": "git+https://github.com/GaganSD/coding-agent-toolkit.git", "directory": "pi-web-search" }, "files": [ diff --git a/scripts/dependency-check.mjs b/scripts/dependency-check.mjs index 18e462ae..b65c39a8 100644 --- a/scripts/dependency-check.mjs +++ b/scripts/dependency-check.mjs @@ -61,7 +61,7 @@ function npmUpdates() { } async function github(pathname) { - const headers = { accept: "application/vnd.github+json", "user-agent": "pi-extensions-dependency-check" }; + const headers = { accept: "application/vnd.github+json", "user-agent": "coding-agent-toolkit-dependency-check" }; if (process.env.GITHUB_TOKEN) headers.authorization = `Bearer ${process.env.GITHUB_TOKEN}`; const response = await fetch(`https://api.github.com${pathname}`, { headers }); if (response.status === 404) return undefined; diff --git a/scripts/quickstart-ci.mjs b/scripts/quickstart-ci.mjs index bfc22fb8..f740aaa1 100644 --- a/scripts/quickstart-ci.mjs +++ b/scripts/quickstart-ci.mjs @@ -117,7 +117,7 @@ function downloadOne(spec, directory) { } export function quickstartSmoke() { - const work = mkdtempSync(join(tmpdir(), "pi-extensions-quickstart-")); + const work = mkdtempSync(join(tmpdir(), "coding-agent-toolkit-quickstart-")); try { const agentDir = join(work, "agent"); const downloads = join(work, "downloads"); diff --git a/scripts/release.mjs b/scripts/release.mjs index fd0da957..002cc009 100644 --- a/scripts/release.mjs +++ b/scripts/release.mjs @@ -6,7 +6,7 @@ import { parseArgs } from "node:util"; import { packages, packageConfig } from "./packages.mjs"; import { git, isMain, npm, root, run } from "./lib.mjs"; -export const repository = "GaganSD/pi-extensions"; +export const repository = "GaganSD/coding-agent-toolkit"; export const planPath = ".release/plan.json"; const registry = "https://registry.npmjs.org"; const shaPattern = /^[a-f0-9]{40}$/; diff --git a/scripts/tests/quickstart-ci.test.mjs b/scripts/tests/quickstart-ci.test.mjs index 15403f49..3318f5fd 100644 --- a/scripts/tests/quickstart-ci.test.mjs +++ b/scripts/tests/quickstart-ci.test.mjs @@ -50,7 +50,7 @@ test("quickstart waits through npm's post-publish processing delay", () => { test("README badges point at workflows that run on main", () => { const readme = readFileSync(new URL("../../README.md", import.meta.url), "utf8"); assert.match(readme, /actions\/workflows\/publish\.yml/); - assert.match(readme, /workflow\/status\/GaganSD\/pi-extensions\/publish\.yml\?branch=main/); + assert.match(readme, /workflow\/status\/GaganSD\/coding-agent-toolkit\/publish\.yml\?branch=main/); assert.match(readme, /actions\/workflows\/quickstart\.yml/); - assert.match(readme, /workflow\/status\/GaganSD\/pi-extensions\/quickstart\.yml\?branch=main/); + assert.match(readme, /workflow\/status\/GaganSD\/coding-agent-toolkit\/quickstart\.yml\?branch=main/); });