Babysitter REPL Development
Expert skill for building interactive REPLs with rich editing and evaluation features
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/programming-languages/skills/repl-development" ~/.claude/skills/a5c-ai-babysitter-repl-development && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/repl-development/SKILL.mdsource content
REPL Development Skill
Overview
Expert skill for building interactive REPLs with rich editing and evaluation features.
Capabilities
- Implement readline integration with history
- Handle multi-line input detection
- Implement tab completion for identifiers
- Design incremental compilation for REPL
- Handle top-level expression evaluation
- Implement persistent REPL state
- Design pretty-printing for values
- Support special REPL commands (:help, :type, etc.)
Target Processes
- repl-development.js
- interpreter-implementation.js
- lsp-server-implementation.js
Dependencies
- rustyline
- readline libraries
- linenoise
Usage Guidelines
- Line Editing: Use established readline libraries for robust line editing
- Multi-line: Detect incomplete expressions for multi-line input
- Completion: Implement context-aware tab completion
- History: Persist history across sessions
- Commands: Provide useful meta-commands (:help, :type, :quit, etc.)
Output Schema
{ "type": "object", "properties": { "lineLibrary": { "type": "string", "enum": ["readline", "rustyline", "linenoise", "custom"] }, "features": { "type": "array", "items": { "type": "string" } }, "commands": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } } } }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }