# Grimu-R **Grimu-R** is an open-source framework for mixed visual-textual dataflow scripting, combining interactive web-based visual editing with polyglot scripting runtime. ## Core Concepts **Weave**: A Git-friendly project representation containing the complete dataflow graph and layout **Braid**: Reusable modules/entry points that can be nested and serve as CLI subcommands or RPC methods **Sigil**: Basic building blocks - programs that act as data sources, sinks, or transformers **Scroll**: Defines runtime environment and default configuration for sigils (developed with Nix) **Inscription**: Dynamic scripts/templates stored in weaves, editable in the visual editor **Strand**: Connects reactive inputs/outputs with configurable cadence decorators **Schism/Aspect**: Splits weaves into deployable program collections **Loom**: Interactive weaving and execution tools ## Key Features - **Visual-textual editor**: Browser-based with immediate feedback and live code changes - **Reactive dataflow**: Granular configuration for push/pull, throttling, batching, backpressure - **Polyglot**: Real code blocks in familiar languages leveraging their ecosystems - **Nix-powered**: Reproducible builds and environments with minimal setup effort - **Malleable**: End users can inspect/modify dataflows using the same editor as developers - **Embeddable**: Builds to CLI tools, RPC servers, web apps, or containers - **Cross-language**: Structured data (JSON lines) connections between different runtimes ## Development Workflow 1. **Project setup**: Create Nix flake with Grimu-R base, enter dev shell 2. **Interactive weaving**: Use browser-based Loom editor to create braids, add sigils, connect with strands 3. **Modular development**: Factor out reusable braids, define custom scrolls, import/export as flake inputs/outputs 4. **Testing**: Run interactively in browser, define test data as static sigils, extract/execute via Loom CLI 5. **Deployment**: Define schisms with aspects, create bindings, build executables/containers ## Use Cases - Rapid prototyping of data processing pipelines - Self-hosted workflow automation - Custom dashboards with complex logic - Internal tooling and automation scripts - Hacker-friendly, highly customizable applications ## Positioning Takes the best from visual programming environments, script automation, and code notebooks while remaining developer-first. Avoids limitations of proprietary tools, brittleness of script bundles, and opacity of notebooks. ## Licensing - **Platform components** (Loom tools, weave executors): AGPL v3 - **Base scrolls and non-platform code**: MIT - AGPL applies to forks/extensions of platform code and SaaS deployments - Your weaves and applications using Grimu-R are not affected by AGPL terms ## Technical Notes - Development environment provisioned via Nix shell - Visual editor communicates over WebSocket - Changes stored in browser, exportable as files - Cross-language via structured data pipes (like Unix pipes with JSON) - Shared runtime dependencies managed by Nix - Malleability limited to client-side parts in client-server applications