- Python 36.4%
- TypeScript 26.5%
- Rust 13.8%
- HTML 11.6%
- Shell 7%
- Other 4.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| .woodpecker | ||
| .zed | ||
| assets/murmur | ||
| chacha_benchmark | ||
| config | ||
| data/audio/speech | ||
| docs | ||
| e2e | ||
| examples | ||
| experimental/kymata | ||
| forgejo-binaries | ||
| mindmap | ||
| nginx | ||
| packages | ||
| pretext@6d26ac09ee | ||
| scripts | ||
| services | ||
| templates/starter | ||
| tests/turboquant | ||
| tools | ||
| vendor | ||
| wgpu-bench | ||
| .env.shared | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .npmrc | ||
| .pnpmfile.cjs | ||
| .prettierignore | ||
| .prettierrc | ||
| .upstream-config.yaml | ||
| .woodpecker.yml | ||
| .workspace-optimized | ||
| add_k_smallest_post.py | ||
| advanced_benchmark_analysis.py | ||
| ahash-decompilation-report.md | ||
| analyze_benchmarks.py | ||
| analyze_dtolnay_dependencies.py | ||
| analyze_k_smallest_comparison.py | ||
| analyze_vendor_dependencies.py | ||
| analyze_vendor_dependencies_fast.py | ||
| analyze_vendor_dependencies_robust.py | ||
| benchmark_analysis.json | ||
| benchmark_results.txt | ||
| blitz-iter-integration.md | ||
| CHANGELOG.md | ||
| check_blog_post.py | ||
| check_missing_vendor_crates.py | ||
| comprehensive_vendor_analysis.json | ||
| comprehensive_vendor_analysis.py | ||
| config-forgejo.yaml | ||
| criterion_changes.rs | ||
| CRYPTGRAPHIC_STANDARDIZATION_PLAN.md | ||
| detailed_test.py | ||
| dtolnay_analysis_report.json | ||
| dtolnay_dependencies.png | ||
| dtolnay_spiderweb.png | ||
| dtolnay_spiderweb_analysis.py | ||
| dtolnay_spiderweb_improved.png | ||
| edit-prediction-iter-integration.md | ||
| editor-refactor-plan.md | ||
| fox-agent.md | ||
| fox-brand-analysis.json | ||
| fox-brand-history.json | ||
| k-smallest-demo-post.md | ||
| k_smallest_comparison.json | ||
| k_smallest_comparison_results.txt | ||
| k_smallest_heatmap.png | ||
| k_smallest_performance.png | ||
| k_smallest_speedup.png | ||
| k_smallest_summary.png | ||
| k_smallest_winner.png | ||
| k_smallest_winner_distribution.png | ||
| mappy-server-30s-flamegraph.svg | ||
| mappy-server-perf-script.txt | ||
| mappy-server-perf-structured.txt | ||
| nist-easter-special.md | ||
| package.json | ||
| package.json.shared | ||
| plot_k_smallest.py | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| proc-macro-boundaries.md | ||
| README.md | ||
| reynard-standard-rng-plan.md | ||
| REYNARD_BRANDING.md | ||
| SECURITY_AUDIT_REPORT.md | ||
| SERVICES_RANDOMNESS_AUDIT.md | ||
| solid2.md | ||
| SQLX_VENDOR_HARMONIZATION_PLAN.md | ||
| text-layout-integration-plan.md | ||
| text-layout-pretext-harmonization-plan.md | ||
| the-fox-developer.md | ||
| the-smallest-k_smallest.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| tsconfig.projects.json | ||
| tsconfig.shared.json | ||
| tsconfig.typecheck-base.json | ||
| turboquant.md | ||
| update_vendor_resolver.sh | ||
| vendor_analysis_final_summary.md | ||
| vendor_crates_test.sh | ||
| vendor_dependency_report.json | ||
| vendor_lint.sh | ||
| websocket-responses.md | ||
| wg-serve-pyo-mio.md | ||
| ws-blitz.md | ||
🦊 Reynard Monorepo
A SolidJS framework and ecosystem for building reactive web applications with AI services, authentication, and real-time collaboration.
Overview
Reynard is a monorepo containing a web development ecosystem built around SolidJS (custom vendored: solid-js 2.0.0-beta.5, solid-web 2.0.0-beta.5). It includes frontend packages, backend services, vendored Rust dependencies, AI integrations, and development tooling.
The monorepo has a structured architecture separating packages (TypeScript/SolidJS), services (Rust backend), vendor (vetted Rust dependencies), and examples. This enables shared tooling and integration testing across the stack.
Monorepo Architecture
graph TB
subgraph "Frontend Layer"
UI[packages/ui/*<br/>31 UI Packages]
CORE[packages/core/*<br/>18 Core Packages]
AI[packages/ai/*<br/>18 AI Packages]
GAMES[packages/games<br/>ECS, Physics, UI]
end
subgraph "Backend Services"
GK[services/gatekeeper<br/>Auth & RBAC]
MP[services/mappy<br/>Maplet Data Structures]
BL[services/blitz<br/>Code Editor]
SS[services/securestore<br/>Secret Management]
OTHER_SERVICES[13 Other Services]
end
subgraph "Vendor Dependencies"
RUST_VENDOR[vendor/*<br/>207 Vendored Crates]
SOLID_TP[packages/third_party<br/>SolidJS Ecosystem]
end
subgraph "Data & Media"
DATA[packages/data/*<br/>Repository & Scraping]
MEDIA[packages/media/*<br/>3D, Audio, Video]
end
subgraph "Dev Tools"
TOOLS[packages/dev-tools/*<br/>Build & Deploy]
CATALYST[catalyst<br/>Development Scripts]
end
subgraph "Applications"
EXAMPLES[examples/*<br/>4 Example Apps]
APPS[packages/apps/*<br/>8 Applications]
end
UI --> CORE
AI --> CORE
GAMES --> CORE
CORE --> SOLID_TP
GK --> RUST_VENDOR
MP --> RUST_VENDOR
BL --> RUST_VENDOR
SS --> RUST_VENDOR
EXAMPLES --> UI
EXAMPLES --> CORE
APPS --> UI
APPS --> AI
TOOLS --> CORE
TOOLS --> GK
style CORE fill:#e1f5ff
style GK fill:#e1ffe1
style MP fill:#fff4e1
style RUST_VENDOR fill:#ffe1f5
Package Ecosystem
Core Packages (18 packages)
Foundation utilities, composables, and framework primitives.
| Package | Purpose | Key Features |
|---|---|---|
reynard-core |
Framework foundation | 16+ composables, security module, HTTP clients |
reynard-monads |
Functional programming | Option, Result, Task monads, Kleisli composition |
reynard-algorithms |
Computational utilities | 40+ algorithms, spatial structures, pathfinding |
reynard-i18n |
Internationalization | 900+ translation keys, locale management |
reynard-composables |
Reactive utilities | SolidJS 2.x native action integration |
reynard-connection |
HTTP & telemetry | ApiClient, Mappy metrics integration |
reynard-auth-core |
Authentication base | JWT handling, session management |
reynard-auth-composables |
Auth integration | useAuth, permission-based rendering |
reynard-http-client |
Network layer | Request deduplication, caching, retries |
reynard-testing |
Test utilities | SolidJS testing helpers, mock factories |
reynard-validation |
Input validation | JSON schema validation, form validation |
reynard-settings |
Configuration | User preferences, feature flags |
reynard-features |
Feature flags | Toggle management, A/B testing support |
reynard-dynamic-enum |
Type system | Runtime enum generation |
reynard-config |
App configuration | Environment-based config loading |
reynard-selection-primitives |
Selection handling | Multi-select, range selection |
reynard-color-types |
Color system | OKLCH color utilities |
reynard-analytics |
Telemetry | Event tracking, metrics collection |
reynard-collaboration |
Real-time collab | Operational transforms, presence |
UI Packages (31 packages)
Component library with theming, animation, and specialized UI elements.
graph TB
subgraph "Component Hierarchy"
PRIM[reynard-primitives<br/>Base Components]
THEME[reynard-themes<br/>Theme System]
ICONS[reynard-fluent-icons<br/>Icon Library]
end
subgraph "Specialized UI"
CHARTS[reynard-charts<br/>Data Visualization]
FORMS[forms<br/>Form Controls]
EDITORS[codemirror<br/>monaco<br/>Code Editors]
ANIM[animation<br/>Transition Effects]
end
subgraph "Advanced Components"
DASH[dashboard<br/>Layout System]
KANBAN[kanban<br/>Board Component]
GRAPH[graphs<br/>Network Visualization]
DRAWING[drawing<br/>Canvas Tools]
end
THEME --> PRIM
ICONS --> PRIM
PRIM --> CHARTS
PRIM --> FORMS
PRIM --> EDITORS
ANIM --> PRIM
style PRIM fill:#e1f5ff
style THEME fill:#e1ffe1
AI Packages (18 packages)
AI/ML integration stack for computer vision, captioning, and model management.
| Package | Purpose |
|---|---|
reynard-annotating-core |
Base annotation primitives |
reynard-annotating-florence2 |
Florence2 model annotator |
reynard-annotating-joy |
Joy caption model annotator |
reynard-annotating-jtp2 |
JTP2 tag model annotator |
reynard-annotating-jtp3 |
JTP3 tag model annotator |
reynard-annotating-wdv3 |
WDV3 tag model annotator |
reynard-annotating-ui |
Annotation UI components |
reynard-caption |
Image captioning system |
reynard-caption-core |
Base captioning infrastructure |
reynard-caption-multimodal |
Multi-modal caption support |
reynard-caption-ui |
Captioning UI components |
reynard-model-management |
ML model lifecycle |
reynard-rag |
Retrieval-augmented generation |
reynard-multimodal |
Multi-modal AI integration |
reynard-comfy |
ComfyUI integration |
reynard-nlweb |
Natural language web interface |
reynard-responses |
AI response handling |
reynard-ai-shared |
Shared AI utilities |
Games Package
Modular game development system with ECS, physics, and UI components.
graph LR
ECS[reynard-games-ecs<br/>Entity-Component-System]
PHYS[reynard-games-physics<br/>Physics Engine]
GUI[reynard-games-ui<br/>Game UI Components]
HOWL[reynard-games-howler<br/>Audio System]
ECS --> PHYS
ECS --> GUI
PHYS --> GUI
HOWL --> GUI
style ECS fill:#e1f5ff
style PHYS fill:#fff4e1
Data & Media (17 packages)
Repository management, file processing, and multimedia handling.
| Category | Packages |
|---|---|
| Repository | repository-core, repository-multimodal, repository-search, repository-storage, unified-repository |
| File Processing | file-processing, scraping |
| 3D/Media | 3d, audio, video, image, image-service, shader-core, shader-audio, shader-dsl |
| AI Media | gallery, gallery-ai, gallery-dl, segmentation, boundingbox |
| Music | music |
Backend Services (17 services)
Rust services providing authentication, data structures, and specialized compute.
Core Services
| Service | Language | Purpose | Key Features |
|---|---|---|---|
| gatekeeper | Rust | Authentication & RBAC | JWT tokens, Argon2 hashing, PostgreSQL backend, SSH key auth |
| mappy | Rust | Probabilistic data structures | Maplets (space-efficient filters), 10-60M ops/sec, Python bindings |
| securestore | Rust | Secret management | AES-256-GCM encryption, PBKDF2 key derivation, systemd daemon |
| blitz | Rust | Code editor | Fork of Zed, 200+ crates, multiplayer editing, AI agent integration |
AI Services
| Service | Purpose |
|---|---|
| neuspell | Neural spell checking (Rust HTTP + Python inference) |
| nlp-gateway | NLP API gateway |
| murmur | Whisper-based transcription (Rust HTTP + Python inference) |
| voxy | Text-to-speech via VoxCPM (Rust HTTP + Python inference) |
| chatter | Chat backend with AI agents |
| stanza | Stanford NLP pipeline (Rust HTTP + Python inference) |
| jtp3 | Image tagging with JTP-3 Hydra model |
Infrastructure Services
| Service | Purpose |
|---|---|
| wg-serve | WireGuard-bound file server for internal dataset/ML transfer |
| blog-forge | Blog platform with NLP integration and SSG |
| agent-thread-feedback | Agent feedback pipeline for model training |
| blitz-webrtc-signaling | WebRTC coordination for Blitz multiplayer |
| ambiggy | Ambiguity resolution |
Blitz Code Editor (200+ crates)
Blitz is a fork of the Zed editor focused on local-first AI integration. It differs from upstream by:
- Using OpenAI-compatible Responses over a single websocket
- Making llama.cpp the primary inference backend
- Removing cloud provider integrations to reduce complexity
- Adding a native thread runtime for agent conversations
- Implementing systemd-run sandboxing for tool execution
- Providing an optional virtual filesystem for agent interactions
Key crate categories:
| Category | Crates |
|---|---|
| Core | blitz, gpui (UI framework), settings, workspace |
| Editor | editor, buffer_diff, multi_buffer, language, lsp |
| AI/Agent | agent, native_thread_runtime, language_model, edit_prediction |
| Terminal | terminal, terminal_view |
| Git | git, git_ui, git_graph, git_hosting_providers |
| Collaboration | collab, collab_ui, call, remote |
| Extensions | extension, extension_host, extension_api |
Service Architecture
graph TB
subgraph "Authentication Flow"
CLIENT[Client Application]
GK[Gatekeeper Server<br/>Port 8002 / Unix Socket]
POSTGRES[(PostgreSQL)]
SS[SecureStore<br/>Secret Storage]
CLIENT -->|Auth Request| GK
GK -->|Validate| POSTGRES
GK -->|Fetch Secrets| SS
GK -->|JWT Token| CLIENT
end
subgraph "Metrics Collection"
APP[Reynard App]
MAPPY[Mappy Server<br/>Port 8003]
PROXY[Mappy Proxy<br/>Port 8004]
APP -->|HTTP Metrics| PROXY
PROXY -->|Unix Socket| MAPPY
end
style GK fill:#e1f5ff
style MAPPY fill:#fff4e1
style SS fill:#e1ffe1
Vendor Dependencies (207 crates)
Vendored Rust dependencies for reproducible builds and security auditing.
Complete Crate List
Async Runtime (16) async-channel, async-compat, async-executor, async-fs, async-io, async-lock, async-net, async-pipe, async-process, async-trait, async-tungstenite, asynchronous-codec, atomic-waker, blocking, futures-lite, futures-rs
Cryptography (47) aeads, ahash, arbitrary, asn1-rs, base64, bit-vec, bitvec, block-ciphers, block-modes, bytemuck, crypto-bigint, crypto-formats, crypto-primes, crypto-utils, curve25519-dalek, digest, ecdsa, ed25519, elliptic-curves, faster-hex, generic-array, getrandom, hashes, heapless, hmac, hybrid-array, kdfs, macs, md-5, password-hashes, p256, p384, rand, rand_core, rand_distr, rcgen, ring, rsa, rngs, rustls, rustls-native-certs, rustls-pki-types, rustls-platform-verifier, sha1, sha2, sha3, signatures, subtle, universal-hashes, wycheproof, x509-parser, yasna, zeroize
Web & Networking (27) axum, bytes, h2, hickory-dns, http, http-body, hyper, hyper-rustls, hyper-tls, hyper-util, jsonwebtoken, mime (via reqwest), multra (patched), pin-project-lite, polling, reqwest, rust-url, serde, serde_json, slab, smol, smol-axum, smol-hyper, smol-macros, tokio, tokio-rustls, tokio-socks, tokio-tls, tokio-tungstenite, tower, tower-http, tungstenite, warp, webpki-roots
Data Serialization (8) bitcode, ciborium, csv (via image), json, postcard, serde, serde_json, toml
Database & Storage (7) dashmap, deadpool, redis (via vendor), rust-postgres, sled, sqlx
Graphics & Media (13) cavif-rs, flamegraph, gungraun, image, libyuv, plotters, rav1e, rgb (via image), svg (via image), tiff (via image), webp (via image), wgpu
Testing & Dev Tools (13) anes, anndists, cargo-show-asm, criterion, flamegraph, imara-diff, insta (via vendor), libfuzzer-sys, libtest-mimic, proptest (via vendor), quickcheck, test-case (via vendor), trybuild
System & OS (18) cc, cfg-if, chrono, crossbeam (via vendor), either, env_logger, glob, human_bytes, indexmap, itertools, itoa, jemalloc (via vendor), libc, memchr, memmap2, mio, nix (via vendor), once_cell, parking_lot, portable-atomic, portable-atomic-util, tempfile, thiserror, typenum, walkdir, zerocopy
Parser & Language (13) aho-corasick, bstr, ego-tree, html5ever, logos (via vendor), regex, rowan (via vendor), syn, tree-sitter-cpp, tree-sitter-git-rebase, tree-sitter-markdown, tree-sitter-python
Concurrency (7) crossbeam, dashmap, lock_api, once_cell, parking_lot, rayon, thread_local (via vendor)
Terminal & TUI (7) crossterm (via vendor), ratatui (via vendor), termcolor, termion (via vendor), tui (via vendor), tui-rs (via vendor), tui-textarea (via vendor)
Wasm & WebAssembly (5) wasm-bindgen (via vendor), wasm-tools, wasmtime, wit-bindgen
Search & NLP (4) tantivy, tiktoken-rs, unicode-normalization (via vendor), unicode-segmentation (via vendor)
Git & VCS (3) forgejo, git2, gix (via vendor)
LLM & AI (3) llama.cpp, rust-bert (via vendor), tokenizers (via vendor)
Other Tools (16) anyhow, clap, config, der, dotenvy, fastrand, num-bigint, num-derive, num-integer, num-iter, num-traits, oo7, pem-rfc7468, schemastore, time, uuid, zlib-rs
ZBus & IPC (1) zbus
ZeroMQ (1) zeromq
Notable Projects
- blitz: Fork of Zed editor
- wgpu: WebGPU implementation
- llama.cpp: Local LLM inference
- tantivy: Full-text search engine
- garou-harness: Benchmarking and analysis
- forgejo: Git hosting (Gitea fork)
- vecstore: Vector database
- woodpecker: CI/CD (Drone fork)
- docs.rs: Documentation hosting
- ripgrep: Fast grep implementation
Examples (4 applications)
Example applications demonstrating framework capabilities.
| Example | Purpose | Technologies |
|---|---|---|
| basic-app | Todo application | SolidJS 2.x, actions, optimistic updates, themes |
| ecommerce-tshirt-store | E-commerce demo | Cart management, product catalog, checkout |
| garou-harness-app | Benchmark UI | Performance visualization, dependency graphs |
| mappy-visualizer | Error tracking | Real-time metrics, SSE streaming, dashboard |
Example Architecture: basic-app
stateDiagram-v2
[*] --> Idle: User initiates action
Idle --> OptimisticUpdate: Action called
OptimisticUpdate --> PendingAPI: State updated optimistically
PendingAPI --> Success: API call succeeds
PendingAPI --> Failure: API call fails
Success --> Commit: Clear pending state
Failure --> Rollback: Revert optimistic update
Commit --> Idle: Show success notification
Rollback --> Idle: Show error notification
Development Tools (12 packages)
Tooling for building, deploying, and maintaining the monorepo.
| Package | Purpose |
|---|---|
| catalyst | Development automation scripts |
| deployment | Ansible-based deployment |
| dev-server-management | Local development servers |
| code-quality | Linting and validation |
| vscode-linting | VS Code extension |
| public-package-manager | NPM publishing automation |
| adr-system | Architecture Decision Records |
| dependency-graph | Dependency visualization |
| dependency-checker | Security scanning |
| project-architecture | Architecture documentation |
| reynard-config-generator | Config file generation |
| oklch-color-manager | Color system management |
| queue-watcher | CI/CD monitoring |
Installation
Prerequisites
- Node.js >= 25.2.1
- pnpm >= 10.33.0
- Rust >= 1.94.1
- Python >= 3.13.5
- Ansible >= 2.19.4
Quick Setup
# Clone the repository
git clone https://git.sly.so/kade/reynard
cd reynard
# Install dependencies (uses shared build setup)
pnpm install
# Build all packages
pnpm run build:fast
# Run tests
pnpm test
Service Setup
# Build all Rust services
cd services/gatekeeper && cargo build --release
cd ../mappy && cargo build --release
cd ../securestore && cargo build --release
# Or build specific service
cd services/gatekeeper && cargo build --release -p gatekeeper-server
Development Workflow
Package Development
# Start dev server for specific package
pnpm --filter reynard-core dev
# Run tests for specific package
pnpm --filter reynard-core test
# Type check
pnpm typecheck
# Lint
pnpm lint
Service Development
# Run Gatekeeper with memory backend (from services/gatekeeper/)
GATEKEEPER_SECRET_KEY=dev-key ./target/release/gatekeeper-server
# Run Mappy with HTTP enabled (from services/mappy/)
MAPPY_ENABLE_HTTP=true ./target/release/mappy-server
# Deploy with Ansible (from repo root)
cd packages/dev-tools/deployment/ansible
ansible-playbook -i inventory/hosts.yml playbooks/deploy-mappy.yml -l local -b
Workspace Commands
| Command | Purpose |
|---|---|
pnpm dev |
Start template dev server |
pnpm dev:backend |
Start Python backend |
pnpm dev:full |
Frontend + backend + API watch |
pnpm build:fast |
Fast workspace build |
pnpm test:coverage |
Full coverage report |
pnpm typecheck:full |
TypeScript checking |
pnpm lint:fix |
Auto-fix linting issues |
Key Technologies
Frontend Stack
- SolidJS (custom vendored: 2.0.0-beta.5): Reactivity framework
- TypeScript 6.0.2: Type system
- Vite 8.0.7: Build tooling
- Vitest: Unit testing
- Playwright: E2E testing
Backend Stack
- Rust: Systems programming
- Tokio: Async runtime
- Axum: Web framework
- SQLx: SQL toolkit
- PyO3: Python bindings
Vendor Philosophy
External Rust dependencies are vendored in vendor/ for:
- Reproducible builds: Exact versions locked
- Security auditing: Code review capability
- Offline builds: No external fetch required
- Patch management: Local fixes possible
Documentation Structure
docs/
├── architecture/ # System architecture docs
├── development/ # Developer guides
├── integrations/ # Third-party integrations
├── research/ # Research documents
├── solidjs/ # SolidJS-specific docs
├── turboquant/ # Quantitative analysis
├── guides/ # User guides
├── forgejo/ # Git hosting docs
└── deployment/ # Deployment guides
Key documentation files:
docs/overview.md- System overviewdocs/tutorial.md- Step-by-step tutorialdocs/packages.md- Package referencedocs/authentication.md- Auth system guidedocs/performance.md- Optimization guide
Testing Strategy
Frontend Testing
# Unit tests
pnpm --filter reynard-core test
# E2E tests
cd e2e && pnpm test
# Coverage
pnpm test:coverage
Service Testing
# Rust tests (run from service directory, e.g., services/gatekeeper/)
cargo test
# With coverage (requires cargo-tarpaulin: cargo install cargo-tarpaulin)
cargo tarpaulin
# Python bindings
pytest services/mappy/test_mappy_python.py
Testing Architecture
graph TB
subgraph "Test Layers"
UNIT[Unit Tests<br/>Vitest/Jest]
INT[Integration Tests<br/>Playwright]
E2E[E2E Tests<br/>Playwright]
end
subgraph "Test Types"
COMP[Component Tests]
COMPOSABLE[Composable Tests]
UTIL[Utility Tests]
SERVICE[Service Tests]
end
UNIT --> COMP
UNIT --> COMPOSABLE
UNIT --> UTIL
INT --> SERVICE
E2E --> SERVICE
style UNIT fill:#e1f5ff
style E2E fill:#e1ffe1
License
MIT License - see LICENSE file for details.
Related Resources
- CHANGELOG.md - Detailed change history
- REYNARD_BRANDING.md - Brand guidelines
- SECURITY_AUDIT_REPORT.md - Security audit
- docs/tutorial.md - Getting started guide
- docs/packages.md - Package documentation
For detailed information on specific packages or services, see their individual README files within their directories.