bafishka
Bafishka - Fish Shell + Clojure File Operations
π Rust-native Fish shell-friendly file operations with Steel-backed SCI Clojure evaluation.
Repository
- Source: https://github.com/bmorphism/bafishka
- Language: Clojure (SCI) + Rust
- Seed: 1069 (deterministic)
Core Concept
Bafishka bridges Fish shell ergonomics with Clojure's data processing power:
# Fish shell with Clojure evaluation
baf '(map inc [1 2 3])' # => [2 3 4]
# File operations with Clojure
baf '(fs/glob "**/*.clj" | count)' # => 42
Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Bafishka β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ββββββββββββ ββββββββββββ ββββββββββββββββ β
β β Fish β β Steel β β SCI β β
β β Shell ββββΆβ (Rust) ββββΆβ (Clojure) β β
β ββββββββββββ ββββββββββββ ββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β Readline File I/O Data Xform β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Features
Steel Backend
Steel is a Rust Scheme implementation providing:
- Fast native execution
- Seamless Rust FFI
- Async I/O support
SCI Clojure
Small Clojure Interpreter for:
- Full Clojure core library
- REPL evaluation
- Babashka compatibility
Usage Examples
# List files with Clojure processing
baf '(->> (fs/list-dir ".")
(filter #(str/ends-with? % ".md"))
(map fs/file-name))'
# JSON processing
baf '(-> (slurp "data.json")
json/parse-string
:items
count)'
# With deterministic seed (1069)
baf '(gay/color 1069)' # Deterministic color
Integration with plurigrid/asi
With gay-mcp
;; File operations with color coding
(defn colored-ls [dir]
(->> (fs/list-dir dir)
(map (fn [f]
{:file f
:color (gay/color (hash f))}))))
With duckdb-ies
;; Query DuckDB from bafishka
(baf '(duck/query "SELECT * FROM files WHERE mtime > now() - interval 1 hour"))
Configuration
# ~/.config/fish/conf.d/bafishka.fish
set -gx BAF_SEED 1069
set -gx BAF_HISTORY ~/.baf_history
alias baf 'bafishka eval'
Related Skills
gay-mcp- Deterministic colorsduckdb-ies- Database integrationpolyglot-spi- Multi-language SPIabductive-repl- REPL patterns
More from plurigrid/asi
academic-research
Search academic papers across arXiv, PubMed, Semantic Scholar, bioRxiv, medRxiv, Google Scholar, and more. Get BibTeX citations, download PDFs, analyze citation networks. Use for literature reviews, finding papers, and academic research.
49wev-tesseract
WEV Tesseract Skill
33tree-sitter
AST-based code analysis using tree-sitter. Use for parsing code structure, extracting symbols, finding patterns with tree-sitter queries, analyzing complexity, and understanding code architecture. Supports Python, JavaScript, TypeScript, Go, Rust, C, C++, Swift, Java, Kotlin, Julia, and more.
21alife
Comprehensive Artificial Life skill combining ALIFE2025 proceedings, classic texts (Axelrod, Epstein-Axtell), ALIEN simulation, Lenia, NCA, swarm intelligence, and evolutionary computation. 337 pages extracted, 80+ papers, 153 figures.
16reverse-engineering
Reverse Engineering Skill
16bdd-mathematical-verification
BDD-Driven Mathematical Content Verification Skill
16