Skip to main content
Builtins catalog / nika:grep

File

Tool family from the canonical registry.

invoke

Call this builtin through the invoke verb.

Read this contract

This reference preserves the specification at the revision linked below. Source examples are fragments: their surrounding tasks, inputs and permissions are not supplied here. Consult engine status and nika catalog --tools --json for the installed implementation; a registry declaration is not a runtime qualification.

Usage and behavior

illustration
Recursive grep · returns array of { path, line, match } · line is the 1-based line number (integer) · match the matched line text · results sorted by (path, line). pattern: is a Rust-regex-class expression (RE2-compatible · no backreferences · the portable subset). Throws · NIKA-BUILTIN-GREP-001 (invalid pattern · validation_error). The read grants cover both the directory being walked and the files read inside it. A literal directory grant does not grant its children. For the recursive example above, declare the root and the descendant glob:
illustration
For one level of files, ./src/* covers those files while ./src still covers the walk root. The root grant alone does not authorize their contents; a file read outside the declared boundary is a permission refusal, not evidence that the pattern has no matches.

Arguments

Pass the values required by the tool contract.

Permissions

Understand authority before granting effects.

Errors and recovery

Read diagnostics and choose a recovery policy.

Workflow templates

Put the fragment inside a complete workflow.

Contract provenance

Read the pinned specification · Canonical registry. Tool identity: nika:grep. Specification revision: 5cd95cd25c0f.

Documentation

Guides, reference contracts and working examples.

Language spec

the nine-key envelope, Apache-2.0. The contract these docs explain.

Engine source

Rust, AGPL-3.0-or-later. Every commit public.

TypeScript SDK

Use one typed lifecycle locally or against authenticated nika serve HTTP.

Editor extension

The editor extension, frozen at 0.120 and not qualified with 0.124: use nika lsp and the JSON Schema.

Homebrew tap

brew install supernovae-st/tap/nika for the latest tagged CLI release.

SuperNovae

The Paris studio crafting Nika. 🦋