# REPL Development

> Expert skill for building interactive REPLs with rich editing and evaluation features

- Skill: `majiayu000/repl-development` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/repl-development`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/repl-development/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/repl-development

---


# 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

1. **Line Editing**: Use established readline libraries for robust line editing
2. **Multi-line**: Detect incomplete expressions for multi-line input
3. **Completion**: Implement context-aware tab completion
4. **History**: Persist history across sessions
5. **Commands**: Provide useful meta-commands (:help, :type, :quit, etc.)

## Output Schema

```json
{
  "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" }
    }
  }
}
```

