CLI tooling for
code-aware agents.
Weaver turns semantic code operations into shell primitives. Query symbols structurally, pipe the matches through jq, and hand them to a rename – every command has one readable renderer and one stable --json contract, with Double-Lock and Birdcage constraining the risky parts.
Weaver is in active early development. These pages document the v0.1.0 target surface; the prototype grammar it replaces is not preserved.
Composable
One noun-verb grammar covers reading, querying, and changing code. Queries emit versioned selector streams that pipe through jq or straight into a mutation – the shell is the integration layer.
Safe
Block bad edits before they land. Double-Lock checks the change; Birdcage isolates untrusted tooling with seccomp-bpf and namespaces.
Security ModelFast
Keep state in a resident daemon instead of re-parsing on every call. Rust binaries stream JSONL over local IPC: Unix domain sockets by default on Unix, with loopback-only TCP retained for non-Unix prototype compatibility.
Daemon SpecsCommand Reference
Sempai Query Engine
Sempai powers weaver symbols list: Semgrep-shaped queries on a Tree-sitter spine, with explicit compatibility boundaries. Matches leave as versioned selector records that any consumer can trust.
- Bare structural patterns, an expression DSL, or Semgrep-style YAML rules – three explicit front doors, no guessing
- Rust, Python, TypeScript, and Go core; HCL optional. The first executable slice covers Rust, Python, and TypeScript
- Deterministic selector streams with spans, captures, and source digests – matches that survive the pipe
Documentation
Read the command, install, safety, and configuration references.
Read Docs →Roadmap
See which phases are shipped, which are planned, and which ideas remain directional.
View plan →GitHub
Read the source, track issues, and follow release work in the open.
Open repo →Community
Discord is not live yet. Use GitHub issues until the public channel opens.
Track updates →