By bearcove
Claude skill for writing idiomatic Rust code and reviewing C-to-Rust ports with best practices.
npx claudepluginhub joshuarweaver/cascade-code-languages-misc-1 --plugin bearcove-pikruA Rust implementation of pikchr, a PIC-like diagram markup language for creating technical diagrams that generates SVG.
let svg = pikru::pikchr(r#"box "Hello" arrow box "World""#).unwrap();
assert!(svg.contains("<svg"));
Enable CSS variables for automatic light/dark theming:
use pikru::{pikchr_with_options, RenderOptions};
let options = RenderOptions { css_variables: true };
let svg = pikchr_with_options(r#"box "Hello""#, &options).unwrap();
assert!(svg.contains("light-dark("));
The generated SVG includes a <style> block with CSS variables using
light-dark(), so colors automatically adapt to the user's color scheme.
The test suite validates output against the original C implementation:
cargo test # Run all tests
cargo xtask compare-html # Generate visual comparison HTML
cargo xtask generate-pngs # Convert SVGs to PNGs for debugging
See comparison.html for a side-by-side visual comparison of C vs Rust output.
./hooks/install.sh
pikru is a direct Rust port of:
vendor/pikchr-c/ for reference.Also referenced during development:
Our CI runs on Depot hosted runners — huge thanks to Depot for sponsoring the compute that keeps the pikru test suite flying.
Thanks to all individual sponsors:
...along with corporate sponsors:
Licensed under either of:
at your option.
Persistent memory system for Claude Code - seamlessly preserve context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.
Fast and streamable Excalidraw MCP App