| name | REPL Development |
| description | Expert skill for building interactive REPLs with rich editing and evaluation features |
| category | Tooling |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:programming-languages"],"skillAreas":["skill-area:compiler-implementation","skill-area:language-design"],"roles":["role:backend-engineer"]} |
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",