Ignore is a manager and filter for .gitignore rules, the one used by eslint, gitbook and many others.
An implementation of the Unicode UTS #46: Unicode IDNA Compatibility Processing
A set of utility functions for expect and related packages
A comprehensive library for mime-type mapping
Get the PATH environment variable key cross-platform
Check if argv has a specific flag
minimal implementation of a PassThrough stream
An implementation of the WHATWG URL Standard's URL API and parsing machinery
Constants and utilities about visitor keys to traverse AST.
Detect whether a terminal supports color
RFC9562 UUIDs
ECMAScript parser
a glob matcher in javascript
A JavaScript parser built from the Hermes engine
Like which(1) unix command. Find the first instance of an executable in the PATH.
Wordwrap a string with ANSI escape codes
a CSS selector compiler/engine
Resolve a URI relative to an optional base URI
Run an array of functions in parallel
Match balanced character pairs, like "{" and "}"
Fake JavaScript timers
Modern Buffer API polyfill without footguns
when you want to fire an event no matter how a process exits.
Find and load configuration from a package.json property, rc file, TypeScript module, and more!
pikuri-code adds the shell-and-dev-loop layer on top of pikuri-workspace's filesystem tools: a +Pikuri::Code::Bash+ that runs commands via the +Pikuri::Subprocess+ chokepoint with +Confirmer+ gating (optionally wrapped in a +Pikuri::Code::Bash::Sandbox::Bubblewrap+ filesystem sandbox), plus the demo +bin/pikuri-code+ binary that wires file + shell + web tools into an interactive coding agent rooted at the current working directory. The +Pikuri.prompt+ search path picks up this gem's +prompts/coding-system-prompt.txt+ automatically on require.
+pikuri+ is the convenience bundle for the pikuri AI-assistant toolkit. It ships no Ruby code of its own beyond a tiny entry file that +require+'s each sibling gem; +gem install pikuri+ pulls in pikuri-core, pikuri-skills, pikuri-tasks, pikuri-memory, pikuri-workspace, pikuri-code, pikuri-mcp, pikuri-subagents, pikuri-vectordb, and pikuri-assistant in one shot, and +require 'pikuri'+ boots all of them. Privacy-conscious users who want a minimal dependency tree to audit should install +pikuri-core+ directly and opt into the extension gems they actually need — same +bundle add+ pattern Rails users have always had. See each pikuri-* gem's README for its individual surface.
pikuri-workspace adds "operate on a directory tree" to pikuri-core agents: the +Pikuri::Workspace::Filesystem+ class that scopes filesystem access to an anchor + explicit readable / writable prefix lists (with optional ephemeral temp playground), the +Pikuri::Workspace::Confirmer+ seam (+AUTO_APPROVE+ + +TERMINAL+) for user-state mutations, and five tools wired to those seams: +Pikuri::Workspace::Read+, +Pikuri::Workspace::Write+, +Pikuri::Workspace::Edit+, +Pikuri::Workspace::Grep+, and +Pikuri::Workspace::Glob+. Self-contained — no shell execution; +Pikuri::Code::Bash+ ships in pikuri-code on top of these.
pikuri-assistant ships the demo +bin/pikuri-assistant+ binary on top of pikuri-core + pikuri-skills + pikuri-mcp: an interactive chat agent the user hand-edits to declare a +Pikuri::Mcp::Registry+ of MCP servers. The +Pikuri.prompt+ search path picks up this gem's +prompts/pikuri-assistant.txt+ automatically on require — same multi-gem prompt-dir pattern as pikuri-code.
pikuri-core is the lean, audit-friendly foundation of the pikuri family: Pikuri::Agent (a thin wrapper around ruby_llm's chat loop) with its Configurator + Extension protocol, the strict Pikuri::Tool framework, a listener surface for rendering / budgets / sub-agents, and four bundled stateless tools (calculator, web search, web scrape, fetch). Extensions (skills, MCP, workspace, coding stack, named-agent personas) live in sibling gems so a privacy-conscious user can install just this core and audit a minimal dependency tree. For the convenience bundle that pulls in everything, see the +pikuri+ metagem.
pikuri-memory is a placeholder gem reserving the +pikuri-memory+ name on RubyGems for an upcoming "memories" extension to pikuri — durable long-lived facts about the user and the project that persist across conversations, modeled after the memory concept in https://github.com/nousresearch/hermes-agent. The gem ships no Ruby code yet; this release only claims the name so the eventual extension can publish under it.