Skip to content
comalicePublic

About

A repo of tools for pi agent harness.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Dirac Pi Tools

Standalone Pi package for porting selected tools from Dirac as Pi extensions.

Extensions belong in extensions/. Keep the Pi implementations independent from the Dirac checkout so they can be versioned and installed as a Pi package.

list_files preserves recursive breadth-first listing, common generated/vendor exclusions, modification-time ordering, line counts, and the 200-entry limit. It omits Dirac's VS Code UI cards, telemetry, multi-root resolution, .diracignore policy, and .gitignore filtering. Paths stay within the Pi working directory and symlinks are not traversed.

inspect_ast currently implements the read-only outline and implementation operations for JavaScript and TypeScript. It uses ts-morph, reports qualified names, handles ambiguity instead of choosing a symbol arbitrarily, and returns complete named definitions. Other languages, anchors, call graphs, and the definitions/references/occurrences operations are not ported yet.

read_file reads UTF-8 text and inclusive line ranges. Optional line anchors remain stable for unchanged lines across reads during one Pi process. Rich document extraction and anchor persistence across process restarts are not implemented.

edit_file applies non-overlapping anchored replacements and insertions. It validates IDs and exact line content against current files, presents a diff for explicit interactive approval, and refuses to write in non-interactive Pi modes. It uses atomic per-file writes and limits each batch to a reviewable diff.

search_files runs ripgrep with optional globs and context. With include_anchors, it shares line IDs with read_file and can provide coordinates directly usable by edit_file; matched/context lines that changed during the search are not emitted as anchors.

Upstream source and license attribution are recorded in NOTICE.

Load the package with:

pi install /path/to/dirac-pi-tools

(make install-bin does this too — registering the checkout with pi, installing npm dependencies, and dropping the pi-memory/pi-wiki/pi-dream CLI shims into ~/.local/bin.)

Run the test suite with npm test.

Skills

code-review reviews the diff since a fixed point (/skill:code-review main) along three axes — Standards, Spec, and Adversarial Bugs — each in an isolated headless pi process with a fresh context, reported side by side and never merged. It runs a tooling pre-pass (lint/typecheck/tests) first, requires a citation on every finding, refuses to start on a bad ref or empty diff, and offers to convert repeat findings into pre-commit hooks or CODING_STANDARDS.md rules. Design informed by Matt Pocock's code-review skill (MIT) and Geoff Huntley's writing on engineering away review slop.

Also registered as an extension tool rather than a skill, fresh_review runs up to three independent read-only review tasks in parallel, each in a fresh Pi process using the active model. Workers have read/grep/find/ls only, with skills, extensions and MCP disabled; this is a tool allowlist, not an OS sandbox. Prompts and results consume model tokens. The parent must pin the scope and verify findings; workers cannot run git or see the parent session.

documentation-review audits documentation against code, configuration, tests, and other evidence without editing it. Use /skill:documentation-review README.md or supply a subsystem or comparison. technical-writing writes or updates documentation for its audience; use /skill:technical-writing with the requested scope. Both use shared, on-demand guidance for different document types, rather than a separate skill for each type.

The memory extension adds memory_search/memory_expand over a durable archive — see durable memory for ingestion, lexical and optional local hybrid/vector retrieval, navigable expansion, hub-and-spoke setup, and service deployment. Memory has no automatic recall; the extension keeps the archive current with a debounced background ingest, and semantic indexing is opted into with one explicit vector-build — subsequent rebuilds run as a debounced background refresh.

See the wiki for the curated wiki, dream-mode extraction, and librarian curation, and scheduling for the schedule extension's notifications and headless session wakes.

See language-server notes for the deferred semantic-inspection direction.

About

A repo of tools for pi agent harness.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages