janet

Installation
SKILL.md

Janet Style Guide

This skill guides the generation of idiomatic Janet code covering functional patterns, performance tradeoffs, common gotchas, and Janet-specific idioms.

Core Principles

Functional Style by Default

  • Always prefer functional style unless there is a clear performance penalty or tradeoff
  • Use imperative/mutable approaches only when performance demands it (large collections, hot paths, string building)
  • When mutation is used for performance, document why and keep scope limited

Prefer let Over Sequential def

Use let to group related bindings instead of sequential def statements:

# Good - let groups bindings clearly
(defn process [data]
  (let [items (data :items)
        count (length items)
        filtered (filter valid? items)]
Related skills
Installs
10
First Seen
Feb 28, 2026