FakeDataDSL REPL Quick Reference
Command Aliases
| Alias | Full Command | Description |
|---|---|---|
g |
gen |
Generate JSON records |
t |
table |
Generate table-formatted output |
d |
debug |
Step-through debug generation |
i |
inspect |
Detailed record inspection |
l |
list |
List loaded schemas |
h |
help |
Show help |
q |
quit |
Exit REPL |
Common Commands
Loading Schemas
load schemas/ # Load all .dsl files from directory
load schemas/user.dsl # Load single file
Generating Data
gen User # Generate 1 record (JSON)
gen User 10 # Generate 10 records (JSON)
g User 100 # Using alias
table User # Generate 1 record (table view)
table User 5 # Generate 5 records (table view)
t User 20 # Using alias
Debugging
debug User # Step through field generation
d Order # Using alias
Inspection
inspect User # Detailed view with statistics
i User # Using alias
Configuration
seed 42 # Set seed for reproducibility
mode edge # Set generation mode
mode hostile # Security testing mode
Available modes: random, edge, invalid, hostile, mixed
Export to File
gen User 100 > users.json # Export JSON
table User 10 > users.txt # Export table
gen Order 50 > orders.json # Any schema works
Tab Completion
- Press
Tabto auto-complete commands - Press
Tabafter command to complete schema names - Arrow keys navigate command history
Generation Modes
| Mode | Description |
|---|---|
random |
Standard realistic data (default) |
edge |
Boundary values and edge cases |
invalid |
Invalid data for validation testing |
hostile |
Security payloads (SQL injection, XSS, etc.) |
mixed |
Combination: 80% random, 15% edge, 5% invalid |
Example Session
fake_data_dsl> load schemas/
✅ Loaded 5 schema(s)
fake_data_dsl> l
Loaded schemas:
- User
- Order
- Item
- Payment
- Address
fake_data_dsl> seed 42
✅ Seed set to 42
fake_data_dsl> g User
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "John Doe",
"email": "john.doe@example.com",
"age": 34
}
fake_data_dsl> t User 3
id │ name │ email │ age
─────────────────────────────────────┼───────────────┼──────────────────────────┼─────
550e8400-e29b-41d4-a716-446655440000 │ John Doe │ john.doe@example.com │ 34
6ba7b810-9dad-11d1-80b4-00c04fd430c8 │ Jane Smith │ jane.smith@example.com │ 28
6ba7b811-9dad-11d1-80b4-00c04fd430c8 │ Bob Wilson │ bob.wilson@example.com │ 45
fake_data_dsl> g User 100 > users.json
✅ Exported to users.json (12450 bytes)
fake_data_dsl> mode hostile
✅ Mode set to hostile
fake_data_dsl> g User
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "' OR '1'='1",
"email": "<script>alert('XSS')</script>@test.com",
"age": 2147483647
}
fake_data_dsl> q
Goodbye!
Tips
- Deterministic Output: Use
seed <number>before generating to get reproducible results - Quick Testing: Use
talias for fast visual inspection - Bulk Export: Use
>to save large datasets to files - Security Testing: Use
mode hostileto generate attack payloads - Debug Issues: Use
dto step through generation field-by-field
Error Recovery
If you mistype a command or schema name, the REPL will suggest corrections:
fake_data_dsl> gen Usr
❌ Schema 'Usr' not found
Did you mean: User?
fake_data_dsl> tabl User
Unknown command: tabl
Did you mean: table?